diff --git a/Makefile b/Makefile index be669df..cd90d86 100644 --- a/Makefile +++ b/Makefile @@ -186,7 +186,7 @@ fullint: lint mdlint ## Run all checks (removed: old-lint, tslint, flow) .PHONY: lint lint: $(TARGET) $(AUXTARGETS) ## Run eslint checks - @./node_modules/.bin/eslint --ext .js,.njs,.json,.html,.htm $(TARGET) $(AUXTARGETS) $(CMDS) $(HTMLLINT) package.json bower.json + @./node_modules/.bin/eslint --ext .js,.njs,.json,.html,.htm $(FLOWTARGET) $(AUXTARGETS) $(CMDS) $(HTMLLINT) package.json bower.json @if [ -x "$(CLOSURE)" ]; then java -jar $(CLOSURE) $(REQS) $(FLOWTARGET) --jscomp_warning=reportUnknownTypes >/dev/null; fi .PHONY: old-lint diff --git a/README.md b/README.md index ee96f27..1749f0d 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ The [`demos` directory](demos/) includes sample projects for: - [`canvas-datagrid`](demos/datagrid/) - [`x-spreadsheet`](demos/xspreadsheet/) - [`react-data-grid`](demos/react/modify/) +- [`vue3-table-light`](demos/vue/modify/) - [`Swift JSC and other engines`](demos/altjs/) - [`"serverless" functions`](demos/function/) - [`internet explorer`](demos/oldie/) @@ -1831,6 +1832,14 @@ export default function App() { +
+ Previewing data in a VueJS data grid (click to show) + +[`vue3-table-lite`](https://github.com/linmasahiro/vue3-table-lite) is a simple +VueJS 3 data table. It is featured [in the VueJS demo](/demos/vue/modify/). + +
+
Populating a database (SQL or no-SQL) (click to show) diff --git a/bits/00_header.js b/bits/00_header.js index acd0919..b528ac0 100644 --- a/bits/00_header.js +++ b/bits/00_header.js @@ -1,6 +1,6 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, Deno:false */ +/*global exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ diff --git a/bits/01_version.js b/bits/01_version.js index 15145ba..4219de1 100644 --- a/bits/01_version.js +++ b/bits/01_version.js @@ -1 +1 @@ -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; diff --git a/bits/18_cfb.js b/bits/18_cfb.js index 0d08b55..7f6f6c2 100644 --- a/bits/18_cfb.js +++ b/bits/18_cfb.js @@ -21,7 +21,7 @@ declare var Buffer_from:any; /* vim: set ts=2: */ /*jshint eqnull:true */ /*exported CFB */ -/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */ +/*global Uint8Array:false, Uint16Array:false */ /*:: type SectorEntry = { diff --git a/bits/20_jsutils.js b/bits/20_jsutils.js index 6164bcc..79da28c 100644 --- a/bits/20_jsutils.js +++ b/bits/20_jsutils.js @@ -129,8 +129,7 @@ function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length /* TODO: stress test */ function fuzzynum(s/*:string*/)/*:number*/ { var v/*:number*/ = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); diff --git a/bits/22_xmlutils.js b/bits/22_xmlutils.js index 32db4b0..ac2a687 100644 --- a/bits/22_xmlutils.js +++ b/bits/22_xmlutils.js @@ -81,7 +81,7 @@ var xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() { function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; })(); -function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; +function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value/*:any*/)/*:boolean*/ { switch(value) { diff --git a/bits/30_ctype.js b/bits/30_ctype.js index 9ecaca1..d15aa56 100644 --- a/bits/30_ctype.js +++ b/bits/30_ctype.js @@ -94,10 +94,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", diff --git a/bits/31_rels.js b/bits/31_rels.js index 48f9918..8b5b12a 100644 --- a/bits/31_rels.js +++ b/bits/31_rels.js @@ -17,7 +17,7 @@ var RELS = ({ STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", - CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", WS: [ "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", diff --git a/bits/41_lotus.js b/bits/41_lotus.js index 5333490..6c805aa 100644 --- a/bits/41_lotus.js +++ b/bits/41_lotus.js @@ -373,10 +373,10 @@ var WK_ = /*#__PURE__*/(function() { V = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V); return (rel ? "" : "$") + (col ? encode_col(V) : encode_row(V)); } - var oprec = [ + /* var oprec = [ 8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3, 3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8 - ]; + ]; */ /* TODO: flesh out */ var FuncTab = { 0x33: ["FALSE", 0], @@ -390,10 +390,10 @@ var WK_ = /*#__PURE__*/(function() { 0x6F: ["T", 1] }; var BinOpTab = [ - "", "", "", "", "", "", "", "", - "", "+", "-", "*", "/", "^", "=", "<>", - "<=", ">=", "<", ">", "", "", "", "", - "&", "", "", "", "", "", "", "" + "", "", "", "", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "", "+", "-", "*", "/", "^", "=", "<>", // eslint-disable-line no-mixed-spaces-and-tabs + "<=", ">=", "<", ">", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "&", "", "", "", "", "", "", "" // eslint-disable-line no-mixed-spaces-and-tabs ]; function wk1_fmla_to_csf(blob, o) { @@ -592,7 +592,7 @@ var WK_ = /*#__PURE__*/(function() { if(!opts.qpro || length < 21) return; var id = blob.read_shift(1); blob.l += 17; - var len = blob.read_shift(1); + blob.l += 1; //var len = blob.read_shift(1); blob.l += 2; var nm = blob.read_shift(length - 21, 'cstr'); return [id, nm]; diff --git a/bits/48_stybin.js b/bits/48_stybin.js index fc7f2e5..8681c92 100644 --- a/bits/48_stybin.js +++ b/bits/48_stybin.js @@ -102,7 +102,7 @@ var XLSBFillPTNames = [ "gray125", "gray0625" ]; -var rev_XLSBFillPTNames/*:EvertNumType*/ +var rev_XLSBFillPTNames/*:EvertNumType*/; /* TODO: gradient fill representation */ var parse_BrtFill = parsenoop; function write_BrtFill(fill, o) { diff --git a/bits/51_xlsbmeta.js b/bits/51_xlsbmeta.js index 903dd5a..efae5e4 100644 --- a/bits/51_xlsbmeta.js +++ b/bits/51_xlsbmeta.js @@ -12,7 +12,7 @@ function write_BrtMdtinfo(data) { write_XLWideString(data.name, o); return o.slice(0, o.l); } -function parse_BrtMdb(data, length) { +function parse_BrtMdb(data) { var out = []; var cnt = data.read_shift(4); while (cnt-- > 0) @@ -34,7 +34,7 @@ function write_BrtBeginEsfmd(cnt, name) { write_XLWideString(name, o); return o.slice(0, o.l); } -function parse_BrtBeginEsmdb(data, length) { +function parse_BrtBeginEsmdb(data) { data.l += 4; return data.read_shift(4) != 0; } @@ -49,7 +49,7 @@ function parse_xlmeta_bin(data, name, _opts) { var opts = _opts || {}; var state = []; var pass = false; - var esmdb = 0; + var metatype = 2; recordhopper(data, function(val, R, RT) { switch (RT) { case 335: @@ -57,11 +57,17 @@ function parse_xlmeta_bin(data, name, _opts) { break; case 51: val.forEach(function(r) { - (esmdb == 1 ? out.Cell : out.Value).push({ type: out.Types[r[0] - 1].name, index: r[1] }); + if (metatype == 1) + out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + else if (metatype == 0) + out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); }); break; case 337: - esmdb = val ? 1 : 0; + metatype = val ? 1 : 0; + break; + case 338: + metatype = 2; break; case 35: state.push(RT); diff --git a/bits/51_xlsxmeta.js b/bits/51_xlsxmeta.js index 30ad251..a647c88 100644 --- a/bits/51_xlsxmeta.js +++ b/bits/51_xlsxmeta.js @@ -3,8 +3,8 @@ function parse_xlmeta_xml(data, name, opts) { if (!data) return out; var pass = false; - var metatype = ""; - data.replace(tagregex, function(x, idx) { + var metatype = 2; + data.replace(tagregex, function(x) { var y = parsexmltag(x); switch (strip_ns(y[0])) { case "": break; case "": break; case "": - metatype = ""; + metatype = 2; break; case "": - metatype = ""; + metatype = 2; break; case "": diff --git a/bits/56_cmntcommon.js b/bits/56_cmntcommon.js index b87de5e..c87f857 100644 --- a/bits/56_cmntcommon.js +++ b/bits/56_cmntcommon.js @@ -29,7 +29,7 @@ function sheet_insert_comments(sheet, comments/*:Array*/, threaded/* if(!threaded && cell.c[i].T) return; if(threaded && !cell.c[i].T) cell.c.splice(i, 1); } - if(threaded && people) for(var i = 0; i < people.length; ++i) { + if(threaded && people) for(i = 0; i < people.length; ++i) { if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } } cell.c.push(o); diff --git a/bits/57_cmntxml.js b/bits/57_cmntxml.js index 7e11c39..1471a28 100644 --- a/bits/57_cmntxml.js +++ b/bits/57_cmntxml.js @@ -135,8 +135,8 @@ function write_tcmnt_xml(comments, people, opts) { /* [MS-XLSX] 2.1.18 */ function parse_people_xml(data/*:string*/, opts) { var out = []; - var pass = false, tidx = 0; - data.replace(tagregex, function xml_tcmnt(x, idx) { + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { var y/*:any*/ = parsexmltag(x); switch(strip_ns(y[0])) { case '")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { diff --git a/bits/75_xlml.js b/bits/75_xlml.js index 3d112a7..e837768 100644 --- a/bits/75_xlml.js +++ b/bits/75_xlml.js @@ -180,7 +180,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { var state = [], tmp; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = ""; - var table = {}, cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars + var cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars var dtag = xlml_parsexmltag(''), didx = 0; var c = 0, r = 0; var refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; @@ -305,7 +305,6 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} else if(Rn[0].slice(-2) == "/>") break; else { - table = xlml_parsexmltag(Rn[0]); state.push([Rn[3], false]); cstys = []; seencol = false; } diff --git a/bits/76_xls.js b/bits/76_xls.js index afb1aca..e2e03fb 100644 --- a/bits/76_xls.js +++ b/bits/76_xls.js @@ -181,8 +181,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var merges/*:Array*/ = []; var objects = []; var colinfo/*:Array*/ = [], rowinfo/*:Array*/ = []; - // eslint-disable-next-line no-unused-vars - var defwidth = 0, defheight = 0; // twips / MDW respectively var seencol = false; var supbooks = ([]/*:any*/); // 1-indexed, will hold extern names supbooks.SheetNames = opts.snames; @@ -227,7 +225,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { /*:: val = (val:any); */ if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue; switch(RecordType) { - /* Workbook Options */ case 0x0022 /* Date1904 */: /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; @@ -240,7 +237,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!val.valid) throw new Error("Password is incorrect"); break; case 0x005c /* WriteAccess */: opts.lastuser = val; break; - case 0x005b /* FileSharing */: break; //TODO case 0x0042 /* CodePage */: var cpval = Number(val); /* overrides based on test cases */ @@ -254,10 +250,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { break; case 0x013d /* RRTabId */: opts.rrtabid = val; break; case 0x0019 /* WinProtect */: opts.winlocked = val; break; - case 0x0060 /* Template */: break; // TODO - case 0x00da /* BookBool */: break; // TODO - case 0x0160 /* UsesELFs */: break; - case 0x089a /* MTRSettings */: break; case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break; case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break; case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break; @@ -266,7 +258,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break; case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break; case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1 - case 0x005e /* Uncalced */: break; case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break; case 0x0081 /* WsBool */: if(val.fDialog) out["!type"] = "dialog"; @@ -275,11 +266,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { break; // TODO case 0x00e0 /* XF */: XFs.push(val); break; - case 0x00ff /* ExtSST */: break; // TODO - case 0x0863 /* BookExt */: break; // TODO - case 0x08a6 /* RichTextStream */: break; - case 0x00e9 /* BkHim */: break; - case 0x01ae /* SupBook */: supbooks.push([val]); supbooks[supbooks.length-1].XTI = []; @@ -287,7 +273,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x0023: case 0x0223 /* ExternName */: supbooks[supbooks.length-1].push(val); break; - case 0x000b: case 0x020b /* Index */: break; // TODO case 0x0018: case 0x0218 /* Lbl */: last_lbl = ({ Name: val.Name, @@ -310,11 +295,8 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(opts.biff < 8) break; if(last_lbl != null) last_lbl.Comment = val[1]; break; - case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */ case 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; - case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: break; /*TODO: Revision Control*/ - case 0x0085 /* BoundSheet8 */: { Directory[val.pos] = val; opts.snames.push(val.name); @@ -380,11 +362,9 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { objects = []; opts.arrayf = arrayf = []; colinfo = []; rowinfo = []; - defwidth = defheight = 0; seencol = false; wsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet }; } break; - case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); @@ -538,8 +518,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(cc && cc.l) cc.l.Tooltip = val[1]; } } break; - - /* Comments */ case 0x001c /* Note */: { if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ cc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; @@ -560,13 +538,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { cmnt = {a:val[1],t:noteobj.TxO.t}; cc.c.push(cmnt); } break; - - case 0x105c /* ClrtClient */: break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; - - case 0x0055 /* DefColWidth */: defwidth = val; break; - case 0x0225 /* DefaultRowHeight */: defheight = val[1]; break; // TODO: flags - case 0x007d /* ColInfo */: { if(!opts.cellStyles) break; while(val.e >= val.s) { @@ -584,7 +556,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { rowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt); } } break; - case 0x0026 /* LeftMargin */: case 0x0027 /* RightMargin */: case 0x0028 /* TopMargin */: @@ -592,161 +563,126 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'][({0x26: "left", 0x27:"right", 0x28:"top", 0x29:"bottom"})[RecordType]] = val; break; - - case 0x001d /* Selection */: break; - case 0x00a1 /* Setup */: // TODO if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'].header = val.header; out['!margins'].footer = val.footer; break; - case 0x023e /* Window2 */: // TODO // $FlowIgnore if(val.RTL) Workbook.Views[0].RTL = true; break; - - case 0x0014 /* Header */: // TODO - case 0x0015 /* Footer */: // TODO - case 0x0083 /* HCenter */: // TODO - case 0x0084 /* VCenter */: // TODO - case 0x004d /* Pls */: // TODO - case 0x00ab /* GCW */: - case 0x0094 /* LHRecord */: - case 0x00d7 /* DBCell */: // TODO - case 0x01c2 /* EntExU2 */: // TODO - case 0x00b0 /* SxView */: // TODO - case 0x00b1 /* Sxvd */: // TODO - case 0x00b2 /* SXVI */: // TODO - case 0x0100 /* SXVDEx */: // TODO - case 0x00b4 /* SxIvd */: // TODO - case 0x00cd /* SXString */: // TODO - case 0x0097 /* Sync */: - case 0x0087 /* Addin */: - case 0x00c5 /* SXDI */: // TODO - case 0x00b5 /* SXLI */: // TODO - case 0x00f1 /* SXEx */: // TODO - case 0x0802 /* QsiSXTag */: // TODO - case 0x0868 /* Feat */: - case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: - case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: break; - case 0x008c /* Country */: country = val; break; - case 0x01c1 /* RecalcId */: - case 0x0099 /* DxGCol */: // TODO: htmlify - case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: - case 0x0031 /* Font */: // TODO - case 0x087c /* XFCRC */: // TODO - case 0x0293 /* Style */: // TODO - case 0x0892 /* StyleExt */: break; // TODO case 0x0092 /* Palette */: palette = val; break; case 0x0896 /* Theme */: themes = val; break; - /* Protection */ - case 0x00dd /* ScenarioProtect */: - case 0x0063 /* ObjProtect */: break; - - /* Conditional Formatting */ - case 0x0879 /* CondFmt12 */: - - /* Table */ - case 0x0236 /* Table */: // TODO - case 0x088e /* TableStyles */: // TODO - case 0x088f /* TableStyle */: // TODO - case 0x0890 /* TableStyleElement */: // TODO - - /* PivotTable */ - case 0x00d5 /* SXStreamID */: // TODO - case 0x00e3 /* SXVS */: // TODO - case 0x0051 /* DConRef */: // TODO - case 0x0864 /* SXAddl */: // TODO - case 0x01b5 /* DConBin */: // TODO - case 0x0052 /* DConName */: // TODO - case 0x00b6 /* SXPI */: // TODO - case 0x00fb /* SxFormat */: // TODO - case 0x00f7 /* SxSelect */: // TODO - case 0x00f0 /* SxRule */: // TODO - case 0x00f2 /* SxFilt */: // TODO - case 0x00f5 /* SxItm */: // TODO - case 0x00f4 /* SxDXF */: // TODO - - /* Scenario Manager */ - case 0x00ae /* ScenMan */: - - /* Data Consolidation */ - case 0x0050 /* DCon */: - - /* Watched Cell */ - case 0x086c /* CellWatch */: - - /* Print Settings */ - case 0x002a /* PrintRowCol */: - case 0x002b /* PrintGrid */: - case 0x0033 /* PrintSize */: - - case 0x0059 /* XCT */: - case 0x005a /* CRN */: - - case 0x00a0 /* Scl */: { - //console.log("Zoom Level:", val[0]/val[1],val); - } - case 0x0862 /* SheetExt */: { - /* empty */ - } - - /* VBA */ - case 0x01bd /* ObNoMacros */: { - /* empty */ - } - case 0x00d3 /* ObProj */: { - /* empty */ - } + case 0x008c /* Country */: country = val; break; case 0x01ba /* CodeName */: { /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; else wsprops.CodeName = val || wsprops.name; - } - case 0x0897 /* GUIDTypeLib */: { - /* empty */ - } - - case 0x080b /* WOpt */: // TODO: WTF? + } break; + case 0x0055 /* DefColWidth */: + case 0x0225 /* DefaultRowHeight */: + case 0x005e /* Uncalced */: + case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: /*TODO: Revision Control*/ + case 0x005b /* FileSharing */: + case 0x00ff /* ExtSST */: + case 0x0863 /* BookExt */: + case 0x08a6 /* RichTextStream */: + case 0x00e9 /* BkHim */: + case 0x0060 /* Template */: + case 0x00da /* BookBool */: + case 0x0160 /* UsesELFs */: + case 0x089a /* MTRSettings */: + case 0x000b: case 0x020b /* Index */: + case 0x105c /* ClrtClient */: + case 0x001d /* Selection */: + case 0x0014 /* Header */: + case 0x0015 /* Footer */: + case 0x0083 /* HCenter */: + case 0x0084 /* VCenter */: + case 0x004d /* Pls */: + case 0x00ab /* GCW */: + case 0x0094 /* LHRecord */: + case 0x00d7 /* DBCell */: + case 0x01c2 /* EntExU2 */: + case 0x00b0 /* SxView */: + case 0x00b1 /* Sxvd */: + case 0x00b2 /* SXVI */: + case 0x0100 /* SXVDEx */: + case 0x00b4 /* SxIvd */: + case 0x00cd /* SXString */: + case 0x0097 /* Sync */: + case 0x0087 /* Addin */: + case 0x00c5 /* SXDI */: + case 0x00b5 /* SXLI */: + case 0x00f1 /* SXEx */: + case 0x0802 /* QsiSXTag */: + case 0x0868 /* Feat */: + case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: + case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: + case 0x01c1 /* RecalcId */: + case 0x0099 /* DxGCol */: + case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: + case 0x0031 /* Font */: + case 0x087c /* XFCRC */: + case 0x0293 /* Style */: + case 0x0892 /* StyleExt */: + case 0x00dd /* ScenarioProtect */: + case 0x0063 /* ObjProtect */: + case 0x0879 /* CondFmt12 */: + case 0x0236 /* Table */: + case 0x088e /* TableStyles */: + case 0x088f /* TableStyle */: + case 0x0890 /* TableStyleElement */: + case 0x00d5 /* SXStreamID */: + case 0x00e3 /* SXVS */: + case 0x0051 /* DConRef */: + case 0x0864 /* SXAddl */: + case 0x01b5 /* DConBin */: + case 0x0052 /* DConName */: + case 0x00b6 /* SXPI */: + case 0x00fb /* SxFormat */: + case 0x00f7 /* SxSelect */: + case 0x00f0 /* SxRule */: + case 0x00f2 /* SxFilt */: + case 0x00f5 /* SxItm */: + case 0x00f4 /* SxDXF */: + case 0x00ae /* ScenMan */: + case 0x0050 /* DCon */: + case 0x086c /* CellWatch */: + case 0x002a /* PrintRowCol */: + case 0x002b /* PrintGrid */: + case 0x0033 /* PrintSize */: + case 0x0059 /* XCT */: + case 0x005a /* CRN */: + case 0x00a0 /* Scl */: + case 0x0862 /* SheetExt */: + case 0x01bd /* ObNoMacros */: + case 0x00d3 /* ObProj */: + case 0x0897 /* GUIDTypeLib */: + case 0x080b /* WOpt */: case 0x00ef /* PhoneticInfo */: - case 0x00de /* OleObjectSize */: - - /* Differential Formatting */ case 0x088d /* DXF */: - - /* Data Validation */ case 0x01be /* Dv */: case 0x01b2 /* DVal */: - - /* Data Series */ - case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: break; - - /* Data Connection */ + case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: case 0x0876 /* DConn */: case 0x00dc /* DbOrParamQry */: case 0x0803 /* DBQueryExt */: - case 0x080a /* OleDbConn */: case 0x0804 /* ExtString */: - - /* Formatting */ case 0x104e /* IFmtRecord */: case 0x01b0 /* CondFmt */: case 0x01b1 /* CF */: case 0x087a /* CF12 */: case 0x087b /* CFEx */: - - /* Explicitly Ignored */ case 0x01c0 /* Excel9File */: case 0x1001 /* Units */: case 0x00e1 /* InterfaceHdr' */: case 0x00c1 /* Mms */: case 0x00e2 /* InterfaceEnd */: case 0x0161 /* DSF */: case 0x009c /* BuiltInFnGroupCount */: /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break; - /* View Stuff */ case 0x003d /* Window1 */: case 0x008d /* HideObj */: case 0x0082 /* GridSet */: case 0x0080 /* Guts */: - case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01aa /* UserSViewEnd */: + case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01ab /* UserSViewEnd */: case 0x0041 /* Pane */: - /* Chart */ case 0x1063 /* Dat */: - case 0x1033 /* Begin */: case 0x1033 /* End */: - case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: break; + case 0x1033 /* Begin */: case 0x1034 /* End */: + case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: case 0x1032 /* Frame */: case 0x101a /* Area */: case 0x101d /* Axis */: case 0x1021 /* AxisLine */: case 0x101e /* Tick */: case 0x1046 /* AxesUsed */: @@ -767,69 +703,41 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x1050 /* AlRuns */: case 0x1027 /* ObjectLink */: case 0x1065 /* SIIndex */: case 0x100c /* AttachedLabel */: case 0x0857 /* YMult */: - - /* Chart Group */ case 0x1018 /* Line */: case 0x1017 /* Bar */: case 0x103f /* Surf */: - - /* Axis Group */ case 0x1041 /* AxisParent */: case 0x104f /* Pos */: case 0x101f /* ValueRange */: - - /* Pivot Chart */ - case 0x0810 /* SXViewEx9 */: // TODO + case 0x0810 /* SXViewEx9 */: case 0x0858 /* SXViewLink */: case 0x0859 /* PivotChartBits */: case 0x1048 /* SBaseRef */: case 0x08a5 /* TextPropsStream */: - - /* Chart Misc */ case 0x08c9 /* LnExt */: case 0x08ca /* MkrExt */: case 0x08cb /* CrtCoopt */: - - /* Query Table */ - case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0802 /* QsiSXTag */: + case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0805 /* TxtQry */: - - /* Filter */ case 0x009b /* FilterMode */: case 0x009e /* AutoFilter */: case 0x009d /* AutoFilterInfo */: case 0x087e /* AutoFilter12 */: case 0x0874 /* DropDownObjIds */: case 0x0090 /* Sort */: case 0x0895 /* SortData */: - - /* Drawing */ case 0x08a4 /* ShapePropsStream */: case 0x00ec /* MsoDrawing */: case 0x00eb /* MsoDrawingGroup*/: case 0x00ed /* MsoDrawingSelection */: - /* Pub Stuff */ case 0x0801 /* WebPub */: case 0x08c0 /* AutoWebPub */: - - /* Print Stuff */ case 0x089c /* HeaderFooter */: case 0x0866 /* HFPicture */: case 0x088b /* PLV */: case 0x001b /* HorizontalPageBreaks */: case 0x001a /* VerticalPageBreaks */: - /* Behavioral */ case 0x0040 /* Backup */: case 0x089b /* CompressPictures */: case 0x088c /* Compat12 */: - - /* Should not Happen */ case 0x003c /* 'Continue' */: case 0x087f /* 'ContinueFrt12' */: - - /* Future Records */ case 0x085a /* FrtFontList */: case 0x0851 /* 'FrtWrapper' */: - - /* BIFF5 records */ case 0x00ea /* TabIdConf */: case 0x103e /* Radar */: case 0x1040 /* RadarArea */: case 0x103d /* DropBar */: case 'Intl': case 'CoordList': case 'SerAuxErrBar': - - /* BIFF2-4 records */ case 0x0045 /* BIFF2FONTCLR */: case 0x001f /* BIFF2FMTCNT */: case 0x0032 /* BIFF2FONTXTRA */: case 0x0043 /* BIFF2XF */: case 0x0243 /* BIFF3XF */: case 0x0443 /* BIFF4XF */: case 0x0044 /* BIFF2XFINDEX */: case 0x0056 /* BIFF4FMTCNT */: case 0x0008 /* BIFF2ROW */: case 0x003e /* BIFF2WINDOW2 */: - - /* Miscellaneous */ - case 0x00af /* SCENARIO */: case 0x01b5 /* DConBin */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: + case 0x00af /* SCENARIO */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: case 0x01b9 /* Lel */: case 0x1061 /* BopPop */: case 0x1067 /* BopPopCustom */: case 0x0813 /* RealTimeData */: case 0x0095 /* LHNGraph */: case 0x009a /* FnGroupName */: case 0x00c2 /* AddMenu */: case 0x0098 /* LPr */: case 0x08c1 /* ListObj */: case 0x08c2 /* ListField */: diff --git a/bits/78_writebiff.js b/bits/78_writebiff.js index 30b830d..7305930 100644 --- a/bits/78_writebiff.js +++ b/bits/78_writebiff.js @@ -163,7 +163,7 @@ function write_ws_biff8_hlinks(ba/*:BufArray*/, ws) { delete ws['!links']; } -function write_ws_cols_biff8(ba, cols, ws) { +function write_ws_cols_biff8(ba, cols) { if(!cols) return; var cnt = 0; cols.forEach(function(col, idx) { @@ -236,7 +236,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { write_biff_rec(ba, 0x0083 /* HCenter */, writebool(false)); write_biff_rec(ba, 0x0084 /* VCenter */, writebool(false)); /* ... */ - if(b8) write_ws_cols_biff8(ba, ws["!cols"], ws); + if(b8) write_ws_cols_biff8(ba, ws["!cols"]); /* ... */ write_biff_rec(ba, 0x200, write_Dimensions(range, opts)); /* ... */ @@ -387,7 +387,7 @@ function write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { if(!ws || !ws["!ref"]) continue; var range = decode_range(ws["!ref"]); if(range.e.c > 255) { // note: 255 is IV - if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); + if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); } } diff --git a/bits/83_numbers.js b/bits/83_numbers.js index 3fbdc88..2b50de1 100644 --- a/bits/83_numbers.js +++ b/bits/83_numbers.js @@ -60,43 +60,6 @@ function parse_varint49(buf, ptr) { ptr[0] = l; return usz; } -function write_varint49(v) { - var usz = new Uint8Array(7); - usz[0] = v & 127; - var L = 1; - sz: - if (v > 127) { - usz[L - 1] |= 128; - usz[L] = v >> 7 & 127; - ++L; - if (v <= 16383) - break sz; - usz[L - 1] |= 128; - usz[L] = v >> 14 & 127; - ++L; - if (v <= 2097151) - break sz; - usz[L - 1] |= 128; - usz[L] = v >> 21 & 127; - ++L; - if (v <= 268435455) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 256 >>> 21 & 127; - ++L; - if (v <= 34359738367) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 65536 >>> 21 & 127; - ++L; - if (v <= 4398046511103) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 16777216 >>> 21 & 127; - ++L; - } - return usz.slice(0, L); -} function varint_to_i32(buf) { var l = 0, i32 = buf[l] & 127; varint: @@ -162,16 +125,6 @@ function parse_shallow(buf) { } return out; } -function write_shallow(proto) { - var out = []; - proto.forEach(function(field, idx) { - field.forEach(function(item) { - out.push(write_varint49(idx * 8 + item.type)); - out.push(item.data); - }); - }); - return u8concat(out); -} function mappa(data, cb) { if (!data) return []; diff --git a/bits/85_parsezip.js b/bits/85_parsezip.js index 0f2fcba..67037e8 100644 --- a/bits/85_parsezip.js +++ b/bits/85_parsezip.js @@ -13,7 +13,7 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles, people) { +function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); var data = getzipdata(zip, path); @@ -36,7 +36,7 @@ function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/ sheets[sheet] = _ws; /* scan rels for comments and threaded comments */ - var tcomments = [], tauthors = []; + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { diff --git a/bits/86_writezip.js b/bits/86_writezip.js index 510f58b..30191f0 100644 --- a/bits/86_writezip.js +++ b/bits/86_writezip.js @@ -79,8 +79,9 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -216,6 +217,7 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { var needtc = false; comments.forEach(function(carr) { @@ -228,7 +230,7 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); } - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); diff --git a/demos/vue-modify/.gitignore b/demos/vue/modify/.gitignore similarity index 100% rename from demos/vue-modify/.gitignore rename to demos/vue/modify/.gitignore diff --git a/demos/vue-modify/README.md b/demos/vue/modify/README.md similarity index 100% rename from demos/vue-modify/README.md rename to demos/vue/modify/README.md diff --git a/demos/vue/modify/index.html b/demos/vue/modify/index.html new file mode 100644 index 0000000..867581c --- /dev/null +++ b/demos/vue/modify/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/demos/vue-modify/package.json b/demos/vue/modify/package.json similarity index 100% rename from demos/vue-modify/package.json rename to demos/vue/modify/package.json diff --git a/demos/vue-modify/src/App.vue b/demos/vue/modify/src/App.vue similarity index 100% rename from demos/vue-modify/src/App.vue rename to demos/vue/modify/src/App.vue diff --git a/demos/vue-modify/src/env.d.ts b/demos/vue/modify/src/env.d.ts similarity index 100% rename from demos/vue-modify/src/env.d.ts rename to demos/vue/modify/src/env.d.ts diff --git a/demos/vue-modify/src/main.ts b/demos/vue/modify/src/main.ts similarity index 100% rename from demos/vue-modify/src/main.ts rename to demos/vue/modify/src/main.ts diff --git a/demos/vue-modify/tsconfig.json b/demos/vue/modify/tsconfig.json similarity index 100% rename from demos/vue-modify/tsconfig.json rename to demos/vue/modify/tsconfig.json diff --git a/demos/vue-modify/tsconfig.node.json b/demos/vue/modify/tsconfig.node.json similarity index 100% rename from demos/vue-modify/tsconfig.node.json rename to demos/vue/modify/tsconfig.node.json diff --git a/demos/vue-modify/vite.config.ts b/demos/vue/modify/vite.config.ts similarity index 100% rename from demos/vue-modify/vite.config.ts rename to demos/vue/modify/vite.config.ts diff --git a/dist/xlsx.core.min.js b/dist/xlsx.core.min.js index 4357b39..1f10aeb 100644 --- a/dist/xlsx.core.min.js +++ b/dist/xlsx.core.min.js @@ -1,16 +1,15 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};function make_xlsx_lib(e){e.version="0.18.3";var r=1200,t=1252;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined"){if(typeof global!=="undefined")global.cptable=undefined;else if(typeof window!=="undefined")window.cptable=undefined}}var a=[874,932,936,949,950,1e4];for(var n=0;n<=8;++n)a.push(1250+n);var i={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var s=function(e){if(a.indexOf(e)==-1)return;t=i[0]=e};function f(){s(1252)}var l=function(e){r=e;s(e)};function o(){l(1200);f()}function c(e){var r=[];for(var t=0,a=e.length;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function h(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return u(e.slice(2));if(r==254&&t==255)return h(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function ng(e){return String.fromCharCode(e)};var p=function ig(e){return String.fromCharCode(e)};if(typeof cptable!=="undefined"){l=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return cptable.utils.decode(1200,c(e.slice(2)))}return e};v=function sg(e){if(r===1200)return String.fromCharCode(e);return cptable.utils.decode(r,[e&255,e>>8])[0]};p=function fg(e){return cptable.utils.decode(t,[e])[0]}}var m=null;var b=true;var g=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,l=0,o=0;for(var c=0;c>2;n=r.charCodeAt(c++);f=(a&3)<<4|n>>4;i=r.charCodeAt(c++);l=(n&15)<<2|i>>6;o=i&63;if(isNaN(n)){l=o=64}else if(isNaN(i)){o=64}t+=e.charAt(s)+e.charAt(f)+e.charAt(l)+e.charAt(o)}return t},decode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,l=0,o=0;r=r.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4;t+=String.fromCharCode(a);l=e.indexOf(r.charAt(c++));n=(f&15)<<4|l>>2;if(l!==64){t+=String.fromCharCode(n)}o=e.indexOf(r.charAt(c++));i=(l&3)<<6|o;if(o!==64){t+=String.fromCharCode(i)}}return t}}}();var w=typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node;var k=function(){};if(typeof Buffer!=="undefined"){var E=!Buffer.from;if(!E)try{Buffer.from("foo","utf8")}catch(S){E=true}k=E?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function B(e){return w?Buffer.alloc(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function C(e){return w?Buffer.allocUnsafe(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var y=function lg(e){if(w)return k(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function T(e){if(typeof ArrayBuffer==="undefined")return y(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function _(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=B(65535);a=65530}}r.push(n.slice(0,t));return F(r)}var F=function(e){if(typeof Uint8Array!=="undefined"){var r=0,t=0;for(r=0;r=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function f(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var l=Math.pow(2,32);function o(e,r){if(e>l||e<-l)return s(e,r);var t=Math.round(e);return f(t,r)}function c(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var u=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var h=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function d(e){e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var v={};d(v);var p=[];var m=0;for(m=5;m<=8;++m)p[m]=32+m;for(m=23;m<=26;++m)p[m]=0;for(m=27;m<=31;++m)p[m]=14;for(m=50;m<=58;++m)p[m]=14;for(m=59;m<=62;++m)p[m]=m-58;for(m=67;m<=68;++m)p[m]=m-58;for(m=72;m<=75;++m)p[m]=m-58;for(m=67;m<=68;++m)p[m]=m-57;for(m=76;m<=78;++m)p[m]=m-56;for(m=79;m<=81;++m)p[m]=m-34;var b=[];b[5]=b[63]='"$"#,##0_);\\("$"#,##0\\)';b[6]=b[64]='"$"#,##0_);[Red]\\("$"#,##0\\)';b[7]=b[65]='"$"#,##0.00_);\\("$"#,##0.00\\)';b[8]=b[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)';b[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)';b[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)';b[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)';b[44]='_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';function g(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var l=1,o=0,c=0;var u=Math.floor(n);while(or){if(o>r){c=l;f=i}else{c=o;f=s}}if(!t)return[0,a*f,c];var h=Math.floor(a*f/c);return[h,a*f-h*c,c]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var l=new Date(1900,0,1);l.setDate(l.getDate()+a-1);s=[l.getFullYear(),l.getMonth()+1,l.getDate()];i=l.getDay();if(a<60)i=(i+6)%7;if(t)i=_(l,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}e.parse_date_code=w;var k=new Date(1899,11,31,0,0,0);var E=k.getTime();var S=new Date(1900,2,1,0,0,0);function B(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=S)t+=24*60*60*1e3;return(t-(E+(e.getTimezoneOffset()-k.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function C(e){return e.toString(10)}e._general_int=C;var y=function H(){var e=/(?:\.0*|(\.\d*[1-9])0+)$/;function r(r){return r.indexOf(".")==-1?r:r.replace(e,"$1")}var t=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\d)$/;function n(e){if(e.indexOf("E")==-1)return e;return e.replace(t,"$1E").replace(a,"$10$2")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t==="0"||t==="-0"?e.toPrecision(6):t}function f(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return f}();e._general_num=y;function T(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):y(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return U(14,B(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=T;function _(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function x(e,r,t,n){var i="",s=0,f=0,l=t.y,o,c=0;switch(e){case 98:l=t.y+543;case 121:switch(r.length){case 1:;case 2:o=l%100;c=2;break;default:o=l%1e4;c=4;break;}break;case 109:switch(r.length){case 1:;case 2:o=t.m;c=r.length;break;case 3:return h[t.m-1][1];case 5:return h[t.m-1][0];default:return h[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;c=r.length;break;case 3:return u[t.q][0];default:return u[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:o=1+(t.H+11)%12;c=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:o=t.H;c=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:o=t.M;c=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)f=n===3?1e3:100;else f=n===1?10:1;s=Math.round(f*(t.S+t.u));if(s>=60*f)s=0;if(r==="s")return s===0?"0":""+s/f;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":o=t.D*24+t.H;break;case"[m]":;case"[mm]":o=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":o=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}c=r.length===3?1:2;break;case 101:o=l;c=1;break;}var d=c>0?a(o,c):"";return d}function A(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var R=function X(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return R(r,i,n*Math.pow(10,2*s))+t("%",s)}function f(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return R(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function l(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+l(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var c=/# (\?+)( ?)\/( ?)(\d+)/;function u(e,r,i){var s=parseInt(e[4],10),f=Math.round(r*s),l=Math.floor(f/s);var o=f-l*s,c=s;return i+(l===0?"":""+l)+" "+(o===0?t(" ",e[1].length+1+e[4].length):n(o,e[1].length)+e[2]+"/"+e[3]+a(c,e[4].length))}function h(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var d=/^#*0*\.([0#]+)/;var v=/\).*[0#]/;var p=/\(###\) ###\\?-####/;function m(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function b(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function k(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function E(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function S(e,h,B){if(e.charCodeAt(0)===40&&!h.match(v)){var C=h.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(B>=0)return S("n",C,B);return"("+S("n",C,-B)+")"}if(h.charCodeAt(h.length-1)===44)return f(e,h,B);if(h.indexOf("%")!==-1)return s(e,h,B);if(h.indexOf("E")!==-1)return l(h,B);if(h.charCodeAt(0)===36)return"$"+S(e,h.substr(h.charAt(1)==" "?2:1),B);var y;var T,_,x,F=Math.abs(B),I=B<0?"-":"";if(h.match(/^00+$/))return I+o(F,h.length);if(h.match(/^[#?]+$/)){y=o(B,0);if(y==="0")y="";return y.length>h.length?y:m(h.substr(0,h.length-y.length))+y}if(T=h.match(c))return u(T,F,I);if(h.match(/^#+0+$/))return I+o(F,h.length-h.indexOf("0"));if(T=h.match(d)){y=b(B,T[1].length).replace(/^([^\.]+)$/,"$1."+m(T[1])).replace(/\.$/,"."+m(T[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",m(T[1]).length-r.length)});return h.indexOf("0.")!==-1?y:y.replace(/^0\./,".")}h=h.replace(/^#+([0.])/,"$1");if(T=h.match(/^(0*)\.(#*)$/)){return I+b(F,T[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,T[1].length?"0.":".")}if(T=h.match(/^#{1,3},##0(\.?)$/))return I+A(o(F,0));if(T=h.match(/^#,##0\.([#0]*0)$/)){return B<0?"-"+S(e,h,-B):A(""+(Math.floor(B)+k(B,T[1].length)))+"."+a(w(B,T[1].length),T[1].length)}if(T=h.match(/^#,#*,#0/))return S(e,h.replace(/^#,#*,/,""),B);if(T=h.match(/^([0#]+)(\\?-([0#]+))+$/)){y=r(S(e,h.replace(/[\\-]/g,""),B));_=0;return r(r(h.replace(/\\/g,"")).replace(/[0#]/g,function(e){return _=0)return T("n",l,f);return"("+T("n",l,-f)+")"}if(s.charCodeAt(s.length-1)===44)return B(e,s,f);if(s.indexOf("%")!==-1)return C(e,s,f);if(s.indexOf("E")!==-1)return y(s,f);if(s.charCodeAt(0)===36)return"$"+T(e,s.substr(s.charAt(1)==" "?2:1),f);var o;var u,b,w,k=Math.abs(f),E=f<0?"-":"";if(s.match(/^00+$/))return E+a(k,s.length);if(s.match(/^[#?]+$/)){o=""+f;if(f===0)o="";return o.length>s.length?o:m(s.substr(0,s.length-o.length))+o}if(u=s.match(c))return h(u,k,E);if(s.match(/^#+0+$/))return E+a(k,s.length-s.indexOf("0"));if(u=s.match(d)){o=(""+f).replace(/^([^\.]+)$/,"$1."+m(u[1])).replace(/\.$/,"."+m(u[1]));o=o.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",m(u[1]).length-r.length)});return s.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(u=s.match(/^(0*)\.(#*)$/)){return E+(""+k).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,u[1].length?"0.":".")}if(u=s.match(/^#{1,3},##0(\.?)$/))return E+A(""+k);if(u=s.match(/^#,##0\.([#0]*0)$/)){return f<0?"-"+T(e,s,-f):A(""+f)+"."+t("0",u[1].length)}if(u=s.match(/^#,#*,#0/))return T(e,s.replace(/^#,#*,/,""),f);if(u=s.match(/^([0#]+)(\\?-([0#]+))+$/)){o=r(T(e,s.replace(/[\\-]/g,""),f));b=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return b-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=D;function P(e,r,t,a){var n=[],i="",s=0,f="",l="t",o,u,h;var d="H";while(s=12?"P":"A";m.t="T";d="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(o!=null)m.v=o.H>=12?"PM":"AM";m.t="T";s+=5;d="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(o!=null)m.v=o.H>=12?"下午":"上午";m.t="T";s+=5;d="h"}else{m.t="t";++s}if(o==null&&m.t==="T")return"";n[n.length]=m;l=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!D(e))n[n.length]={t:"t",v:i}}break;case".":if(o!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};l=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var b=0,g=0,k;for(s=n.length-1,l="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=d;l="h";if(b<1)b=1;break;case"s":if(k=n[s].v.match(/\.0+$/))g=Math.max(g,k[0].length-1);if(b<3)b=3;case"d":;case"y":;case"M":;case"e":l=n[s].t;break;case"m":if(l==="s"){n[s].t="M";if(b<2)b=2}break;case"X":break;case"Z":if(b<1&&n[s].v.match(/[Hh]/))b=1;if(b<2&&n[s].v.match(/[Mm]/))b=2;if(b<3&&n[s].v.match(/[Ss]/))b=3;}}switch(b){case 0:break;case 1:if(o.u>=.5){o.u=0;++o.S}if(o.S>=60){o.S=0;++o.M}if(o.M>=60){o.M=0;++o.H}break;case 2:if(o.u>=.5){o.u=0;++o.S}if(o.S>=60){o.S=0;++o.M}break;}var E="",S;for(s=0;s0){if(E.charCodeAt(0)==40){C=r<0&&E.charCodeAt(0)===45?-r:r;y=R("n",E,C)}else{C=r<0&&a>1?-r:r;y=R("n",E,C);if(C<0&&n[0]&&n[0].t=="t"){y=y.substr(1);n[0].v="-"+n[0].v}}S=y.length-1;var _=n.length;for(s=0;s-1){_=s;break}var A=n.length;if(_===n.length&&y.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(S>=n[s].v.length-1){S-=n[s].v.length;n[s].v=y.substr(S+1,n[s].v.length)}else if(S<0)n[s].v="";else{n[s].v=y.substr(0,S+1);S=-1}n[s].t="t";A=s}if(S>=0&&A=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;u=n[s].v.indexOf(".")>-1&&s===_?n[s].v.indexOf(".")-1:n[s].v.length-1;B=n[s].v.substr(u+1);for(;u>=0;--u){if(S>=0&&(n[s].v.charAt(u)==="0"||n[s].v.charAt(u)==="#"))B=y.charAt(S--)+B}n[s].v=B;n[s].t="t";A=s}if(S>=0&&A-1&&s===_?n[s].v.indexOf(".")+1:0;B=n[s].v.substr(0,u);for(;u-1){C=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=R(n[s].t,n[s].v,C);n[s].t="t"}var F="";for(s=0;s!==n.length;++s)if(n[s]!=null)F+=n[s].v;return F}e._eval=P;var O=/\[[=<>]/;var N=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function L(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function M(e,r){var t=F(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(O)!=null||t[1].match(O)!=null){var s=t[0].match(N);var f=t[1].match(N);return L(r,s)?[a,t[0]]:L(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function U(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:v)[e];if(a==null)a=t.table&&t.table[p[e]]||v[p[e]];if(a==null)a=b[e]||"General";break;}if(c(a,0))return T(r,t);if(r instanceof Date)r=B(r,t.date1904);var n=M(a,r);if(c(n[1]))return T(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return P(n[1],r,t,n[0])}function W(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(v[t]==undefined){if(r<0)r=t;continue}if(v[t]==e){r=t;break}}if(r<0)r=391}v[r]=e;return r}e.load=W;e._table=v;e.get_table=function V(){return v};e.load_table=function G(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)W(e[r],r)};e.init_table=d;e.format=U};O(P);var N={"General Number":"General","General Date":P._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":P._table[15],"Short Date":P._table[14],"Long Time":P._table[19],"Medium Time":P._table[18],"Short Time":P._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:P._table[2],Standard:P._table[4],Percent:P._table[10],Scientific:P._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var L={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var M=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function U(e){var r=typeof e=="number"?P._table[e]:e;r=r.replace(M,"(\\d+)");return new RegExp("^"+r+"$")}function W(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,l=-1;(r.match(M)||[]).forEach(function(e,r){var o=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=o;break;case"d":i=o;break;case"h":s=o;break;case"s":l=o;break;case"m":if(s>=0)f=o;else n=o;break;}});if(l>=0&&f==-1&&n>=0){f=n;n=-1}var o=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(o.length==7)o="0"+o;if(o.length==8)o="20"+o;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2);if(s==-1&&f==-1&&l==-1)return o;if(a==-1&&n==-1&&i==-1)return c;return o+"T"+c}var H=true;var X;(function(e){e(X={})})(function(e){e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256); -return i}var n=a(t);var i=n[0],s=n[1],f=n[2],l=n[3],o=n[4];var c=n[5],u=n[6],h=n[7],d=n[8],v=n[9];var p=n[10],m=n[11],b=n[12],g=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function E(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^b[e[k++]^a>>16&255]^m[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^h[e[k++]]^u[e[k++]]^c[e[k++]]^o[e[k++]]^l[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function S(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=E;e.str=S});var V=function cg(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){et(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function l(){return f||(f=undefined)}function o(e,r){if(e[0]==80&&e[1]==75)return Ie(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return He(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var l=0;var o=[];var v=e.slice(0,512);et(v,0);var m=c(v);t=m[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(m[1]==0)return Ie(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);et(v,28)}var g=e.slice(0,a);u(v,t);var w=v._R(4,"i");if(t===3&&w!==0)throw new Error("# Directory Sectors: Expected 0 saw "+w);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");l=v._R(4,"i");i=v._R(4,"i");for(var k=-1,S=0;S<109;++S){k=v._R(4,"i");if(k<0)break;o[S]=k}var B=h(e,a);p(l,i,B,a,o);var C=b(B,s,o,a);C[s].name="!Directory";if(n>0&&f!==L)C[f].name="!MiniFAT";C[o[0]].name="!FAT";C.fat_addrs=o;C.ssz=a;var y={},T=[],_=[],x=[];E(s,C,B,T,n,y,_,f);d(_,x,T);T.shift();var A={FileIndex:_,FullPaths:x};if(r&&r.raw)A.raw={header:g,sectors:B};return A}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(M,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function u(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function h(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*N,s*N+N));n-=N;s=jr(t,s*4)}if(i.length===0)return tt(0);return F(i).slice(0,e.size)}function p(e,r,t,a,n){var i=L;if(e===L){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var l=0;l=0;){n[l]=true;i[i.length]=l;s.push(e[l]);var c=t[Math.floor(l*4/a)];o=l*4&f;if(a<4+o)throw new Error("FAT boundary crossed: "+l+" 4 "+a);if(!e[c])break;l=jr(e[c],o)}return{nodes:i,data:kr([s])}}function b(e,r,t,a){var n=e.length,i=[];var s=[],f=[],l=[];var o=a-1,c=0,u=0,h=0,d=0;for(c=0;c=n)h-=n;if(s[h])continue;l=[];var v=[];for(u=h;u>=0;){v[u]=true;s[u]=true;f[f.length]=u;l.push(e[u]);var p=t[Math.floor(u*4/a)];d=u*4&o;if(a<4+d)throw new Error("FAT boundary crossed: "+u+" 4 "+a);if(!e[p])break;u=jr(e[p],d);if(v[u])break}i[h]={nodes:f,data:kr([l])}}return i}function E(e,r,t,a,n,i,s,f){var l=0,o=a.length?2:0;var c=r[e].data;var u=0,h=0,d;for(;u0&&l!==L)r[l].name="!StreamData"}else if(b.size>=4096){b.storage="fat";if(r[b.start]===undefined)r[b.start]=m(t,b.start,r.fat_addrs,r.ssz);r[b.start].name=b.name;b.content=r[b.start].data.slice(0,b.size)}else{b.storage="minifat";if(b.size<0)b.size=0;else if(l!==L&&b.start!==L&&r[l]){b.content=v(b,r[l].data,(r[f]||{}).data)}}if(b.content)et(b.content,0);i[d]=b;s.push(b)}}function S(e,r){return new Date((zr(e,r+4)/1e7*Math.pow(2,32)+zr(e,r)/1e7-11644473600)*1e3)}function T(e,r){l();return o(f.readFileSync(e),r)}function _(e,r){var t=r&&r.type;if(!t){if(w&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return T(e,r);case"base64":return o(y(g.decode(e)),r);case"binary":return o(y(e),r);}return o(e,r)}function x(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;A(e)}function A(e){var r="Sh33tJ5";if(V.find(e,"/"+r))return;var t=tt(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);R(e)}function R(e,n){x(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var l=e.FileIndex[f];switch(l.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(l.R*l.L*l.C))i=true;if(l.R>-1&&l.L>-1&&l.R==l.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var o=new Date(1987,1,19),c=0;var u=Object.create?Object.create(null):{};var h=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(c=f+1;c=h.length?-1:c;for(c=f+1;c=h.length?-1:c;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function P(e,r){var t=r||{};if(t.fileType=="mad")return Xe(e,t);R(e);switch(t.fileType){case"zip":return Pe(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var l=r+127>>7;var o=f+t+s+l;var c=o+127>>7;var u=c<=109?0:Math.ceil((c-109)/127);while(o+c+u+127>>7>c)u=++c<=109?0:Math.ceil((c-109)/127);var h=[1,u,c,l,s,t,r,0];e.FileIndex[0].size=r<<6;h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3);return h}(e);var n=tt(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,U[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:L);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:L);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,H.ENDOFCHAIN);s=i=0;for(l=0;l=4096)continue;c.start=s;f(o+63>>6)}while(n.l&511)n._W(-4,H.ENDOFCHAIN);for(i=0;i=4096){n.l=c.start+1<<9;if(w&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+511&-512}else{for(l=0;l0&&c.size<4096){if(w&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+63&-64}else{for(l=0;l>16|r>>8|r)&255}var re=typeof Uint8Array!=="undefined";var te=re?new Uint8Array(1<<8):[];for(var ae=0;ae<1<<8;++ae)te[ae]=ee(ae);function ne(e,r){var t=te[e&255];if(r<=8)return t>>>8-r;t=t<<8|te[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|te[e>>16&255];return t>>>24-r}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function ce(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ue(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function ve(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function pe(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(w){var i=C(a);if(e.copy)e.copy(i);else for(;n>a-u;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=re?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ue(t,n,+!!(i+f==r.length)+2);var l=0;while(f-- >0){var o=r[i];l=(l<<5^o)&32767;var c=-1,u=0;if(c=s[l]){c|=i&~32767;if(c>i)c-=32768;if(c2){o=a[u];if(o<=22)n=de(t,n,te[o+1]>>1)-1;else{de(t,n,3);n+=5;de(t,n,te[o-23]>>5);n+=3}var h=o<8?0:o-4>>2;if(h>0){ve(t,n,u-Q[o]);n+=h}o=e[i-c];n=de(t,n,te[o]>>3);n-=3;var d=o<4?0:o-2>>1;if(d>0){ve(t,n,i-c-Z[o]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)ye[d|p<>>=3){case 16:i=3+ie(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+se(e,r);r+=3;while(i-- >0)m.push(0);break;case 18:i=11+oe(e,r);r+=7;while(i-- >0)m.push(0);break;default:m.push(d);if(l>>0;var f=0,l=0;while((a&1)==0){a=se(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var o=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(o>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;l=5}else{t=xe(e,t);f=Te;l=_e}for(;;){if(!r&&s>>1==1?ge[c]:Be[c];t+=u&15;u>>>=4;if((u>>>8&255)===0)n[i++]=u;else if(u==256)break;else{u-=257;var h=u<8?0:u-4>>2;if(h>5)h=0;var d=i+Q[u];if(h>0){d+=ce(e,t,h);t+=h}c=ce(e,t,l);u=a>>>1==1?we[c]:Ce[c];t+=u&15;u>>>=4;var v=u<4?0:u-2>>1;var p=Z[u];if(v>0){p+=ce(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Re(e,r){var t=e.slice(e.l||0);var a=Ae(t,r);e.l+=a[1];return a[0]}function Fe(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ie(e,r){var t=e;et(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};x(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var l=t._R(2);t.l+=6;var o=t._R(4);t.l=o;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var l=[],o=[];var c={FileIndex:l,FullPaths:o};x(c);var u,h=0;for(n=0;n=32&&d<128)++u;var p=u>=h*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Ne(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function Ve(e){var r={};x(r,e);return r}function Ge(e,r,t,n){var i=n&&n.unsafe;if(!i)x(e);var s=!i&&V.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)V.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function ze(e,r){x(e);var t=V.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var fe=new Date("2017-02-19T19:06:09.000Z");if(isNaN(fe.getFullYear()))fe=new Date("2/19/17");var le=fe.getFullYear()==2017; -function oe(e,r){var t=new Date(e);if(le){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(fe.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function ce(e,r){if(w&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return e.slice(2).toString("utf16le");if(e[1]==254&&e[2]==255)return h(e.slice(2).toString("binary"))}return e.toString("binary")}var t=[];for(var a=0;a!=e.length;++a)t.push(String.fromCharCode(e[a]));return t.join("")}function ue(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=ue(e[t]);return r}function he(e,r){var t="";while(t.length3&&ve.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var me="abacaba".split(/(:?b)/i).length==5;function be(e,r,t){if(me||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var De=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm;if(!Fe.match(De))De=/<[^>]*>/g;var Pe=/<\w*:/,Oe=/<(\/?)\w+:/;function Ne(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ie),f=0,l="",o=0,c="",u="",h=1;if(s)for(o=0;o!=s.length;++o){u=s[o];for(i=0;i!=u.length;++i)if(u.charCodeAt(i)===61)break;c=u.slice(0,i).trim();while(u.charCodeAt(i+1)==32)++i;h=(n=u.charCodeAt(i+1))==34||n==39?1:0;l=u.slice(i+1+h,u.length-h);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=l;if(!t)a[c.toLowerCase()]=l}else{var d=(f===5&&c.slice(0,5)==="xmlns"?"xmlns":"")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)=="ext")continue;a[d]=l;if(!t)a[d.toLowerCase()]=l}}return a}function Le(e){return e.replace(Oe,"<$1")}var Me={""":'"',"'":"'",">":">","<":"<","&":"&"};var Ue=q(Me);var We=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var He=/[&<>'"]/g,Xe=/[\u0000-\u0008\u000b-\u001f]/g;function Ve(e){var r=e+"";return r.replace(He,function(e){return Ue[e]}).replace(Xe,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Ge(e){return Ve(e).replace(/ /g,"_x0020_")}var ze=/[\u0000-\u001f]/g;function je(e){var r=e+"";return r.replace(He,function(e){return Ue[e]}).replace(/\n/g,"
").replace(ze,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function $e(e){var r=e+"";return r.replace(He,function(e){return Ue[e]}).replace(ze,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var Ke=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();var Ye=function(){return function e(r){return r.replace(/(\r\n|[\r\n])/g," ")}}();function Je(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var qe=function ug(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r};var Qe=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(w){var Ze=function hg(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var er="foo bar baz☃🍣";if(qe(er)==Ze(er))qe=Ze;var rr=function dg(e){return k(e,"binary").toString("utf8")};if(qe(er)==rr(er))qe=rr;Qe=function(e){return k(e,"utf8").toString("binary")}}var tr=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var ar=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var ir=/<\/?(?:vt:)?variant>/g,sr=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function cr(e){return Y(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function ur(e,r,t){return"<"+e+(t!=null?cr(t):"")+(r!=null?(r.match(lr)?' xml:space="preserve"':"")+">"+r+""}function hr(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function dr(e,r){switch(typeof e){case"string":var t=ur("vt:lpwstr",Ve(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return ur((e|0)==e?"vt:i4":"vt:r8",Ve(String(e)));case"boolean":return ur("vt:bool",e?"true":"false");}if(e instanceof Date)return ur("vt:filetime",hr(e));throw new Error("Unable to serialize "+e)}function vr(e){if(w&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return qe(_(A(e)));throw new Error("Bad input format: expected Buffer or string")}var pr=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var mr={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};mr.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var br={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function gr(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function wr(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var kr=function(e){var r=[],t=10240;for(var a=0;a0?Tr(e,r+4,r+4+t-1):""};var Ar=xr;var Rr=function(e,r){var t=zr(e,r);return t>0?Tr(e,r+4,r+4+t-1):""};var Fr=Rr;var Ir=function(e,r){var t=2*zr(e,r);return t>0?Tr(e,r+4,r+4+t-1):""};var Dr=Ir;var Pr,Or;Pr=Or=function vg(e,r){var t=zr(e,r);return t>0?Sr(e,r+4,r+4+t):""};var Nr=function(e,r){var t=zr(e,r);return t>0?Tr(e,r+4,r+4+t):""};var Lr=Nr;var Mr,Ur;Mr=Ur=function(e,r){return gr(e,r)};var Wr=function pg(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(w){Sr=function(e,r,t){if(!Buffer.isBuffer(e))return Br(e,r,t);return e.toString("utf16le",r,t).replace(I,"")};Cr=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):yr(e,r,t)};xr=function mg(e,r){if(!Buffer.isBuffer(e))return Ar(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Rr=function bg(e,r){if(!Buffer.isBuffer(e))return Fr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Ir=function gg(e,r){if(!Buffer.isBuffer(e))return Dr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Pr=function wg(e,r){if(!Buffer.isBuffer(e))return Or(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};Nr=function kg(e,r){if(!Buffer.isBuffer(e))return Lr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};Tr=function Eg(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):_r(e,r,t)};kr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:k(e)})):Er(e)};F=function(e){return Buffer.concat(e.map(function(e){return Buffer.isBuffer(e)?e:k(e)}))};Mr=function Sg(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Ur(e,r)};Wr=function Bg(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function Hr(){Sr=function(e,r,t){return cptable.utils.decode(1200,e.slice(r,t)).replace(I,"")};Tr=function(e,r,t){return cptable.utils.decode(65001,e.slice(r,t))};xr=function(e,r){var a=zr(e,r);return a>0?cptable.utils.decode(t,e.slice(r+4,r+4+a-1)):""};Rr=function(e,t){var a=zr(e,t);return a>0?cptable.utils.decode(r,e.slice(t+4,t+4+a-1)):""};Ir=function(e,r){var t=2*zr(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Pr=function(e,r){var t=zr(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t)):""};Nr=function(e,r){var t=zr(e,r);return t>0?cptable.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof cptable!=="undefined")Hr();var Xr=function(e,r){return e[r]};var Vr=function(e,r){return e[r+1]*(1<<8)+e[r]};var Gr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var zr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var jr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var $r=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Kr(e,t){var a="",n,i,s=[],f,l,o,c;switch(t){case"dbcs":c=this.l;if(w&&Buffer.isBuffer(this))a=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?jr:$r)(this,this.l);this.l+=4;return n}else{i=zr(this,this.l);this.l+=4}return i;case 8:;case-8:if(t==="f"){if(e==8)i=Mr(this,this.l);else i=Mr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return i}else e=8;case 16:a=Cr(this,this.l,e);break;};}this.l+=e;return a}var Yr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var qr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Qr(e,r,a){var n=0,i=0;if(a==="dbcs"){for(i=0;i!=r.length;++i)qr(this,r.charCodeAt(i),this.l+2*i);n=2*r.length}else if(a==="sbcs"){if(typeof cptable!=="undefined"&&t==874){for(i=0;i!=r.length;++i){var s=cptable.utils.encode(t,r.charAt(i));this[this.l+i]=s[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(i=0;i!=r.length;++i)this[this.l+i]=r.charCodeAt(i)&255}n=r.length}else if(a==="hex"){for(;i>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:n=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:n=4;Yr(this,r,this.l);break;case 8:n=8;if(a==="f"){wr(this,r,this.l);break};case 16:break;case-4:n=4;Jr(this,r,this.l);break;}this.l+=n;return this}function Zr(e,r){var t=Cr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function et(e,r){e.l=r;e._R=Kr;e.chk=Zr;e._W=Qr}function rt(e,r){e.l+=r}function tt(e){var r=B(e);et(r,0);return r}function at(e,r,t){if(!e)return;var a,n,i;et(e,e.l||0);var s=e.length,f=0,l=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Wr(t))e.push(t)}function st(e,r,t){var a=ue(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function ft(e,r,t){var a=ue(e);a.s=st(a.s,r.s,t);a.e=st(a.e,r.s,t);return a}function lt(e,r){if(e.cRel&&e.c<0){e=ue(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=ue(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=kt(e);if(!e.cRel&&e.cRel!=null)t=mt(t);if(!e.rRel&&e.rRel!=null)t=ht(t);return t}function ot(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+pt(e.s.c)+":"+(e.e.cRel?"":"$")+pt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+ut(e.s.r)+":"+(e.e.rRel?"":"$")+ut(e.e.r)}}return lt(e.s,r.biff)+":"+lt(e.e,r.biff)}function ct(e){return parseInt(dt(e),10)-1}function ut(e){return""+(e+1)}function ht(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function dt(e){return e.replace(/\$(\d+)$/,"$1")}function vt(e){var r=bt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function pt(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function mt(e){return e.replace(/^([A-Z])/,"$$$1")}function bt(e){return e.replace(/^\$([A-Z])/,"$1")}function gt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function wt(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function kt(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Et(e){var r=e.indexOf(":");if(r==-1)return{s:wt(e),e:wt(e)};return{s:wt(e.slice(0,r)),e:wt(e.slice(r+1))}}function St(e,r){if(typeof r==="undefined"||typeof r==="number"){return St(e.s,e.e)}if(typeof e!=="string")e=kt(e);if(typeof r!=="string")r=kt(r);return e==r?e:e+":"+r}function Bt(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function Ct(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=P.format(e.z,t?re(r):r)}catch(a){}try{return e.w=P.format((e.XF||{}).numFmtId||(t?14:0),t?re(r):r)}catch(a){return""+r}}function yt(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Da[e.v]||e.v;if(r==undefined)return Ct(e,e.v);return Ct(e,r)}function Tt(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function _t(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(m!=null&&n==null)n=m;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var l=typeof a.origin=="string"?wt(a.origin):a.origin;s=l.r;f=l.c}if(!i["!ref"])i["!ref"]="A1:A1"}var o={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=Bt(i["!ref"]);o.s.c=c.s.c;o.s.r=c.s.r;o.e.c=Math.max(o.e.c,c.e.c);o.e.r=Math.max(o.e.r,c.e.r);if(s==-1)o.e.r=s=c.e.r+1}for(var u=0;u!=r.length;++u){if(!r[u])continue;if(!Array.isArray(r[u]))throw new Error("aoa_to_sheet expects an array of arrays");for(var h=0;h!=r[u].length;++h){if(typeof r[u][h]==="undefined")continue;var d={v:r[u][h]};var v=s+u,p=f+h;if(o.s.r>v)o.s.r=v;if(o.s.c>p)o.s.c=p;if(o.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Dt(e){return{ich:e._R(2),ifnt:e._R(2)}}function Pt(e,r){if(!r)r=tt(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function Ot(e,r){var t=e.l;var a=e._R(1);var n=Ft(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var l=0;l!=f;++l)i.push(Dt(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Nt(e,r){var t=false;if(r==null){t=true;r=tt(15+4*e.t.length)}r._W(1,0);It(e.t,r);return t?r.slice(0,r.l):r}var Lt=Ot;function Mt(e,r){var t=false;if(r==null){t=true;r=tt(23+4*e.t.length)}r._W(1,1);It(e.t,r);r._W(4,1);Pt({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Ut(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Wt(e,r){if(r==null)r=tt(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function Ht(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function Xt(e,r){if(r==null)r=tt(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Vt=Ft;var Gt=It;function zt(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function jt(e,r){var t=false;if(r==null){t=true;r=tt(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var $t=Ft;var Kt=zt;var Yt=jt;function Jt(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?Mr([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):jr(r,0)>>2;return t?n/100:n}function qt(e,r){if(r==null)r=tt(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function Qt(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Zt(e,r){if(!r)r=tt(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var ea=Qt;var ra=Zt;function ta(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function aa(e,r){return(r||tt(8))._W(8,e,"f")}function na(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var l=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var o=Ia[n];if(o)r.rgb=vl(o);break;case 2:r.rgb=vl([s,f,l]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function ia(e,r){if(!r)r=tt(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function sa(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function fa(e,r){if(!r)r=tt(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function la(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function oa(e){return la(e,1)}function ca(e){return la(e,2)}var ua=2;var ha=3;var da=11;var va=12;var pa=19;var ma=30;var ba=64;var ga=65;var wa=71;var ka=4096;var Ea=80;var Sa=81;var Ba=[Ea,Sa];var Ca={1:{n:"CodePage",t:ua},2:{n:"Category",t:Ea},3:{n:"PresentationFormat",t:Ea},4:{n:"ByteCount",t:ha},5:{n:"LineCount",t:ha},6:{n:"ParagraphCount",t:ha},7:{n:"SlideCount",t:ha},8:{n:"NoteCount",t:ha},9:{n:"HiddenCount",t:ha},10:{n:"MultimediaClipCount",t:ha},11:{n:"ScaleCrop",t:da},12:{n:"HeadingPairs",t:ka|va},13:{n:"TitlesOfParts",t:ka|ma},14:{n:"Manager",t:Ea},15:{n:"Company",t:Ea},16:{n:"LinksUpToDate",t:da},17:{n:"CharacterCount",t:ha},19:{n:"SharedDoc",t:da},22:{n:"HyperlinksChanged",t:da},23:{n:"AppVersion",t:ha,p:"version"},24:{n:"DigSig",t:ga},26:{n:"ContentType",t:Ea},27:{n:"ContentStatus",t:Ea},28:{n:"Language",t:Ea},29:{n:"Version",t:Ea},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var ya={1:{n:"CodePage",t:ua},2:{n:"Title",t:Ea},3:{n:"Subject",t:Ea},4:{n:"Author",t:Ea},5:{n:"Keywords",t:Ea},6:{n:"Comments",t:Ea},7:{n:"Template",t:Ea},8:{n:"LastAuthor",t:Ea},9:{n:"RevNumber",t:Ea},10:{n:"EditTime",t:ba},11:{n:"LastPrinted",t:ba},12:{n:"CreatedDate",t:ba},13:{n:"ModifiedDate",t:ba},14:{n:"PageCount",t:ha},15:{n:"WordCount",t:ha},16:{n:"CharCount",t:ha},17:{n:"Thumbnail",t:wa},18:{n:"Application",t:Ea},19:{n:"DocSecurity",t:ha},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var Ta=J(Ca,"n");var _a=J(ya,"n");var xa={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var Aa=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ra(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Fa=Ra([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]); -var Ia=ue(Fa);var Da={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Pa=Q(Da);var Oa={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var Na=function(){var e={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};Y(e).forEach(function(r){["xlsm","xlam"].forEach(function(t){if(!e[r][t])e[r][t]=e[r].xlsx})});Y(e).forEach(function(r){Y(e[r]).forEach(function(t){Oa[e[r][t]]=r})});return e}();var La=Z(Oa);mr.CT="http://schemas.openxmlformats.org/package/2006/content-types";function Ma(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],TODO:[],xmlns:""}}function Ua(e){var r=Ma();if(!e||!e.match)return r;var t={};(e.match(De)||[]).forEach(function(e){var a=Ne(e);switch(a[0].replace(Pe,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var Wa=ur("Types",null,{xmlns:mr.CT,"xmlns:xsd":mr.xsd,"xmlns:xsi":mr.xsi});var Ha=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels",La.rels[0]]].map(function(e){return ur("Default",null,{Extension:e[0],ContentType:e[1]})});function Xa(e,r){var t=[],a;t[t.length]=Fe;t[t.length]=Wa;t=t.concat(Ha);var n=function(n){if(e[n]&&e[n].length>0){a=e[n][0];t[t.length]=ur("Override",null,{PartName:(a[0]=="/"?"":"/")+a,ContentType:Na[n][r.bookType||"xlsx"]})}};var i=function(a){(e[a]||[]).forEach(function(e){t[t.length]=ur("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:Na[a][r.bookType||"xlsx"]})})};var s=function(r){(e[r]||[]).forEach(function(e){t[t.length]=ur("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:La[r][0]})})};n("workbooks");i("sheets");i("charts");s("themes");["strs","styles"].forEach(n);["coreprops","extprops","custprops"].forEach(s);s("vba");s("comments");s("drawings");i("metadata");if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}var Va={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Ga(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function za(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(De)||[]).forEach(function(e){var n=Ne(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ka=[Va.HLINK,Va.XPATH,Va.XMISS];function Ya(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if(Ka.indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var Ja="application/vnd.oasis.opendocument.spreadsheet";function qa(e,r){var t=vr(e);var a;var n;while(a=pr.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Ne(a[0],false);if(n.path=="/"&&n.type!==Ja)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function Qa(e){var r=[Fe];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function Za(e,r,t){return[' \n',' \n'," \n"].join("")}function en(e,r){return[' \n',' \n'," \n"].join("")}function rn(e){var r=[Fe];r.push('\n');for(var t=0;t!=e.length;++t){r.push(Za(e[t][0],e[t][1]));r.push(en("",e[t][0]))}r.push(Za("","Document","pkg"));r.push("");return r.join("")}var tn=function(){var r='Sheet'+"JS "+e.version+"";return function t(){return r}}();var an=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];mr.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";Va.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var nn=function(){var e=new Array(an.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function sn(e){var r={};e=qe(e);for(var t=0;t0)r[a[1]]=We(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=oe(r[a[1]])}return r}var fn=ur("cp:coreProperties",null,{"xmlns:cp":mr.CORE_PROPS,"xmlns:dc":mr.dc,"xmlns:dcterms":mr.dcterms,"xmlns:dcmitype":mr.dcmitype,"xmlns:xsi":mr.xsi});function ln(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=Ve(r);a[a.length]=t?ur(e,r,t):or(e,r)}function on(e,r){var t=r||{};var a=[Fe,fn],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)ln("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:hr(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)ln("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:hr(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=an.length;++i){var s=an[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)ln(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var cn=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];mr.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";Va.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";var un=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function hn(e,r,t,a){var n=[];if(typeof e=="string")n=fr(e,a);else for(var i=0;i0)for(var o=0;o!==n.length;o+=2){l=+n[o+1].v;switch(n[o].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=l;t.SheetNames=s.slice(f,f+l);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=l;t.DefinedNames=s.slice(f,f+l);break;case"Charts":;case"Diagramme":t.Chartsheets=l;t.ChartNames=s.slice(f,f+l);break;}f+=l}}function dn(e,r,t){var a={};if(!r)r={};e=qe(e);cn.forEach(function(t){var n=(e.match(tr(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=We(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)hn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}var vn=ur("Properties",null,{xmlns:mr.EXT_PROPS,"xmlns:vt":mr.vt});function pn(e){var r=[],t=ur;if(!e)e={};e.Application="SheetJS";r[r.length]=Fe;r[r.length]=vn;cn.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=Ve(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+Ve(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}mr.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";Va.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var mn=/<[^>]+>[^<]*/g;function bn(e,r){var t={},a="";var n=e.match(mn);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Ne(s);switch(f[0]){case"":a=null;break;default:if(s.indexOf("");var o=l[0].slice(4),c=l[1];switch(o){case"lpstr":;case"bstr":;case"lpwstr":t[a]=We(c);break;case"bool":t[a]=Je(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=oe(c);break;case"cy":;case"error":t[a]=We(c);break;default:if(o.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,o,l);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var kn={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var En=q(kn);function Sn(e,r,t){r=En[r]||r;e[r]=t}function Bn(e,r){var t=[];Y(kn).map(function(e){for(var r=0;r'+n.join("")+""}function yn(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function Tn(e){var r=typeof e=="string"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=tt(8);s._W(4,a);s._W(4,n);return s}function _n(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function xn(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function An(e,r,t){if(r===31)return xn(e);return _n(e,r,t)}function Rn(e,r,t){return An(e,r,t===false?0:4)}function Fn(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return An(e,r,0)}function In(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(I,"");if(e.l-n&2)e.l+=2}return t}function Dn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(I,"");return t}function Pn(e){var r=e.l;var t=Un(e,Sa);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Un(e,ha);return[t,a]}function On(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Ln(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function Mn(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Un(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==va)if(a!==r&&Ba.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===va?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return _n(e,a,4).replace(I,"");case 31:return xn(e);case 64:return yn(e);case 65:return Ln(e);case 71:return Mn(e);case 80:return Rn(e,a,!i.raw).replace(I,"");case 81:return Fn(e,a).replace(I,"");case 4108:return On(e);case 4126:;case 4127:return a==4127?In(e):Dn(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Wn(e,r){var t=tt(4),a=tt(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=tt(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Tn(r);break;case 31:;case 80:a=tt(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return F([t,a])}function Hn(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var o=-1,c={};for(s=0;s!=n;++s){var u=e._R(4);var h=e._R(4);i[s]=[u,h+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=Un(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:l(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Un(e,ua);l(f);if(o!==-1){var m=e.l;e.l=i[o][1];c=Nn(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){o=s;e.l=i[s+1][1];continue}c=Nn(e,f)}else{var b=c[i[s][0]];var g;switch(e[e.l]){case 65:e.l+=4;g=Ln(e);break;case 30:e.l+=4;g=Rn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;g=Rn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4;g=e._R(4,"i");break;case 19:e.l+=4;g=e._R(4);break;case 5:e.l+=4;g=e._R(8,"f");break;case 11:e.l+=4;g=Jn(e,4);break;case 64:e.l+=4;g=oe(yn(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[b]=g}}}e.l=t+a;return d}var Xn=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"].concat(un);function Vn(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function Gn(e,r,t){var a=tt(8),n=[],i=[];var s=8,f=0;var l=tt(8),o=tt(8);l._W(4,2);l._W(4,1200);o._W(4,1);i.push(l);n.push(o);s+=8+l.length;if(!r){o=tt(8);o._W(4,0);n.unshift(o);var c=[tt(4)];c[0]._W(4,e.length);for(f=0;f-1)continue;if(e[f][1]==null)continue;var h=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof h=="string"){var p=h.split(".");h=(+p[0]<<16)+(+p[1]||0)}l=Wn(v.t,h)}else{var m=Vn(h);if(m==-1){m=31;h=String(h)}l=Wn(m,h)}i.push(l);o=tt(8);o._W(4,!r?2+f:d);n.push(o);s+=8+l.length}var b=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var l=n?e._R(n,i):"";r=s;return l}function ni(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var l=0,o;var c={};if(s)l=e._R(2);if(i)o=e._R(4);var u=f==2?"dbcs-cont":"sbcs-cont";var h=a===0?"":e._R(a,u);if(s)e.l+=4*l;if(i)e.l+=o;c.t=h;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function ii(e){var r=e.t||"",t=1;var a=tt(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=tt(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return F(i)}function si(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function fi(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return si(e,a,t)}function li(e,r,t){if(t.biff>5)return fi(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function oi(e,r,t){if(!t)t=tt(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function ci(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function ui(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(I,"");if(a)e.l+=24;return n}function hi(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(I,"");return t+s}function di(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return ui(e,r);case"0303000000000000c000000000000046":return hi(e,r);default:throw new Error("Unsupported Moniker "+t);}}function vi(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(I,""):"";return t}function pi(e,r){if(!r)r=tt(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a; -r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function yi(e){var r=e._R(2);var t=Jt(e);return[r,t]}function Ti(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=ai(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function _i(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function xi(e,r){if(!r)r=tt(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Ai(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Ri=Ai;function Fi(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function Ii(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function Di(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Pi(e){e.l+=2;e.l+=e._R(2)}var Oi={0:Pi,4:Pi,5:Pi,6:Pi,7:Di,8:Pi,9:Pi,10:Pi,11:Pi,12:Pi,13:Ii,14:Pi,15:Pi,16:Pi,17:Pi,18:Pi,19:Pi,20:Pi,21:Fi};function Ni(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function Mi(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=tt(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Ui(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Wi(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=li(e,0,t);e._R(r+a-e.l);return n}function Hi(e,r){var t=!r||r.biff==8;var a=tt(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=tt(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function zi(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function Qi(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var l=e._R(2),o=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:l,TabRatio:o}}function Zi(){var e=tt(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function es(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function rs(e){var r=tt(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function ts(){}function as(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=ai(e,0,t);return a}function ns(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=tt(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function is(e){var r=ki(e);r.isst=e._R(4);return r}function ss(e,r,t,a){var n=tt(10);Ei(e,r,a,n);n._W(4,t);return n}function fs(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=ki(e,6);if(t.biff==2)e.l++;var i=fi(e,a-e.l,t);n.val=i;return n}function ls(e,r,t,a,n){var i=!n||n.biff==8;var s=tt(6+2+ +i+(1+i)*t.length);Ei(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function os(e,r,t){var a=e._R(2);var n=li(e,0,t);return[a,n]}function cs(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var us=li;function hs(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),l=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:l}}}function ds(e,r){var t=r.biff==8||!r.biff?4:2;var a=tt(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function vs(e){var r=e._R(2),t=e._R(2);var a=yi(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function ps(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=l&127;n.icvBack=l>>7&127;n.fsxButton=l>>14&1;return n}function gs(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=bs(e,r,a.fStyle,t);return a}function ws(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function ks(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function Es(e){var r=tt(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function Ss(e,r,t){var a=ki(e,6);if(t.biff==2||r==9)++e.l;var n=ri(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Bs(e,r,t,a,n,i){var s=tt(8);Ei(e,r,a,s);ti(t,i,s);return s}function Cs(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=ki(e,6);var n=ta(e,8);a.val=n;return a}function ys(e,r,t,a){var n=tt(14);Ei(e,r,a,n);aa(t,n);return n}var Ts=Bi;function _s(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=si(e,i);var f=[];while(a>e.l)f.push(fi(e));return[i,n,s,f]}function xs(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=Ti(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var As=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Rs(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var l=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;l=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var o=si(e,s,t);if(n&32)o=As[o.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var u=a==e.l||f===0||!(c>0)?[]:nh(e,c,t,f);return{chKey:i,Name:o,itab:l,rgce:u}}function Fs(e,r,t){if(t.biff<8)return Is(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ci(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Is(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=ai(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function Ds(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=si(e,a,t);var s=si(e,n,t);return[i,s]}function Ps(e,r,t){var a=Ai(e,6);e.l++;var n=e._R(1);r-=8;return[ih(e,r,t),n,a]}function Os(e,r,t){var a=Ri(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,th(e,r,t,a)]}function Ns(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Ls(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=li(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Ms(e,r,t){return Ls(e,r,t)}function Us(e,r){var t=[];var a=e._R(2);while(a--)t.push(_i(e,r));return t}function Ws(e){var r=tt(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(h){e.l=a+r;return{t:n}}}function zs(e,r){var t=_i(e,8);e.l+=16;var a=mi(e,r-24);return[t,a]}function js(e){var r=tt(24);var t=wt(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return F([r,bi(e[1])])}function $s(e,r){e._R(2);var t=_i(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(I,"");return[t,a]}function Ks(e){var r=e[1].Tooltip;var t=tt(10+2*(r.length+1));t._W(2,2048);var a=wt(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(wi(e,8));return t}function Qs(e){var r=e._R(2);var t=[];while(r-- >0)t.push(wi(e,8));return t}function Zs(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function ef(e,r,t){if(!t.cellStyles)return rt(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var l=e._R(2);if(a==2)e.l+=2;var o={s:n,e:i,w:s,ixfe:f,flags:l};if(t.biff>=5||!t.biff)o.level=l>>8&7;return o}function rf(e,r){var t=tt(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function tf(e,r){var t={};if(r<32)return t;e.l+=16;t.header=ta(e,8);t.footer=ta(e,8);e.l+=2;return t}function af(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function nf(e){var r=tt(2*e);for(var t=0;t1048576)o=1e6;if(i!=2)c=n._R(2);var u=n._R(2);var h=t.codepage||1252;if(i!=2){n.l+=16;n._R(1);if(n[n.l]!==0)h=e[n[n.l]];n.l+=1;n.l+=2}if(l)n.l+=36;var d=[],v={};var p=Math.min(n.length,i==2?521:c-10-(f?264:0));var m=l?32:11;while(n.l0){if(n[n.l]===42){n.l+=u;continue}++n.l;a[++b]=[];w=0;for(w=0;w!=d.length;++w){var k=n.slice(n.l,n.l+d[w].len);n.l+=d[w].len;et(k,0);var E=cptable.utils.decode(h,k);switch(d[w].type){case"C":if(E.trim().length)a[b][w]=E.replace(/\s+$/,"");break;case"D":if(E.length===8)a[b][w]=new Date(+E.slice(0,4),+E.slice(4,6)-1,+E.slice(6,8));else a[b][w]=E;break;case"F":a[b][w]=parseFloat(E.trim());break;case"+":;case"I":a[b][w]=l?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(E.trim().toUpperCase()){case"Y":;case"T":a[b][w]=true;break;case"N":;case"F":a[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+E+"|");}break;case"M":if(!s)throw new Error("DBF Unexpected MEMO for type "+i.toString(16));a[b][w]="##MEMO##"+(l?parseInt(E.trim(),10):k._R(4));break;case"N":E=E.replace(/\u0000/g,"").trim();if(E&&E!=".")a[b][w]=+E||0;break;case"@":a[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":a[b][w]=new Date((k._R(4)-2440588)*864e5+k._R(4));break;case"Y":a[b][w]=k._R(4,"i")/1e4;break;case"O":a[b][w]=-k._R(-8,"f");break;case"B":if(f&&d[w].len==8){a[b][w]=k._R(8,"f");break};case"G":;case"P":k.l+=d[w].len;break;case"0":if(d[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+d[w].type);}}}if(i!=2)if(n.l=0)l(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=nt();var s=Xb(e,{header:1,raw:true,cellDates:true});var o=s[0],c=s.slice(1);var u=0,h=0,d=0,v=1;for(u=0;u":190,"?":191,"{":223};var r=new RegExp("N("+Y(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?p(a):a};var a=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e["|"]=254;function n(e,r){switch(r.type){case"base64":return i(g.decode(e),r);case"binary":return i(e,r);case"buffer":return i(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),r);case"array":return i(ce(e),r);}throw new Error("Unrecognized type "+r.type)}function i(e,n){var i=e.split(/[\n\r]+/),s=-1,f=-1,o=0,c=0,u=[];var h=[];var d=null;var v={},p=[],m=[],b=[];var g=0,w;if(+n.codepage>=0)l(+n.codepage);for(;o!==i.length;++o){g=0;var k=i[o].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(r,t);var E=k.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var S=E[0],B;if(k.length>0)switch(S){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(E[1].charAt(0)=="P")h.push(k.slice(3).replace(/;;/g,";"));break;case"C":var C=false,y=false,T=false,_=false,x=-1,A=-1;for(c=1;c-1&&u[x][A];if(!F||!F[1])throw new Error("SYLK shared formula cannot find base");u[s][f][1]=Sc(F[1],{r:s-x,c:f-A})}break;case"F":var I=0;for(c=1;c0){p[s].hpt=g;p[s].hpx=Fl(g)}else if(g===0)p[s].hidden=true;break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+k);}if(I<1)d=null;break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+k);}}if(p.length>0)v["!rows"]=p;if(m.length>0)v["!cols"]=m;if(n&&n.sheetRows)u=u.slice(0,n.sheetRows);return[u,v]}function s(e,r){var t=n(e,r);var a=t[0],i=t[1];var s=xt(a,r);Y(i).forEach(function(e){s[e]=i[e]});return s}function f(e,r){return Tt(s(e,r),r)}function o(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+Ec(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function c(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=Sl(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=Bl(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*Rl(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function h(e,r){var t=["ID;PWXL;N;E"],a=[];var n=Bt(e["!ref"]),i;var s=Array.isArray(e);var f="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])c(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var l=n.s.r;l<=n.e.r;++l){for(var h=n.s.c;h<=n.e.c;++h){var d=kt({r:l,c:h});i=s?(e[l]||[])[h]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(o(i,e,l,h,r))}}return t.join(f)+f+a.join(f)+f+"E"+f}return{to_workbook:f,to_sheet:s,from_sheet:h}}();var kf=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(ce(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var l=f[0],o=f[1];++i;var c=t[i]||"";while((c.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,l=0;var o=0;for(;o<=s;++o){l=i[o].indexOf(" ");if(l==-1)l=i[o].length;else l++;f=Math.max(f,l)}for(o=0;o<=s;++o){n[o]=[];var c=0;e(i[o].slice(0,f).trim(),n,o,c,a);for(c=1;c<=(i[o].length-f)/10+1;++c)e(i[o].slice(f+(c-1)*10,f+c*10).trim(),n,o,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var a={44:3,9:2,59:1,124:0};function n(e){var r={},n=false,i=0,s=0;for(;i0)g();i["!ref"]=St(s);return i}function s(e,t){if(!(t&&t.PRN))return i(e,t);if(t.FS)return i(e,t);if(e.slice(0,4)=="sep=")return i(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return i(e,t);return xt(r(e,t),t)}function f(e,r){var t="",a=r.type=="string"?[0,0,0,0]:sb(e,r);switch(r.type){case"base64":t=g.decode(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof cptable!=="undefined")t=cptable.utils.decode(r.codepage,e);else t=w&&Buffer.isBuffer(e)?e.toString("binary"):_(e);break;case"array":t=ce(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(a[0]==239&&a[1]==187&&a[2]==191)t=qe(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=qe(t);else if(r.type=="binary"&&typeof cptable!=="undefined"&&r.codepage)t=cptable.utils.decode(r.codepage,cptable.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return Ef.to_sheet(r.type=="string"?t:qe(t),r);return s(t,r)}function l(e,r){return Tt(f(e,r),r)}function o(e){var r=[];var t=Bt(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var l=kt({r:i,c:f});a=n?(e[i]||[])[f]:e[l];if(!a||a.v==null){s.push(" ");continue}var o=(a.w||(yt(a),a.w)||"").slice(0,10);while(o.length<10)o+=" ";s.push(o+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:l,to_sheet:f,from_sheet:o}}();function Bf(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=wf.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return Sf.to_workbook(e,r)}}var Cf=function(){function e(e,r,t){if(!e)return;et(e,e.l||0);var a=t.Enum||X;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){a.Enum=X;e(r,function(e,r,t){switch(t){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:u=e;break;case 204:if(e)s=e;break;case 222:s=e;break;case 15:;case 51:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:if(t==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||P._table[14];if(a.cellDates){e[1].t="d";e[1].v=ie(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=St(u);l[i]=n;o.push(i);n=a.dense?[]:{};u={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(n[e[0].r]||[])[e[0].c]:n[kt(e[0])];if(c){c.t=e[1].t;c.v=e[1].v;if(e[1].z!=null)c.z=e[1].z;if(e[1].f!=null)c.f=e[1].f;break}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];break;default:;}},a)}else if(r[2]==26||r[2]==14){a.Enum=V;if(r[2]==14){a.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:i=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=St(u);l[i]=n;o.push(i);n=a.dense?[]:{};u={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(h>0&&e[0].r>=h)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];if(u.e.c=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=nt();var n=Bt(e["!ref"]);var s=Array.isArray(e);var f=[];mm(a,0,i(1030));mm(a,6,o(n));var c=Math.min(n.e.r,8191);for(var u=n.s.r;u<=c;++u){var d=ut(u);for(var p=n.s.c;p<=n.e.c;++p){if(u===n.s.r)f[p]=pt(p);var m=f[p]+d;var g=s?(e[u]||[])[p]:e[m];if(!g||g.t=="z")continue;if(g.t=="n"){if((g.v|0)==g.v&&g.v>=-32768&&g.v<=32767)mm(a,13,v(u,p,g.v));else mm(a,14,b(u,p,g.v))}else{var w=yt(g);mm(a,15,h(u,p,w.slice(0,239)))}}}mm(a,1);return a.end()}function n(e,r){var t=r||{};if(+t.codepage>=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=nt();mm(a,0,s(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function f(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function o(e){var r=tt(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function c(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function u(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function h(e,r,t){var a=tt(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function d(e,r,t){var a=c(e,r,t);a[1].v=e._R(2,"i");return a}function v(e,r,t){var a=tt(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function p(e,r,t){var a=c(e,r,t);a[1].v=e._R(8,"f");return a}function b(e,r,t){var a=tt(13);a._W(1,255);a._W(2,r);a._W(2,e);a._W(8,t,"f");return a}function w(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);C(e.slice(e.l,e.l+i),n);e.l+=i}return n}function k(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?pt(r):ut(r))}var E=[8,8,8,8,8,8,8,8,6,4,4,5,5,7,3,3,3,3,3,3,1,1,2,6,8,8,8,8,8,8,8,8];var S={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]};var B=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function C(e,r){et(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+l.toString(16)+":|"+t.join("|")+"|");return}var h=t.slice(-a);t.length-=a;t.push(S[l][0]+"("+h.join(",")+")")}else if(l<=7)return console.error("WK1 invalid opcode "+l.toString(16));else if(l<=24)return console.error("WK1 unsupported op "+l.toString(16));else if(l<=30)return console.error("WK1 invalid opcode "+l.toString(16));else if(l<=115)return console.error("WK1 unsupported function opcode "+l.toString(16));else return console.error("WK1 unrecognized opcode "+l.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function T(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function _(e,r){var t=T(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function x(e,r,t,a){var n=tt(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function A(e,r){var t=T(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function R(e,r){var t=T(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function F(e,r,t,a){var n=tt(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,l=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);l=a>>>0;if((l&2147483648)==0){a/=2;++s;l=a>>>0}a-=l;l|=2147483648;l>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,l);s+=16383+(i?32768:0);n._W(2,s);return n}function I(e,r){var t=R(e,14);e.l+=r-14;return t}function D(e,r){var t=T(e,r);var a=e._R(4);t[1].v=a>>6;return t}function O(e,r){var t=T(e,r);var a=e._R(8,"f");t[1].v=a;return t}function N(e,r){var t=O(e,14);e.l+=r-10;return t}function L(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function M(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var X={0:{n:"BOF",f:Qn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:f},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:d},14:{n:"NUMBER",f:p},15:{n:"LABEL",f:u},16:{n:"FORMULA",f:w},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:u},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:L},222:{n:"SHEETNAMELP",f:M},65535:{n:""}};var V={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:_},23:{n:"NUMBER17",f:R},24:{n:"NUMBER18",f:A},25:{n:"FORMULA19",f:I},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:W},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:D},38:{n:"??"},39:{n:"NUMBER27",f:O},40:{n:"FORMULA28",f:N},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:L},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:U},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function yf(e){var r={},t=e.match(De),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Ne(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var Tf=function(){var e=tr("t"),r=tr("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:We(a[1])};var i=t.match(r);if(i)n.s=yf(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var _f=function Cg(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var xf=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Af=/<(?:\w+:)?r>/;var Rf=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Ff(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=We(qe(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=qe(e);if(t)a.h=je(a.t)}else if(e.match(Af)){a.r=qe(e);a.t=We(qe((e.replace(Rf,"").match(xf)||[]).join("").replace(De,"")));if(t)a.h=_f(Tf(a.r))}return a}var If=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Df=/<(?:\w+:)?(?:si|sstItem)>/g;var Pf=/<\/(?:\w+:)?(?:si|sstItem)>/;function Of(e,r){var t=[],a="";if(!e)return t;var n=e.match(If);if(n){a=n[2].replace(Df,"").split(Pf);for(var i=0;i!=a.length;++i){var s=Ff(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Ne(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}Va.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var Nf=/^\s|\s$|[\t\n\r]/;function Lf(e,r){if(!r.bookSST)return"";var t=[Fe];t[t.length]=ur("sst",null,{xmlns:mr.main[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Mf(e){return[e._R(4),e._R(4)]}function Uf(e,r){var t=[];var a=false;at(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.indexOf("Begin")>0){}else if(i.indexOf("End")>0){}if(!a||r.WTF)throw new Error("Unexpected record "+s+" "+i);}});return t}function Wf(e,r){if(!r)r=tt(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var Hf=Nt;function Xf(e){var r=nt();it(r,"BrtBeginSst",Wf(e));for(var t=0;t=4)e.l+=r-4;return t}function zf(e){var r={};r.id=e._R(0,"lpp4");r.R=Gf(e,4);r.U=Gf(e,4);r.W=Gf(e,4);return r}function jf(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function $f(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(jf(e));return r}function Kf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function Yf(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=Gf(e,4);r.U=Gf(e,4);r.W=Gf(e,4);return r}function Jf(e){var r=Yf(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function qf(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function Qf(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function Zf(e){var r=Gf(e);switch(r.Minor){case 2:return[r.Minor,el(e,r)];case 3:return[r.Minor,rl(e,r)];case 4:return[r.Minor,tl(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function el(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=qf(e,t);var n=Qf(e,e.length-e.l);return{t:"Std",h:a,v:n}}function rl(){throw new Error("File is password-protected: ECMA-376 Extensible")}function tl(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(De,function n(e){var t=Ne(e);switch(Le(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=qf(e,n);r-=n;t.EncryptionVerifier=Qf(e,r);return t}function nl(e){var r={};var t=r.EncryptionVersionInfo=Gf(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function il(e){var r=0,t;var a=Vf(e);var n=a.length+1,i,s;var f,l,o;t=B(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;l=r<<1&32767;o=f|l;r=o^s}return r^52811}var sl=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=Vf(r);var a=i(t);var s=t.length;var f=B(16);for(var l=0;l!=16;++l)f[l]=0;var o,c,u;if((s&1)===1){o=a>>8;f[s]=n(e[0],o);--s;o=a&255;c=t[t.length-1];f[s]=n(c,o)}while(s>0){--s;o=a>>8;f[s]=n(t[s],o);--s;o=a&255;f[s]=n(t[s],o)}s=15;u=15-t.length;while(u>0){o=a>>8;f[s]=n(e[u],o);--s;--u;o=a&255;f[s]=n(t[s],o);--s;--u}return f}}();var fl=function(e,r,t,a,n){if(!n)n=r;if(!a)a=sl(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var ll=function(e){var r=0,t=sl(e);return function(e){var a=fl("",e,r,t);r=a[1];return a[0]}};function ol(e,r,t,a){var n={key:Qn(e),verificationBytes:Qn(e)};if(t.password)n.verifier=il(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=ll(t.password);return n}function cl(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=nl(e,r);else a.Data=al(e,r);return a}function ul(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)cl(e,r-2,a);else ol(e,t.biff>=8?r:r-2,t,a);return a}var hl=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(ce(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var i={s:{c:0,r:0},e:{c:0,r:n.length-1}};n.forEach(function(e,r){if(Array.isArray(a))a[r]=[];var t=/\\\w+\b/g;var n=0;var s;var f=-1;while(s=t.exec(e)){switch(s[0]){case"\\cell":var l=e.slice(n,t.lastIndex-s[0].length);if(l[0]==" ")l=l.slice(1);++f;if(l.length){var o={v:l,t:"s"};if(Array.isArray(a))a[r][f]=o;else a[kt({r:r,c:f})]=o}break;}n=t.lastIndex}if(f>i.e.c)i.e.c=f});a["!ref"]=St(i);return a}function t(r,t){return Tt(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=Bt(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1");for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var f=kt({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(yt(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function dl(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function vl(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function pl(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,l=0,o=n+i;l=s/(o>1?2-o:o);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,l,o/2]}function ml(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var l;if(t!==0)switch(f|0){case 0:;case 6:l=n*f;s[0]+=n;s[1]+=l;break;case 1:l=n*(2-f);s[0]+=l;s[1]+=n;break;case 2:l=n*(f-2);s[1]+=n;s[2]+=l;break;case 3:l=n*(4-f);s[1]+=l;s[2]+=n;break;case 4:l=n*(f-4);s[2]+=n;s[0]+=l;break;case 5:l=n*(6-f);s[2]+=l;s[0]+=n;break;}for(var o=0;o!=3;++o)s[o]=Math.round(s[o]*255);return s}function bl(e,r){if(r===0)return e;var t=pl(dl(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return vl(ml(t))}var gl=6,wl=15,kl=1,El=gl;function Sl(e){return Math.floor((e+Math.round(128/El)/256)*El)}function Bl(e){return Math.floor((e-5)/El*100+.5)/100}function Cl(e){return Math.round((e*El+5)/El*256)/256}function yl(e){return Cl(Bl(Sl(e)))}function Tl(e){var r=Math.abs(e-yl(e)),t=El;if(r>.005)for(El=kl;El":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Je(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Je(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function Pl(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(De)||[]).forEach(function(e){var t=Ne(e);switch(Le(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Ol(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(De)||[]).forEach(function(e){var f=Ne(e);switch(Le(f[0])){case"":;case"":break;case"":break;case"":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function Nl(e,r,t){r.NumberFmt=[];var a=Y(P._table);for(var n=0;n":;case"":;case"":break;case"0){if(l>392){for(l=392;l>60;--l)if(r.NumberFmt[l]==null)break;r.NumberFmt[l]=f}P.load(f,l)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function Ll(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=ur("numFmt",null,{numFmtId:a,formatCode:Ve(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=ur("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Ml=["numFmtId","fillId","fontId","borderId","xfId"];var Ul=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Wl(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(De)||[]).forEach(function(e){var i=Ne(e),s=0;switch(Le(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=Je(i.wrapText);a.alignment=f;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function Hl(e){var r=[];r[r.length]=ur("cellXfs",null);e.forEach(function(e){r[r.length]=ur("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=ur("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Xl=function yg(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,f,l){var o={};if(!s)return o;s=s.replace(//gm,"").replace(//gm,"");var c;if(c=s.match(e))Nl(c,o,l);if(c=s.match(a))Ol(c,o,f,l);if(c=s.match(t))Pl(c,o,f,l);if(c=s.match(n))Dl(c,o,f,l);if(c=s.match(r))Wl(c,o,l);return o}}();var Vl=ur("styleSheet",null,{xmlns:mr.main[0],"xmlns:vt":mr.vt});Va.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function Gl(e,r){var t=[Fe,Vl],a;if(e.SSF&&(a=Ll(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=Hl(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function zl(e,r){var t=e._R(2);var a=Ft(e,r-2);return[t,a]}function jl(e,r,t){if(!t)t=tt(6+4*r.length);t._W(2,e);It(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function $l(e,r,t){var a={};a.sz=e._R(2)/20;var n=sa(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var l=e._R(1);if(l>0)a.charset=l;e.l++;a.color=na(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Ft(e,r-21);return a}function Kl(e,r){if(!r)r=tt(25+4*32);r._W(2,e.sz*20);fa(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);ia(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);It(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Yl=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Jl=q(Yl);var ql=rt;function Ql(e,r){if(!r)r=tt(4*3+8*7+16*1);var t=Jl[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){ia({auto:1},r);ia({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function Zl(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function eo(e,r,t){if(!t)t=tt(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function ro(e,r){if(!r)r=tt(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var to=rt;function ao(e,r){if(!r)r=tt(51);r._W(1,0);ro(null,r);ro(null,r);ro(null,r);ro(null,r);ro(null,r);return r.length>r.l?r.slice(0,r.l):r}function no(e,r){if(!r)r=tt(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);jt(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function io(e,r,t){var a=tt(4+256*2*4);a._W(4,e);jt(r,a);jt(t,a);return a.length>a.l?a.slice(0,a.l):a}function so(e,r,t){var a={};a.NumberFmt=[];for(var n in P._table)a.NumberFmt[n]=P._table[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;at(e,function f(e,n,l){switch(l){case 44:a.NumberFmt[e[0]]=e[1];P.load(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=bl(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]=="BrtBeginCellXFs"){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(n);s=true;break;case 38:i.pop();s=false;break;default:if((n||"").indexOf("Begin")>0)i.push(n);else if((n||"").indexOf("End")>0)i.pop();else if(!s||t.WTF&&i[i.length-1]!="BrtACBegin")throw new Error("Unexpected record "+l+" "+n);}});return a}function fo(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;it(e,"BrtBeginFmts",Rt(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)it(e,"BrtFmt",jl(a,r[a]))});it(e,"BrtEndFmts")}function lo(e){var r=1;if(r==0)return;it(e,"BrtBeginFonts",Rt(r));it(e,"BrtFont",Kl({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));it(e,"BrtEndFonts")}function oo(e){var r=2;if(r==0)return;it(e,"BrtBeginFills",Rt(r));it(e,"BrtFill",Ql({patternType:"none"}));it(e,"BrtFill",Ql({patternType:"gray125"}));it(e,"BrtEndFills")}function co(e){var r=1;if(r==0)return;it(e,"BrtBeginBorders",Rt(r));it(e,"BrtBorder",ao({}));it(e,"BrtEndBorders")}function uo(e){var r=1;it(e,"BrtBeginCellStyleXFs",Rt(r));it(e,"BrtXF",eo({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));it(e,"BrtEndCellStyleXFs")}function ho(e,r){it(e,"BrtBeginCellXFs",Rt(r.length));r.forEach(function(r){it(e,"BrtXF",eo(r,0))});it(e,"BrtEndCellXFs")}function vo(e){var r=1;it(e,"BrtBeginStyles",Rt(r));it(e,"BrtStyle",no({xfId:0,builtinId:0,name:"Normal"}));it(e,"BrtEndStyles")}function po(e){var r=0;it(e,"BrtBeginDXFs",Rt(r));it(e,"BrtEndDXFs")}function mo(e){var r=0;it(e,"BrtBeginTableStyles",io(r,"TableStyleMedium9","PivotStyleMedium4"));it(e,"BrtEndTableStyles")}function bo(){return}function go(e,r){var t=nt();it(t,"BrtBeginStyleSheet");fo(t,e.SSF);lo(t,e);oo(t,e);co(t,e);uo(t,e);ho(t,r.cellXfs);vo(t,e);po(t,e);mo(t,e);bo(t,e);it(t,"BrtEndStyleSheet");return t.end()}Va.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";var wo=["","","","","","","","","","","",""];function ko(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(De)||[]).forEach(function(e){var n=Ne(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[wo.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function Eo(){}function So(){}var Bo=/]*)>[\s\S]*<\/a:clrScheme>/;var Co=/]*)>[\s\S]*<\/a:fontScheme>/;var yo=/]*)>[\s\S]*<\/a:fmtScheme>/;function To(e,r,t){r.themeElements={};var a;[["clrScheme",Bo,ko],["fontScheme",Co,Eo],["fmtScheme",yo,So]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var _o=/]*)>[\s\S]*<\/a:themeElements>/;function xo(e,r){if(!e||e.length===0)return xo(Ao());var t;var a={};if(!(t=e.match(_o)))throw new Error("themeElements not found in theme");To(t[0],a,r);a.raw=e;return a}function Ao(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Fe];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function Ro(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=Ae(i,{type:"array"})}catch(f){return}var l=Ce(s,"theme/theme/theme1.xml",true);if(!l)return;return xo(l,t)}function Fo(e){return e._R(4)}function Io(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=Do(e,4);break;case 2:r.xclrValue=gi(e,4);break;case 3:r.xclrValue=Fo(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function Do(e,r){return rt(e,r)}function Po(e,r){return rt(e,r)}function Oo(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Io(e,t);break;case 6:a[1]=Po(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function No(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Oo(e,t-e.l));return{ixfe:a,ext:i}}function Lo(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}Va.XLMETA="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata";function Mo(e,r,t){var a={Types:[]};if(!e)return a;var n=false;e.replace(De,function(e,r){var i=Ne(e);switch(Le(i[0])){case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":;case"":break;case"":n=false;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+i[0]+" in metadata");}return e});return a}function Uo(){var e=[Fe];e.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function Wo(e,r){return{flags:e._R(4),version:e._R(4),name:Ft(e,r-8)}}function Ho(e){var r=tt(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);It(e.name,r);return r.slice(0,r.l)}function Xo(e){var r=tt(4+8*e.length);r._W(4,e.length);for(var t=0;t0){}else if((r||"").indexOf("End")>0){}else if(!s||n.WTF&&i[i.length-1]!="BrtFRTBegin")throw new Error("Unexpected record "+t+" "+r);}});return a}function jo(){var e=nt();it(e,"BrtBeginMetadata");it(e,"BrtBeginEsmdtinfo",Rt(1));it(e,"BrtMdtinfo",Ho({name:"XLDAPR",version:12e4,flags:3496657072}));it(e,"BrtEndEsmdtinfo");it(e,"BrtBeginEsfmd",Vo(1,"XLDAPR"));it(e,"BrtBeginFmd");it(e,"BrtFRTBegin",Rt(514));it(e,"BrtBeginDynamicArrayPr",Rt(0));it(e,"BrtEndDynamicArrayPr",Zn(1));it(e,"BrtFRTEnd");it(e,"BrtEndFmd");it(e,"BrtEndEsfmd");it(e,"BrtBeginEsmdb",Go(1,true));it(e,"BrtMdb",Xo([[1,0]]));it(e,"BrtEndEsmdb");it(e,"BrtEndMetadata");return e.end()}function $o(e){var r=[];if(!e)return r;var t=1;(e.match(De)||[]).forEach(function(e){var a=Ne(e);switch(a[0]){case"":;case"":break;case"0){}else if((r||"").indexOf("End")>0){}else if(!n||t.WTF)throw new Error("Unexpected record "+s+" "+r);}});return a}function Jo(){}function qo(e,r,t,a){if(!e)return e;var n=a||{};var i=false,s=false;at(e,function f(e,r,t){if(s)return;switch(t){case 359:;case 363:;case 364:;case 366:;case 367:;case 368:;case 369:;case 370:;case 371:;case 472:;case 577:;case 578:;case 579:;case 580:;case 581:;case 582:;case 583:;case 584:;case 585:;case 586:;case 587:break;case 35:i=true;break;case 36:i=false;break;default:if((r||"").indexOf("Begin")>0){}else if((r||"").indexOf("End")>0){}else if(!i||n.WTF)throw new Error("Unexpected record "+t.toString(16)+" "+r);}},n)}Va.IMG="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -Va.DRAW="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing";function Qo(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var Zo=1024;function ec(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[ur("xml",null,{"xmlns:v":br.v,"xmlns:o":br.o,"xmlns:x":br.x,"xmlns:mv":br.mv}).replace(/\/>/,">"),ur("o:shapelayout",ur("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),ur("v:shapetype",[ur("v:stroke",null,{joinstyle:"miter"}),ur("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(Zo",i,ur("v:shadow",null,s),ur("v:path",null,{"o:connecttype":"none"}),'
','',"","",or("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),or("x:AutoFill","False"),or("x:Row",String(r.r)),or("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}Va.CMNT="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";function rc(e,r){var t=Array.isArray(e);var a;r.forEach(function(r){var n=wt(r.ref);if(t){if(!e[n.r])e[n.r]=[];a=e[n.r][n.c]}else a=e[r.ref];if(!a){a={t:"z"};if(t)e[n.r][n.c]=a;else e[r.ref]=a;var i=Bt(e["!ref"]||"BDWGO1000001:A1");if(i.s.r>n.r)i.s.r=n.r;if(i.e.rn.c)i.s.c=n.c;if(i.e.c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Ne(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=wt(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var l=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var o=!!l&&!!l[1]&&Ff(l[1])||{r:"",t:"",h:""};s.r=o.r;if(o.r=="")o.t=o.h="";s.t=(o.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=o.h;a.push(s)});return a}var ac=ur("comments",null,{xmlns:mr.main[0]});function nc(e){var r=[Fe,ac];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=Ve(e.a);if(t.indexOf(a)>-1)return;t.push(a);r.push(""+a+"")})});r.push("");r.push("");e.forEach(function(e){e[1].forEach(function(a){r.push('');r.push(or("t",a.t==null?"":Ve(a.t)));r.push("")})});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ic(e){var r={};r.iauthor=e._R(4);var t=ea(e,16);r.rfx=t.s;r.ref=kt(t.s);e.l+=16;return r}function sc(e,r){if(r==null)r=tt(36);r._W(4,e[1].iauthor);ra(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var fc=Ft;function lc(e){return It(e.slice(0,54))}function oc(e,r){var t=[];var a=[];var n={};var i=false;at(e,function s(e,f,l){switch(l){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if((f||"").indexOf("Begin")>0){}else if((f||"").indexOf("End")>0){}else if(!i||r.WTF)throw new Error("Unexpected record "+l+" "+f);}});return t}function cc(e){var r=nt();var t=[];it(r,"BrtBeginComments");it(r,"BrtBeginCommentAuthors");e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));it(r,"BrtCommentAuthor",lc(e.a))})});it(r,"BrtEndCommentAuthors");it(r,"BrtBeginCommentList");e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:wt(e[0]),e:wt(e[0])};it(r,"BrtBeginComment",sc([n,a]));if(a.t&&a.t.length>0)it(r,"BrtCommentText",Mt(a));it(r,"BrtEndComment");delete a.iauthor})});it(r,"BrtEndCommentList");it(r,"BrtEndComments");return r.end()}var uc="application/vnd.ms-office.vbaProject";function hc(e){var r=V.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");V.utils.cfb_add(r,n,e.FileIndex[a].content)});return V.write(r)}function dc(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")V.utils.cfb_add(e,n,r.FileIndex[a].content)})}var vc=["xlsb","xlsm","xlam","biff8","xla"];Va.DS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";Va.MS="http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet";function pc(){return{"!type":"dialog"}}function mc(){return{"!type":"dialog"}}function bc(){return{"!type":"macro"}}function gc(){return{"!type":"macro"}}var wc=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,l=n.length>0?parseInt(n,10)|0:0;if(i)l+=r.c;else--l;if(s)f+=r.r;else--f;return t+(i?"":"$")+pt(l)+(s?"":"$")+ut(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var kc=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var Ec=function(){return function e(r,t){return r.replace(kc,function(e,r,a,n,i,s){var f=vt(n)-(a?0:t.c);var l=ct(s)-(i?0:t.r);var o=l==0?"":!i?"["+l+"]":l+1;var c=f==0?"":!a?"["+f+"]":f+1;return r+"R"+o+"C"+c})}}();function Sc(e,r){return e.replace(kc,function(e,t,a,n,i,s){return t+(a=="$"?a+n:pt(vt(n)+r.c))+(i=="$"?i+s:ut(ct(s)+r.r))})}function Bc(e,r,t){var a=Et(r),n=a.s,i=wt(t);var s={r:i.r-n.r,c:i.c-n.c};return Sc(e,s)}function Cc(e){if(e.length==1)return false;return true}function yc(e){return e.replace(/_xlfn\./g,"")}function Tc(e){e.l+=1;return}function _c(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function xc(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Ac(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=_c(e,2);var f=_c(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function Ac(e){var r=_c(e,2),t=_c(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function Rc(e,r,t){if(t.biff<8)return Ac(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=_c(e,2);var s=_c(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function Fc(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Ic(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=_c(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Ic(e){var r=_c(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Dc(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function Pc(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Oc(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function Oc(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Nc(e,r,t){var a=(e[e.l++]&96)>>5;var n=xc(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Lc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=xc(e,i,t);return[a,n,s]}function Mc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Uc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function Wc(e,r,t){var a=(e[e.l++]&96)>>5;var n=Rc(e,r-1,t);return[a,n]}function Hc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Xc(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Vc(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function Gc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function zc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function jc(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function $c(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Kc(e){var r=e._R(1),t=e._R(1);return[r,t]}function Yc(e){e._R(2);return Kc(e,2)}function Jc(e){e._R(2);return Kc(e,2)}function qc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Fc(e,0,t);return[a,n]}function Qc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Pc(e,0,t);return[a,n]}function Zc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Fc(e,0,t);return[a,n,i]}function eu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[bh[n],mh[n],a]}function ru(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:tu(e);return[n,(i[0]===0?mh:ph)[i[1]]]}function tu(e){return[e[e.l+1]>>7,e._R(2)&32767]}function au(e,r,t){e.l+=t&&t.biff==2?3:4;return}function nu(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function iu(e){e.l++;return Da[e._R(1)]}function su(e){e.l++;return e._R(2)}function fu(e){e.l++;return e._R(1)!==0}function lu(e){e.l++;return ta(e,8)}function ou(e,r,t){e.l++;return ai(e,r-1,t)}function cu(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Jn(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=Da[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=ta(e,8);break;case 2:t[1]=li(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function uu(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?ea:_i)(e,8));return n}function hu(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=cu(e,t.biff);return s}function du(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function vu(e,r,t){if(t.biff==5)return pu(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function pu(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function mu(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function bu(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function gu(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function wu(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var ku=rt;var Eu=rt;var Su=rt;function Bu(e,r,t){e.l+=2;return[Dc(e,4,t)]}function Cu(e){e.l+=6;return[]}var yu=Bu;var Tu=Cu;var _u=Cu;var xu=Bu;function Au(e){e.l+=2;return[Qn(e),e._R(2)&1]}var Ru=Bu;var Fu=Au;var Iu=Cu;var Du=Bu;var Pu=Bu;var Ou=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function Nu(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=Ou[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Lu(e){e.l+=2;return[e._R(4)]}function Mu(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Uu(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function Wu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Hu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Xu(e){e.l+=4;return[0,0]}var Vu={1:{n:"PtgExp",f:nu},2:{n:"PtgTbl",f:Su},3:{n:"PtgAdd",f:Tc},4:{n:"PtgSub",f:Tc},5:{n:"PtgMul",f:Tc},6:{n:"PtgDiv",f:Tc},7:{n:"PtgPower",f:Tc},8:{n:"PtgConcat",f:Tc},9:{n:"PtgLt",f:Tc},10:{n:"PtgLe",f:Tc},11:{n:"PtgEq",f:Tc},12:{n:"PtgGe",f:Tc},13:{n:"PtgGt",f:Tc},14:{n:"PtgNe",f:Tc},15:{n:"PtgIsect",f:Tc},16:{n:"PtgUnion",f:Tc},17:{n:"PtgRange",f:Tc},18:{n:"PtgUplus",f:Tc},19:{n:"PtgUminus",f:Tc},20:{n:"PtgPercent",f:Tc},21:{n:"PtgParen",f:Tc},22:{n:"PtgMissArg",f:Tc},23:{n:"PtgStr",f:ou},26:{n:"PtgSheet",f:Mu},27:{n:"PtgEndSheet",f:Uu},28:{n:"PtgErr",f:iu},29:{n:"PtgBool",f:fu},30:{n:"PtgInt",f:su},31:{n:"PtgNum",f:lu},32:{n:"PtgArray",f:Hc},33:{n:"PtgFunc",f:eu},34:{n:"PtgFuncVar",f:ru},35:{n:"PtgName",f:du},36:{n:"PtgRef",f:qc},37:{n:"PtgArea",f:Nc},38:{n:"PtgMemArea",f:mu},39:{n:"PtgMemErr",f:ku},40:{n:"PtgMemNoMem",f:Eu},41:{n:"PtgMemFunc",f:bu},42:{n:"PtgRefErr",f:gu},43:{n:"PtgAreaErr",f:Mc},44:{n:"PtgRefN",f:Qc},45:{n:"PtgAreaN",f:Wc},46:{n:"PtgMemAreaN",f:Wu},47:{n:"PtgMemNoMemN",f:Hu},57:{n:"PtgNameX",f:vu},58:{n:"PtgRef3d",f:Zc},59:{n:"PtgArea3d",f:Lc},60:{n:"PtgRefErr3d",f:wu},61:{n:"PtgAreaErr3d",f:Uc},255:{}};var Gu={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};(function(){for(var e in Gu)Vu[e]=Vu[Gu[e]]})();var zu={1:{n:"PtgElfLel",f:Au},2:{n:"PtgElfRw",f:Du},3:{n:"PtgElfCol",f:yu},6:{n:"PtgElfRwV",f:Pu},7:{n:"PtgElfColV",f:xu},10:{n:"PtgElfRadical",f:Ru},11:{n:"PtgElfRadicalS",f:Iu},13:{n:"PtgElfColS",f:Tu},15:{n:"PtgElfColSV",f:_u},16:{n:"PtgElfRadicalLel",f:Fu},25:{n:"PtgList",f:Nu},29:{n:"PtgSxName",f:Lu},255:{}};var ju={0:{n:"PtgAttrNoop",f:Xu},1:{n:"PtgAttrSemi",f:$c},2:{n:"PtgAttrIf",f:zc},4:{n:"PtgAttrChoose",f:Vc},8:{n:"PtgAttrGoto",f:Gc},16:{n:"PtgAttrSum",f:au},32:{n:"PtgAttrBaxcel",f:Xc},64:{n:"PtgAttrSpace",f:Yc},65:{n:"PtgAttrSpaceSemi",f:Jc},128:{n:"PtgAttrIfError",f:jc},255:{}};ju[33]=ju[32];function $u(e,r,t,a){if(a.biff<8)return rt(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=hu(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=uu(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(rt(e,r));return i}function Ku(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=Vu[i];if(i===24||i===25)n=(i===24?zu:ju)[e[e.l+1]];if(!n||!n.f){rt(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function Yu(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};var qu=new RegExp(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/);function Qu(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(qu.test(e))return"'"+e+"'";return e}function Zu(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function eh(e,r,t){var a=Zu(e,r,t);return a=="#REF"?a:Qu(a,t)}function rh(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],l,o,c,u=0,h=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,m="";for(var b=0,g=e[0].length;b=0){switch(e[0][p][1][0]){case 0:m=he(" ",e[0][p][1][1]);break;case 1:m=he("\r",e[0][p][1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}o=o+m;p=-1}f.push(o+Ju[w[0]]+l);break;case"PtgIsect":l=f.pop();o=f.pop();f.push(o+" "+l);break;case"PtgUnion":l=f.pop();o=f.pop();f.push(o+","+l);break;case"PtgRange":l=f.pop();o=f.pop();f.push(o+":"+l);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=st(w[1][1],s,n);f.push(lt(c,i));break;case"PtgRefN":c=t?st(w[1][1],t,n):w[1][1];f.push(lt(c,i));break;case"PtgRef3d":u=w[1][1];c=st(w[1][2],s,n);v=eh(a,u,n);var k=v;f.push(v+"!"+lt(c,i));break;case"PtgFunc":;case"PtgFuncVar":var E=w[1][0],S=w[1][1];if(!E)E=0;E&=127;var B=E==0?[]:f.slice(-E);f.length-=E;if(S==="User")S=B.shift();f.push(S+"("+B.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=ft(w[1][1],t?{s:t}:s,n);f.push(ot(d,n));break;case"PtgArea":d=ft(w[1][1],s,n);f.push(ot(d,n));break;case"PtgArea3d":u=w[1][1];d=w[1][2];v=eh(a,u,n);f.push(v+"!"+ot(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":h=w[1][2];var C=(a.names||[])[h-1]||(a[0]||[])[h];var y=C?C.Name:"SH33TJSNAME"+String(h);if(y&&y.slice(0,6)=="_xlfn."&&!n.xlfn)y=y.slice(6);f.push(y);break;case"PtgNameX":var T=w[1][1];h=w[1][2];var _;if(n.biff<=5){if(T<0)T=-T;if(a[T])_=a[T][h]}else{var x="";if(((a[T]||[])[0]||[])[0]==14849){}else if(((a[T]||[])[0]||[])[0]==1025){if(a[T][h]&&a[T][h].itab>0){x=a.SheetNames[a[T][h].itab-1]+"!"}}else x=a.SheetNames[h-1]+"!";if(a[T]&&a[T][h])x+=a[T][h].Name;else if(a[0]&&a[0][h])x+=a[0][h].Name;else{var A=(Zu(a,T,n)||"").split(";;");if(A[h-1])x=A[h-1];else x+="SH33TJSERRX"}f.push(x);break}if(!_)_={Name:"SH33TJSERRY"};f.push(_.Name);break;case"PtgParen":var R="(",F=")";if(p>=0){m="";switch(e[0][p][1][0]){case 2:R=he(" ",e[0][p][1][1])+R;break;case 3:R=he("\r",e[0][p][1][1])+R;break;case 4:F=he(" ",e[0][p][1][1])+F;break;case 5:F=he("\r",e[0][p][1][1])+F;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(R+f.pop()+F);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":c={c:w[1][1],r:w[1][0]};var I={c:t.c,r:t.r};if(a.sharedf[kt(c)]){var D=a.sharedf[kt(c)];f.push(rh(D,s,I,a,n))}else{var P=false;for(l=0;l!=a.arrayf.length;++l){o=a.arrayf[l];if(c.co[0].e.c)continue;if(c.ro[0].e.r)continue;f.push(rh(o[1],s,I,a,n));P=true;break}if(!P)f.push(w[1])}break;case"PtgArray":f.push("{"+Yu(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=b;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var O=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&O.indexOf(e[0][b][0])==-1){w=e[0][p];var N=true;switch(w[1][0]){case 4:N=false;case 0:m=he(" ",w[1][1]);break;case 5:N=false;case 1:m=he("\r",w[1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((N?m:"")+f.pop()+(N?"":m));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");return f[0]}function th(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Ku(e,s,t);if(r!==s+n)i=$u(e,r-s-n,f,t);e.l=a;return[f,i]}function ah(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Ku(e,s,t);if(r!==s+n)i=$u(e,r-s-n,f,t);e.l=a;return[f,i]}function nh(e,r,t,a){var n=e.l+r;var i=Ku(e,a,t);var s;if(n!==e.l)s=$u(e,n-e.l,i,t);return[i,s]}function ih(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Ku(e,i,t);if(i==65535)return[[],rt(e,r-2)];if(r!==i+2)n=$u(e,a-i-2,s,t);return[s,n]}function sh(e){var r;if(Vr(e,e.l+6)!==65535)return[ta(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function fh(e){if(e==null){var r=tt(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return aa(e);return aa(0)}function lh(e,r,t){var a=e.l+r;var n=ki(e,6);if(t.biff==2)++e.l;var i=sh(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=ah(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function oh(e,r,t,a,n){var i=Ei(r,t,n);var s=fh(e.v);var f=tt(6);var l=1|32;f._W(2,l);f._W(4,0);var o=tt(e.bf.length);for(var c=0;c0?$u(e,i,n,t):null;return[n,s]}var uh=ch;var hh=ch;var dh=ch;var vh=ch;var ph={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var mh={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN", -44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var bh={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function gh(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function wh(e){var r="of:="+e.replace(kc,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function kh(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function Eh(e){return e.replace(/\./,"!")}var Sh={};var Bh={};Va.WS=["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"];var Ch=typeof Map!=="undefined";function yh(e,r,t){var a=0,n=e.length;if(t){if(Ch?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Ch?t.get(r):t[r];for(;a-1){t.width=Cl(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function _h(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function xh(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){P.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Ah(e,r,t,a,n,i){try{if(a.cellNF)e.z=P._table[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=oe(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(P._table[r]==null)P.load(L[r]||"General",r);if(e.t==="e")e.w=e.w||Da[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=P._general_int(e.v);else e.w=P._general_num(e.v)}else if(e.t==="d"){var f=re(e.v);if((f|0)===f)e.w=P._general_int(f);else e.w=P._general_num(f)}else if(e.v===undefined)return"";else e.w=P._general(e.v,Bh)}else if(e.t==="d")e.w=P.format(r,re(e.v),Bh);else e.w=P.format(r,e.v,Bh)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=bl(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=bl(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function Rh(e,r,t){if(e&&e["!ref"]){var a=Bt(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=St(t)}var Ih=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Dh=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Ph=/<(?:\w:)?hyperlink [^>]*>/gm;var Oh=/"(\w*:\w*)"/;var Nh=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Lh=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Mh=/<(?:\w:)?pageMargins[^>]*\/>/g;var Uh=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Wh=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Hh=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Xh(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(m!=null&&r.dense==null)r.dense=m;var f=r.dense?[]:{};var l={s:{r:2e6,c:2e6},e:{r:0,c:0}};var o="",c="";var u=e.match(Dh);if(u){o=e.slice(0,u.index);c=e.slice(u.index+u[0].length)}else o=c=e;var h=o.match(Uh);if(h)Gh(h[0],f,n,t);else if(h=o.match(Wh))zh(h[0],h[1]||"",f,n,t,s,i);var d=(o.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=o.slice(d,d+50).match(Oh);if(v)Fh(f,v[1])}var p=o.match(Hh);if(p&&p[1])nd(p[1],n);var b=[];if(r.cellStyles){var g=o.match(Nh);if(g)Zh(b,g)}if(u)fd(u[1],f,r,l,i,s);var w=c.match(Lh);if(w)f["!autofilter"]=rd(w[0]);var k=[];var E=c.match(Ih);if(E)for(d=0;d!=E.length;++d)k[d]=Bt(E[d].slice(E[d].indexOf('"')+1));var S=c.match(Ph);if(S)Jh(f,S,a);var B=c.match(Mh);if(B)f["!margins"]=qh(Ne(B[0]));if(!f["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r)f["!ref"]=St(l);if(r.sheetRows>0&&f["!ref"]){var C=Bt(f["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>l.e.r)C.e.r=l.e.r;if(C.e.rl.e.c)C.e.c=l.e.c;if(C.e.c0)f["!cols"]=b;if(k.length>0)f["!merges"]=k;return f}function Vh(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Gh(e,r,t,a){var n=Ne(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=We(qe(n.codeName))}function zh(e,r,t,a,n,i,s){Gh(e.slice(0,e.indexOf(">")),t,a,n)}function jh(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var l=r.SheetNames[t];try{if(r.Workbook)l=r.Workbook.Sheets[t].CodeName||l}catch(o){}i=true;s.codeName=Qe(Ve(l))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};if(e["!outline"].above)c.summaryBelow=0;if(e["!outline"].left)c.summaryRight=0;f=(f||"")+ur("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=ur("sheetPr",f,s)}var $h=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Kh=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Yh(e){var r={sheet:1};$h.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Kh.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=il(e.password).toString(16).toUpperCase();return ur("sheetProtection",null,r)}function Jh(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Ne(qe(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+We(i.location)}else{i.Target="#"+We(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Bt(i.ref);for(var l=f.s.r;l<=f.e.r;++l)for(var o=f.s.c;o<=f.e.c;++o){var c=kt({c:o,r:l});if(a){if(!e[l])e[l]=[];if(!e[l][o])e[l][o]={t:"z",v:undefined};e[l][o].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function qh(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Qh(e){_h(e);return ur("pageMargins",null,e)}function Zh(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Ne(r[a],true);if(n.hidden)n.hidden=Je(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;Tl(n.width)}_l(n);while(i<=s)e[i++]=ue(n)}}function ed(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=ur("col",null,Th(n,a))}t[t.length]="";return t.join("")}function rd(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function td(e,r,t,a){var n=typeof e.ref=="string"?e.ref:St(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Et(n);if(s.s.r==s.e.r){s.e.r=Et(r["!ref"]).e.r;n=St(s)}for(var f=0;fa-z][^>]*)?\/?>/;function nd(e,r){if(!r.Views)r.Views=[{}];(e.match(ad)||[]).forEach(function(e,t){var a=Ne(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(Je(a.rightToLeft))r.Views[t].RTL=true})}function id(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return ur("sheetViews",ur("sheetView",null,n),{})}function sd(e,r,t,a){if(e.v===undefined&&typeof e.f!=="string"||e.t==="z")return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Da[e.v];break;case"d":if(a&&a.cellDates)n=oe(e.v,-1).toISOString();else{e=ue(e);e.t="n";n=""+(e.v=re(oe(e.v)))}if(typeof e.z==="undefined")e.z=P._table[14];break;default:n=e.v;break;}var f=or("v",Ve(n)),l={r:r};var o=xh(a.cellXfs,e,a);if(o!==0)l.s=o;switch(e.t){case"n":break;case"d":l.t="d";break;case"b":l.t="b";break;case"e":l.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){f=or("v",""+yh(a.Strings,e.v,a.revStrings));l.t="s";break}l.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;f=ur("f",Ve(e.f),c)+(e.v!=null?f:"")}if(e.l)t["!links"].push([r,e.l]);if(e.c)t["!comments"].push([r,e.c]);if(e.D)l.cm=1;return ur("c",f,l)}var fd=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=tr("v"),s=tr("f");return function f(l,o,c,u,h,d){var v=0,p="",m=[],b=[],g=0,w=0,k=0,E="",S;var B,C=0,y=0;var T,_;var x=0,A=0;var R=Array.isArray(d.CellXf),F;var I=[];var D=[];var O=Array.isArray(o);var N=[],L={},M=false;var U=!!c.sheetStubs;for(var W=l.split(r),H=0,X=W.length;H!=X;++H){p=W[H].trim();var V=p.length;if(V===0)continue;var G=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(c&&c.cellStyles){B=Ne(p.slice(G,v),true);C=B.r!=null?parseInt(B.r,10):C+1;y=-1;if(c.sheetRows&&c.sheetRows=v)break;B=Ne(p.slice(G,v),true);C=B.r!=null?parseInt(B.r,10):C+1;y=-1;if(c.sheetRows&&c.sheetRowsC-1)u.s.r=C-1;if(u.e.r":"")+p;if(b!=null&&b.length===2){g=0;E=b[1];for(w=0;w!=E.length;++w){if((k=E.charCodeAt(w)-64)<1||k>26)break;g=26*g+k}--g;y=g}else++y;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;B=Ne(p.slice(0,w),true);if(!B.r)B.r=kt({r:C-1,c:y});E=p.slice(w);S={t:""};if((b=E.match(i))!=null&&b[1]!=="")S.v=We(b[1]);if(c.cellFormula){if((b=E.match(s))!=null&&b[1]!==""){S.f=We(qe(b[1])).replace(/\r\n/g,"\n");if(!c.xlfn)S.f=yc(S.f);if(b[0].indexOf('t="array"')>-1){S.F=(E.match(n)||[])[1];if(S.F.indexOf(":")>-1)I.push([Bt(S.F),S.F])}else if(b[0].indexOf('t="shared"')>-1){_=Ne(b[0]);var j=We(qe(b[1]));if(!c.xlfn)j=yc(j);D[parseInt(_.si,10)]=[_,j,B.r]}}else if(b=E.match(/]*\/>/)){_=Ne(b[0]);if(D[_.si])S.f=Bc(D[_.si][1],D[_.si][2],B.r)}var $=wt(B.r);for(w=0;w=I[w][0].s.r&&$.r<=I[w][0].e.r)if($.c>=I[w][0].s.c&&$.c<=I[w][0].e.c)S.F=I[w][1]}if(B.t==null&&S.v===undefined){if(S.f||S.F){S.v=0;S.t="n"}else if(!U)continue;else S.t="z"}else S.t=B.t||"n";if(u.s.c>y)u.s.c=y;if(u.e.c0)o["!rows"]=N}}();function ld(e,r,t,a){var n=[],i=[],s=Bt(e["!ref"]),f="",l,o="",c=[],u=0,h=0,d=e["!rows"];var v=Array.isArray(e);var p={r:o},m,b=-1;for(h=s.s.c;h<=s.e.c;++h)c[h]=pt(h);for(u=s.s.r;u<=s.e.r;++u){i=[];o=ut(u);for(h=s.s.c;h<=s.e.c;++h){l=c[h]+o;var g=v?(e[u]||[])[h]:e[l];if(g===undefined)continue;if((f=sd(g,l,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[u]){p={r:o};if(d&&d[u]){m=d[u];if(m.hidden)p.hidden=1;b=-1;if(m.hpx)b=Rl(m.hpx);else if(m.hpt)b=m.hpt;if(b>-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}}n[n.length]=ur("row",i.join(""),p)}}if(d)for(;u-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}n[n.length]=ur("row","",p)}}return n.join("")}var od=ur("worksheet",null,{xmlns:mr.main[0],"xmlns:r":mr.r});function cd(e,r,t,a){var n=[Fe,od];var i=t.SheetNames[e],s=0,f="";var l=t.Sheets[i];if(l==null)l={};var o=l["!ref"]||"A1";var c=Bt(o);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error("Range "+o+" exceeds format limit A1:XFD1048576");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);o=St(c)}if(!a)a={};l["!comments"]=[];var u=[];jh(l,t,e,r,n);n[n.length]=ur("dimension",null,{ref:o});n[n.length]=id(l,r,e,t);if(r.sheetFormat)n[n.length]=ur("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(l["!cols"]!=null&&l["!cols"].length>0)n[n.length]=ed(l,l["!cols"]);n[s=n.length]="";l["!links"]=[];if(l["!ref"]!=null){f=ld(l,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(l["!protect"])n[n.length]=Yh(l["!protect"]);if(l["!autofilter"]!=null)n[n.length]=td(l["!autofilter"],l,t,e);if(l["!merges"]!=null&&l["!merges"].length>0)n[n.length]=Vh(l["!merges"]);var h=-1,d,v=-1;if(l["!links"].length>0){n[n.length]="";l["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=Ya(a,-1,Ve(e[1].Target).replace(/#.*$/,""),Va.HLINK);d["r:id"]="rId"+v}if((h=e[1].Target.indexOf("#"))>-1)d.location=Ve(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=Ve(e[1].Tooltip);n[n.length]=ur("hyperlink",null,d)});n[n.length]=""}delete l["!links"];if(l["!margins"]!=null)n[n.length]=Qh(l["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=or("ignoredErrors",ur("ignoredError",null,{numberStoredAsText:1,sqref:o}));if(u.length>0){v=Ya(a,-1,"../drawings/drawing"+(e+1)+".xml",Va.DRAW);n[n.length]=ur("drawing",null,{"r:id":"rId"+v});l["!drawing"]=u}if(l["!comments"].length>0){v=Ya(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Va.VML);n[n.length]=ur("legacyDrawing",null,{"r:id":"rId"+v});l["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function ud(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function hd(e,r,t){var a=tt(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Rl(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,l=a.l;a.l+=4;var o={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.ca.l?a.slice(0,a.l):a}function dd(e,r,t,a){var n=hd(a,t,r);if(n.length>17||(r["!rows"]||[])[a])it(e,"BrtRowHdr",n)}var vd=ea;var pd=ra;function md(){}function bd(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Vt(e,r-19);return t}function gd(e,r,t){if(t==null)t=tt(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);ia({auto:1},t);t._W(-4,-1);t._W(-4,-1);Gt(e,t);return t.slice(0,t.l)}function wd(e){var r=Ut(e);return[r]}function kd(e,r,t){if(t==null)t=tt(8);return Wt(r,t)}function Ed(e){var r=Ht(e);return[r]}function Sd(e,r,t){if(t==null)t=tt(4);return Xt(r,t)}function Bd(e){var r=Ut(e);var t=e._R(1);return[r,t,"b"]}function Cd(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v?1:0);return t}function yd(e){var r=Ht(e);var t=e._R(1);return[r,t,"b"]}function Td(e,r,t){if(t==null)t=tt(5);Xt(r,t);t._W(1,e.v?1:0);return t}function _d(e){var r=Ut(e);var t=e._R(1);return[r,t,"e"]}function xd(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v);return t}function Ad(e){var r=Ht(e);var t=e._R(1);return[r,t,"e"]}function Rd(e,r,t){if(t==null)t=tt(8);Xt(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Fd(e){var r=Ut(e);var t=e._R(4);return[r,t,"s"]}function Id(e,r,t){if(t==null)t=tt(12);Wt(r,t);t._W(4,r.v);return t}function Dd(e){var r=Ht(e);var t=e._R(4);return[r,t,"s"]}function Pd(e,r,t){if(t==null)t=tt(8);Xt(r,t);t._W(4,r.v);return t}function Od(e){var r=Ut(e);var t=ta(e);return[r,t,"n"]}function Nd(e,r,t){if(t==null)t=tt(16);Wt(r,t);aa(e.v,t);return t}function Ld(e){var r=Ht(e);var t=ta(e);return[r,t,"n"]}function Md(e,r,t){if(t==null)t=tt(12);Xt(r,t);aa(e.v,t);return t}function Ud(e){var r=Ut(e);var t=Jt(e);return[r,t,"n"]}function Wd(e,r,t){if(t==null)t=tt(12);Wt(r,t);qt(e.v,t);return t}function Hd(e){var r=Ht(e);var t=Jt(e);return[r,t,"n"]}function Xd(e,r,t){if(t==null)t=tt(8);Xt(r,t);qt(e.v,t);return t}function Vd(e){var r=Ut(e);var t=Ot(e);return[r,t,"is"]}function Gd(e){var r=Ut(e);var t=Ft(e);return[r,t,"str"]}function zd(e,r,t){if(t==null)t=tt(12+4*e.v.length);Wt(r,t);It(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function jd(e){var r=Ht(e);var t=Ft(e);return[r,t,"str"]}function $d(e,r,t){if(t==null)t=tt(8+4*e.v.length);Xt(r,t);It(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Kd(e,r,t){var a=e.l+r;var n=Ut(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=hh(e,a-e.l,t);s[3]=rh(f,null,n,t.supbooks,t)}else e.l=a;return s}function Yd(e,r,t){var a=e.l+r;var n=Ut(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=hh(e,a-e.l,t);s[3]=rh(f,null,n,t.supbooks,t)}else e.l=a;return s}function Jd(e,r,t){var a=e.l+r;var n=Ut(e);n.r=t["!row"];var i=ta(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=hh(e,a-e.l,t);s[3]=rh(f,null,n,t.supbooks,t)}else e.l=a;return s}function qd(e,r,t){var a=e.l+r;var n=Ut(e);n.r=t["!row"];var i=Ft(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=hh(e,a-e.l,t);s[3]=rh(f,null,n,t.supbooks,t)}else e.l=a;return s}var Qd=ea;var Zd=ra;function ev(e,r){if(r==null)r=tt(4);r._W(4,e);return r}function rv(e,r){var t=e.l+r;var a=ea(e,16);var n=zt(e);var i=Ft(e);var s=Ft(e);var f=Ft(e);e.l=t;var l={rfx:a,relId:n,loc:i,display:f};if(s)l.Tooltip=s;return l}function tv(e,r){var t=tt(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));ra({s:wt(e[0]),e:wt(e[0])},t);Yt("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);It(n||"",t);It(e[1].Tooltip||"",t);It("",t);return t.slice(0,t.l)}function av(){}function nv(e,r,t){var a=e.l+r;var n=Qt(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=uh(e,a-e.l,t);s[1]=f}else e.l=a;return s}function iv(e,r,t){var a=e.l+r;var n=ea(e,16);var i=[n];if(t.cellFormula){var s=vh(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function sv(e,r,t){if(t==null)t=tt(18);var a=Th(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var fv=["left","right","top","bottom","header","footer"];function lv(e){var r={};fv.forEach(function(t){r[t]=ta(e,8)});return r}function ov(e,r){if(r==null)r=tt(6*8);_h(e);fv.forEach(function(t){aa(e[t],r)});return r}function cv(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function uv(e,r,t){if(t==null)t=tt(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function hv(e){var r=tt(24);r._W(4,4);r._W(4,1);ra(e,r);return r}function dv(e,r){if(r==null)r=tt(16*4+2);r._W(2,e.password?il(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function vv(){}function pv(){}function mv(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(m!=null&&f.dense==null)f.dense=m;var l=f.dense?[]:{};var o;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var u=[];var h=false,d=false;var v,p,b,g,w,k,E,S,B;var C=[];f.biff=12;f["!row"]=0;var y=0,T=false;var _=[];var x={};var A=f.supbooks||n.supbooks||[[]];A.sharedf=x;A.arrayf=_;A.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=A;if(n.Names)for(var R=0;R=R[0].s.r&&v.r<=R[0].e.r)if(w>=R[0].s.c&&w<=R[0].e.c){p.F=St(R[0]);T=true}}if(!T&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.rv.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r=e.s){F[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!D){D=true;Tl(e.w/256)}_l(F[e.e+1])}break;case 161:l["!autofilter"]={ref:St(e)};break;case 476:l["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)l["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:h=true;break;case 36:h=false;break;case 37:u.push(r);h=true;break;case 38:u.pop();h=false;break;default:if((r||"").indexOf("Begin")>0){}else if((r||"").indexOf("End")>0){}else if(!h||f.WTF)throw new Error("Unexpected record "+m+" "+r);}},f);delete f.supbooks;delete f["!row"];if(!l["!ref"]&&(c.s.r<2e6||o&&(o.e.r>0||o.e.c>0||o.s.r>0||o.s.c>0)))l["!ref"]=St(o||c);if(f.sheetRows&&l["!ref"]){var L=Bt(l["!ref"]);if(f.sheetRows<=+L.e.r){L.e.r=f.sheetRows-1;if(L.e.r>c.e.r)L.e.r=c.e.r;if(L.e.rc.e.c)L.e.c=c.e.c;if(L.e.c0)l["!merges"]=C;if(F.length>0)l["!cols"]=F;if(I.length>0)l["!rows"]=I;return l}function bv(e,r,t,a,n,i,s){if(r.v===undefined)return false;var f="";switch(r.t){case"b":f=r.v?"1":"0";break;case"d":r=ue(r);r.z=r.z||P._table[14];r.v=re(oe(r.v));r.t="n";break;case"n":;case"e":f=""+r.v;break;default:f=r.v;break;}var l={r:t,c:a};l.s=xh(n.cellXfs,r,n);if(r.l)i["!links"].push([kt(l),r.l]);if(r.c)i["!comments"].push([kt(l),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){f=yh(n.Strings,r.v,n.revStrings);l.t="s";l.v=f;if(s)it(e,"BrtShortIsst",Pd(r,l));else it(e,"BrtCellIsst",Id(r,l))}else{l.t="str";if(s)it(e,"BrtShortSt",$d(r,l));else it(e,"BrtCellSt",zd(r,l))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)it(e,"BrtShortRk",Xd(r,l));else it(e,"BrtCellRk",Wd(r,l))}else{if(s)it(e,"BrtShortReal",Md(r,l));else it(e,"BrtCellReal",Nd(r,l))}return true;case"b":l.t="b";if(s)it(e,"BrtShortBool",Td(r,l));else it(e,"BrtCellBool",Cd(r,l));return true;case"e":l.t="e";if(s)it(e,"BrtShortError",Rd(r,l));else it(e,"BrtCellError",xd(r,l));return true;}if(s)it(e,"BrtShortBlank",Sd(r,l));else it(e,"BrtCellBlank",kd(r,l));return true}function gv(e,r,t,a){var n=Bt(r["!ref"]||"A1"),i,s="",f=[];it(e,"BrtBeginSheetData");var l=Array.isArray(r);var o=n.e.r;if(r["!rows"])o=Math.max(n.e.r,r["!rows"].length-1);for(var c=n.s.r;c<=o;++c){s=ut(c);dd(e,r,n,c);var u=false;if(c<=n.e.r)for(var h=n.s.c;h<=n.e.c;++h){if(c===n.s.r)f[h]=pt(h);i=f[h]+s;var d=l?(r[c]||[])[h]:r[i];if(!d){u=false;continue}u=bv(e,d,c,h,a,r,u)}}it(e,"BrtEndSheetData")}function wv(e,r){if(!r||!r["!merges"])return;it(e,"BrtBeginMergeCells",ev(r["!merges"].length));r["!merges"].forEach(function(r){it(e,"BrtMergeCell",Zd(r))});it(e,"BrtEndMergeCells")}function kv(e,r){if(!r||!r["!cols"])return;it(e,"BrtBeginColInfos");r["!cols"].forEach(function(r,t){if(r)it(e,"BrtColInfo",sv(t,r))});it(e,"BrtEndColInfos")}function Ev(e,r){if(!r||!r["!ref"])return;it(e,"BrtBeginCellIgnoreECs");it(e,"BrtCellIgnoreEC",hv(Bt(r["!ref"])));it(e,"BrtEndCellIgnoreECs")}function Sv(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=Ya(t,-1,r[1].Target.replace(/#.*$/,""),Va.HLINK);it(e,"BrtHLink",tv(r,a))});delete r["!links"]}function Bv(e,r,t,a){if(r["!comments"].length>0){var n=Ya(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",Va.VML);it(e,"BrtLegacyDrawing",Yt("rId"+n));r["!legacy"]=n}}function Cv(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:St(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Et(i);if(f.s.r==f.e.r){f.e.r=Et(r["!ref"]).e.r;i=St(f)}for(var l=0;l16383||o.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");o.e.c=Math.min(o.e.c,16383);o.e.r=Math.min(o.e.c,1048575)}s["!links"]=[];s["!comments"]=[];it(n,"BrtBeginSheet");if(t.vbaraw||s["!outline"])it(n,"BrtWsProp",gd(f,s["!outline"]));it(n,"BrtWsDim",pd(o));yv(n,s,t.Workbook);Tv(n,s);kv(n,s,e,r,t);gv(n,s,e,r,t);_v(n,s);Cv(n,s,t,e);wv(n,s);Sv(n,s,a);if(s["!margins"])it(n,"BrtMargins",ov(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)Ev(n,s);Bv(n,s,e,a);it(n,"BrtEndSheet");return n.end()}Va.CHART="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart";Va.CHARTEX="http://schemas.microsoft.com/office/2014/relationships/chartEx";function Av(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=We((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function Rv(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,l=0,o="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=Av(e);c.s.r=c.s.c=0;c.e.c=f;o=pt(f);r[0].forEach(function(e,t){s[o+ut(t)]={t:"n",v:e,z:r[1]};l=t});if(c.e.r0)s["!ref"]=St(c);return s}Va.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";var Fv=ur("chartsheet",null,{xmlns:mr.main[0],"xmlns:r":mr.r});function Iv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(Uh);if(f)Gh(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Dv(e,r,t,a){var n=[Fe,Fv];n[n.length]=ur("drawing",null,{"r:id":"rId1"});Ya(a,-1,"../drawings/drawing"+(e+1)+".xml",Va.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Pv(e,r){e.l+=10;var t=Ft(e,r-10);return{name:t}}function Ov(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;at(e,function l(e,a,o){switch(o){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(a);break;case 38:s.pop();break;default:if((a||"").indexOf("Begin")>0)s.push(a);else if((a||"").indexOf("End")>0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record "+o+" "+a);}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Nv(){var e=nt();it(e,"BrtBeginSheet");it(e,"BrtEndSheet");return e.end()}var Lv=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var Mv=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var Uv=[];var Wv=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Hv(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Je(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Xv(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Je(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Vv(e){Xv(e.WBProps,Lv);Xv(e.CalcPr,Wv);Hv(e.WBView,Mv);Hv(e.Sheets,Uv);Bh.date1904=Je(e.WBProps.date1904)}function Gv(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Je(e.Workbook.WBProps.date1904)?"true":"false"}var zv="][*?/\\".split("");function jv(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;zv.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function $v(e,r,t){e.forEach(function(a,n){jv(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Kv(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];$v(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Lv.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Je(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=qe(c.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete c[0];t.WBView.push(c);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=We(qe(e.slice(s,o)));t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"
":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Lv.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=ur("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:Ve(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=ur("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=ur("definedName",Ve(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Zv(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Kt(e,r-8);t.name=Ft(e);return t}function ep(e,r){if(!r)r=tt(127);r._W(4,e.Hidden);r._W(4,e.iTabID);Yt(e.strRelID,r);It(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function rp(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Ft(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function tp(e,r){if(!r)r=tt(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);Gt(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function ap(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function np(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=$t(e);var s=dh(e,0,t);var f=zt(e);e.l=a;var l={Name:i,Ptg:s};if(n<268435455)l.Sheet=n;if(f)l.Comment=f;return l}function ip(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];um[16]={n:"BrtFRTArchID$",f:ap};at(e,function f(e,l,o){switch(o){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=rh(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[o,e];else s.push([o,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a.push(l);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(l);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if((l||"").indexOf("Begin")>0){}else if((l||"").indexOf("End")>0){}else if(!n||r.WTF&&a[a.length-1]!="BrtACBegin"&&a[a.length-1]!="BrtFRTBegin")throw new Error("Unexpected record "+o+" "+l);}},r);Vv(t);t.Names=i;t.supbooks=s;return t}function sp(e,r){it(e,"BrtBeginBundleShs");for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};it(e,"BrtBundleSh",ep(n))}it(e,"BrtEndBundleShs")}function fp(r,t){if(!t)t=tt(127);for(var a=0;a!=4;++a)t._W(4,0);It("SheetJS",t);It(e.version,t);It(e.version,t);It("7262",t);return t.length>t.l?t.slice(0,t.l):t}function lp(e,r){if(!r)r=tt(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function op(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;it(e,"BrtBeginBookViews");it(e,"BrtBookView",lp(n));it(e,"BrtEndBookViews")}function cp(e,r){var t=nt();it(t,"BrtBeginBook");it(t,"BrtFileVersion",fp());it(t,"BrtWbProp",tp(e.Workbook&&e.Workbook.WBProps||null));op(t,e,r);sp(t,e,r);it(t,"BrtEndBook");return t.end()}function up(e,r,t){if(r.slice(-4)===".bin")return ip(e,t);return Jv(e,t)}function hp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return mv(e,a,t,n,i,s,f);return Xh(e,a,t,n,i,s,f)}function dp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Ov(e,a,t,n,i,s,f);return Iv(e,a,t,n,i,s,f)}function vp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return bc(e,a,t,n,i,s,f);return gc(e,a,t,n,i,s,f)}function pp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return pc(e,a,t,n,i,s,f);return mc(e,a,t,n,i,s,f)}function mp(e,r,t,a){if(r.slice(-4)===".bin")return so(e,t,a);return Xl(e,t,a)}function bp(e,r,t){return xo(e,t)}function gp(e,r,t){if(r.slice(-4)===".bin")return Uf(e,t);return Of(e,t)}function wp(e,r,t){if(r.slice(-4)===".bin")return oc(e,t);return tc(e,t)}function kp(e,r,t){if(r.slice(-4)===".bin")return Yo(e,r,t);return $o(e,r,t)}function Ep(e,r,t,a){if(t.slice(-4)===".bin")return qo(e,r,t,a);return Jo(e,r,t,a)}function Sp(e,r,t){if(r.slice(-4)===".bin")return zo(e,r,t);return Mo(e,r,t)}function Bp(e,r,t){return(r.slice(-4)===".bin"?cp:Qv)(e,t)}function Cp(e,r,t,a,n){return(r.slice(-4)===".bin"?xv:cd)(e,t,a,n)}function yp(e,r,t,a,n){return(r.slice(-4)===".bin"?Nv:Dv)(e,t,a,n)}function Tp(e,r,t){return(r.slice(-4)===".bin"?go:Gl)(e,t)}function _p(e,r,t){return(r.slice(-4)===".bin"?Xf:Lf)(e,t)}function xp(e,r,t){return(r.slice(-4)===".bin"?cc:nc)(e,t)}function Ap(e){return(e.slice(-4)===".bin"?jo:Uo)()}var Rp=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var Fp=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function Ip(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(Rp),i,s,f,l;if(n)for(l=0;l!=n.length;++l){i=n[l].match(Fp);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")f="xmlns"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function Dp(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(Rp),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(Fp);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}function Pp(e,r){var t=N[e]||We(e);if(t==="General")return P._general(r);return P.format(t,r)}function Op(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Je(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=oe(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[We(r)]=n}function Np(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Da[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=P._general_int(e.v);else e.w=P._general_num(e.v)}else e.w=P._general(e.v)}else e.w=Pp(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=N[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&P.is_date(n)){var i=P.parse_date_code(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function Lp(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=Il[a.Pattern]||a.Pattern}}e[r.ID]=r}function Mp(e,r,t,a,n,i,s,f,l,o){var c="General",u=a.StyleID,h={};o=o||{};var d=[];var v=0;if(u===undefined&&f)u=f.StyleID;if(u===undefined&&s)u=s.StyleID;while(i[u]!==undefined){if(i[u].nf)c=i[u].nf;if(i[u].Interior)d.push(i[u].Interior);if(!i[u].Parent)break;u=i[u].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=Je(e);break;case"String":a.t="s";a.r=Ke(We(e));a.v=e.indexOf("<")>-1?We(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(oe(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=We(e);else if(a.v<60)a.v=a.v-1;if(!c||c=="General")c="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=Pa[e];if(o.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=Ke(r||e)}break;}Np(a,c,o);if(o.cellFormula!==false){if(a.Formula){var p=We(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=wc(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=wc("RC:RC",n);else if(a.ArrayRange){a.F=wc(a.ArrayRange,n);l.push([Bt(a.F),a.F])}}else{for(v=0;v=l[v][0].s.r&&n.r<=l[v][0].e.r)if(n.c>=l[v][0].s.c&&n.c<=l[v][0].e.c)a.F=l[v][1]}}if(o.cellStyles){d.forEach(function(e){if(!h.patternType&&e.patternType)h.patternType=e.patternType});a.s=h}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Up(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Wp(e,r){var t=r||{};O(P);var a=d(vr(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof cptable!=="undefined")a=cptable.utils.decode(65001,c(a));else a=qe(a)}var n=a.slice(0,1024).toLowerCase(),i=false;n=n.replace(/".*?"/g,"");if((n.indexOf(">")&1023)>Math.min(n.indexOf(",")&1023,n.indexOf(";")&1023)){var s=ue(t);s.type="string";return Sf.to_workbook(a,s)}if(n.indexOf("=0)i=true});if(i)return Om.to_workbook(a,t);var f;var l=[],o;if(m!=null&&t.dense==null)t.dense=m;var u={},h=[],v=t.dense?[]:{},p="";var b={},g={},w={};var k=Ip(''),E=0;var S=0,B=0;var C={s:{r:2e6,c:2e6},e:{r:0,c:0}};var y={},T={};var _="",x=0;var A=[];var R={},F={},I=0,D=[];var L=[],M={};var U=[],W,H=false;var X=[];var V=[],G={},z=0,j=0;var $={Sheets:[],WBProps:{date1904:false}},K={};pr.lastIndex=0;a=a.replace(//gm,"");var Y="";while(f=pr.exec(a))switch(f[3]=(Y=f[3]).toLowerCase()){case"data":if(Y=="data"){if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"))}else if(f[0].charAt(f[0].length-2)!=="/")l.push([f[3],true]);break}if(l[l.length-1][1])break;if(f[1]==="/")Mp(a.slice(E,f.index),_,k,l[l.length-1][0]=="comment"?M:g,{c:S,r:B},y,U[S],w,X,t);else{_="";k=Ip(f[0]);E=f.index+f[0].length}break;case"cell":if(f[1]==="/"){if(L.length>0)g.c=L;if((!t.sheetRows||t.sheetRows>B)&&g.v!==undefined){if(t.dense){if(!v[B])v[B]=[];v[B][S]=g}else v[pt(S)+ut(B)]=g}if(g.HRef){g.l={Target:We(g.HRef)};if(g.HRefScreenTip)g.l.Tooltip=g.HRefScreenTip;delete g.HRef;delete g.HRefScreenTip}if(g.MergeAcross||g.MergeDown){z=S+(parseInt(g.MergeAcross,10)|0);j=B+(parseInt(g.MergeDown,10)|0);A.push({s:{c:S,r:B},e:{c:z,r:j}})}if(!t.sheetStubs){if(g.MergeAcross)S=z+1;else++S}else if(g.MergeAcross||g.MergeDown){for(var J=S;J<=z;++J){for(var q=B;q<=j;++q){if(J>S||q>B){if(t.dense){if(!v[q])v[q]=[];v[q][J]={t:"z"}}else v[pt(J)+ut(q)]={t:"z"}}}}S=z+1}else++S}else{g=Dp(f[0]);if(g.Index)S=+g.Index-1;if(SC.e.c)C.e.c=S;if(f[0].slice(-2)==="/>")++S;L=[]}break;case"row":if(f[1]==="/"||f[0].slice(-2)==="/>"){if(BC.e.r)C.e.r=B;if(f[0].slice(-2)==="/>"){w=Ip(f[0]);if(w.Index)B=+w.Index-1}S=0;++B}else{w=Ip(f[0]);if(w.Index)B=+w.Index-1;G={};if(w.AutoFitHeight=="0"||w.Height){G.hpx=parseInt(w.Height,10);G.hpt=Rl(G.hpx);V[B]=G}if(w.Hidden=="1"){G.hidden=true;V[B]=G}}break;case"worksheet":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"));h.push(p);if(C.s.r<=C.e.r&&C.s.c<=C.e.c){v["!ref"]=St(C);if(t.sheetRows&&t.sheetRows<=C.e.r){v["!fullref"]=v["!ref"];C.e.r=t.sheetRows-1;v["!ref"]=St(C)}}if(A.length)v["!merges"]=A;if(U.length>0)v["!cols"]=U;if(V.length>0)v["!rows"]=V;u[p]=v}else{C={s:{r:2e6,c:2e6},e:{r:0,c:0}};B=S=0;l.push([f[3],false]);o=Ip(f[0]);p=We(o.Name);v=t.dense?[]:{};A=[];X=[];V=[];K={name:p,Hidden:0};$.Sheets.push(K)}break;case"table":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"))}else if(f[0].slice(-2)=="/>")break;else{b=Ip(f[0]);l.push([f[3],false]);U=[];H=false}break;case"style":if(f[1]==="/")Lp(y,T,t);else T=Ip(f[0]);break;case"numberformat":T.nf=We(Ip(f[0]).Format||"General");if(N[T.nf])T.nf=N[T.nf];for(var Q=0;Q!=392;++Q)if(P._table[Q]==T.nf)break;if(Q==392)for(Q=57;Q!=392;++Q)if(P._table[Q]==null){P.load(T.nf,Q);break}break;case"column":if(l[l.length-1][0]!=="table")break;W=Ip(f[0]);if(W.Hidden){W.hidden=true;delete W.Hidden}if(W.Width)W.wpx=parseInt(W.Width,10);if(!H&&W.wpx>10){H=true;El=gl;for(var Z=0;Z0)te.Sheet=$.Sheets.length-1;$.Names.push(te);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(f[0].slice(-2)==="/>")break;else if(f[1]==="/")_+=a.slice(x,f.index);else x=f.index+f[0].length;break;case"interior":if(!t.cellStyles)break;T.Interior=Ip(f[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(f[0].slice(-2)==="/>")break;else if(f[1]==="/")Sn(R,Y,a.slice(I,f.index));else I=f.index+f[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"))}else l.push([f[3],false]);break;case"comment":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"));Up(M);L.push(M)}else{l.push([f[3],false]);o=Ip(f[0]);M={a:o.Author}}break;case"autofilter":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"))}else if(f[0].charAt(f[0].length-2)!=="/"){var ae=Ip(f[0]);v["!autofilter"]={ref:wc(ae.Range).replace(/\$/g,"")};l.push([f[3],true])}break;case"name":break;case"datavalidation":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"))}else{if(f[0].charAt(f[0].length-2)!=="/")l.push([f[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(f[1]==="/"){if((o=l.pop())[0]!==f[3])throw new Error("Bad state: "+o.join("|"))}else if(f[0].charAt(f[0].length-2)!=="/")l.push([f[3],true]);break;case"null":break;default:if(l.length==0&&f[3]=="document")return Vm(a,t);if(l.length==0&&f[3]=="uof")return Vm(a,t);var ne=true;switch(l[l.length-1][0]){case"officedocumentsettings":switch(f[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:ne=false;}break;case"componentoptions":switch(f[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:ne=false;}break;case"excelworkbook":switch(f[3]){case"date1904":$.WBProps.date1904=true;break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex": -break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:ne=false;}break;case"workbookoptions":switch(f[3]){case"owcversion":break;case"height":break;case"width":break;default:ne=false;}break;case"worksheetoptions":switch(f[3]){case"visible":if(f[0].slice(-2)==="/>"){}else if(f[1]==="/")switch(a.slice(I,f.index)){case"SheetHidden":K.Hidden=1;break;case"SheetVeryHidden":K.Hidden=2;break;}else I=f.index+f[0].length;break;case"header":if(!v["!margins"])_h(v["!margins"]={},"xlml");if(!isNaN(+Ne(f[0]).Margin))v["!margins"].header=+Ne(f[0]).Margin;break;case"footer":if(!v["!margins"])_h(v["!margins"]={},"xlml");if(!isNaN(+Ne(f[0]).Margin))v["!margins"].footer=+Ne(f[0]).Margin;break;case"pagemargins":var ie=Ne(f[0]);if(!v["!margins"])_h(v["!margins"]={},"xlml");if(!isNaN(+ie.Top))v["!margins"].top=+ie.Top;if(!isNaN(+ie.Left))v["!margins"].left=+ie.Left;if(!isNaN(+ie.Right))v["!margins"].right=+ie.Right;if(!isNaN(+ie.Bottom))v["!margins"].bottom=+ie.Bottom;break;case"displayrighttoleft":if(!$.Views)$.Views=[];if(!$.Views[0])$.Views[0]={};$.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!v["!outline"])v["!outline"]={};v["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!v["!outline"])v["!outline"]={};v["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:ne=false;}break;case"pivottable":;case"pivotcache":switch(f[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:ne=false;}break;case"pagebreaks":switch(f[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:ne=false;}break;case"autofilter":switch(f[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:ne=false;}break;case"querytable":switch(f[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:ne=false;}break;case"datavalidation":switch(f[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:ne=false;}break;case"sorting":;case"conditionalformatting":switch(f[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:ne=false;}break;case"mapinfo":;case"schema":;case"data":switch(f[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:ne=false;}break;case"smarttags":break;default:ne=false;break;}if(ne)break;if(f[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+f[3]+"|"+l.join("|");if(l[l.length-1][0]==="customdocumentproperties"){if(f[0].slice(-2)==="/>")break;else if(f[1]==="/")Op(F,Y,D,a.slice(I,f.index));else{D=f;I=f.index+f[0].length}break}if(t.WTF)throw"Unrecognized tag: "+f[3]+"|"+l.join("|");}var se={};if(!t.bookSheets&&!t.bookProps)se.Sheets=u;se.SheetNames=h;se.Workbook=$;se.SSF=P.get_table();se.Props=R;se.Custprops=F;return se}function Hp(e,r){Ym(r=r||{});switch(r.type||"base64"){case"base64":return Wp(g.decode(e),r);case"binary":;case"buffer":;case"file":return Wp(e,r);case"array":return Wp(_(e),r);}}function Xp(e,r){var t=[];if(e.Props)t.push(Bn(e.Props,r));if(e.Custprops)t.push(Cn(e.Props,e.Custprops,r));return t.join("")}function Vp(){return""}function Gp(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(ur("NumberFormat",null,{"ss:Format":Ve(P._table[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(ur("Style",a.join(""),n))});return ur("Styles",t.join(""))}function zp(e){return ur("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+Ec(e.Ref,{r:0,c:0})})}function jp(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(ur("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(ur("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(ur("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(ur("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(or("ProtectContents","True"));if(e["!protect"].objects)n.push(or("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(or("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(or("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(or("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return ur("WorksheetOptions",n.join(""),{xmlns:br.x})}function Yp(e){return e.map(function(e){var r=Ye(e.t||"");var t=ur("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return ur("Comment",t,{"ss:Author":e.a})}).join("")}function Jp(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+Ve(Ec(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var l=wt(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(l.r==s.r?"":"["+(l.r-s.r)+"]")+"C"+(l.c==s.c?"":"["+(l.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=Ve(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=Ve(e.l.Tooltip)}if(t["!merges"]){var o=t["!merges"];for(var c=0;c!=o.length;++c){if(o[c].s.c!=s.c||o[c].s.r!=s.r)continue;if(o[c].e.c>o[c].s.c)f["ss:MergeAcross"]=o[c].e.c-o[c].s.c;if(o[c].e.r>o[c].s.r)f["ss:MergeDown"]=o[c].e.r-o[c].s.r}}var u="",h="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":u="Number";h=String(e.v);break;case"b":u="Boolean";h=e.v?"1":"0";break;case"e":u="Error";h=Da[e.v];break;case"d":u="DateTime";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||P._table[14];break;case"s":u="String";h=$e(e.v||"");break;}var d=xh(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?h:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Yp(e.c);return ur("Cell",p,f)}function qp(e,r){var t='"}function Qp(e,r,t,a){if(!e["!ref"])return"";var n=Bt(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){_l(e);var t=!!e.width;var a=Th(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Sl(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(ur("Column",null,n))});var l=Array.isArray(e);for(var o=n.s.r;o<=n.e.r;++o){var c=[qp(o,(e["!rows"]||[])[o])];for(var u=n.s.c;u<=n.e.c;++u){var h=false;for(s=0;s!=i.length;++s){if(i[s].s.c>u)continue;if(i[s].s.r>o)continue;if(i[s].e.c");if(c.length>2)f.push(c.join(""))}return f.join("")}function Zp(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?$p(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?Qp(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Kp(i,r,e,t));return a.join("")}function em(e,r){if(!r)r={};if(!e.SSF)e.SSF=P.get_table();if(e.SSF){O(P);P.load_table(e.SSF);r.revssf=Q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];xh(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(Xp(e,r));t.push(Vp(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=ca(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}function tm(e,r,t,a){var n=t;var i=[];var s=r.slice(r.l,r.l+n);if(a&&a.enc&&a.enc.insitu&&s.length>0)switch(e.n){case"BOF":;case"FilePass":;case"FileLock":;case"InterfaceHdr":;case"RRDInfo":;case"RRDHead":;case"UsrExcl":;case"EOF":break;case"BoundSheet8":break;default:a.enc.insitu(s);}i.push(s);r.l+=n;var f=vm[Vr(r,r.l)];var l=0;while(f!=null&&f.n.slice(0,8)==="Continue"){n=Vr(r,r.l+2);l=r.l+4;if(f.n=="ContinueFrt")l+=4;else if(f.n.slice(0,11)=="ContinueFrt"){l+=12}s=r.slice(l,r.l+4+n);i.push(s);r.l+=4+n;f=vm[Vr(r,r.l)]}var o=F(i);et(o,0);var c=0;o.lens=[];for(var u=0;u1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)x(e,r,t);delete r.ixfe;delete r.XF;h=e;d=kt(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==J)throw new Error("rt mismatch: "+Z+"!="+J);if(Q.r==12){e.l+=10;q-=10}}var ee={};if(Q.n==="EOF")ee=Q.f(e,q,R);else ee=tm(Q,e,q,R);var re=Q.n;if(X==0&&re!="BOF")continue;switch(re){case"Date1904":t.opts.Date1904=y.WBProps.date1904=ee;break;case"WriteProtect":t.opts.WriteProtect=true;break;case"FilePass":if(!R.enc)e.l=0;R.enc=ee;if(!r.password)throw new Error("File is password-protected");if(ee.valid==null)throw new Error("Encryption scheme unsupported");if(!ee.valid)throw new Error("Password is incorrect");break;case"WriteAccess":R.lastuser=ee;break;case"FileSharing":break;case"CodePage":var te=Number(ee);switch(te){case 21010:te=1200;break;case 32768:te=1e4;break;case 32769:te=1252;break;}l(R.codepage=te);$=true;break;case"RRTabId":R.rrtabid=ee;break;case"WinProtect":R.winlocked=ee;break;case"Template":break;case"BookBool":break;case"UsesELFs":break;case"MTRSettings":break;case"RefreshAll":;case"CalcCount":;case"CalcDelta":;case"CalcIter":;case"CalcMode":;case"CalcPrecision":;case"CalcSaveRecalc":t.opts[re]=ee;break;case"CalcRefMode":R.CalcRefMode=ee;break;case"Uncalced":break;case"ForceFullCalculation":t.opts.FullCalc=ee;break;case"WsBool":if(ee.fDialog)n["!type"]="dialog";if(!ee.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!ee.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case"XF":B.push(ee);break;case"ExtSST":break;case"BookExt":break;case"RichTextStream":break;case"BkHim":break;case"SupBook":W.push([ee]);W[W.length-1].XTI=[];break;case"ExternName":W[W.length-1].push(ee);break;case"Index":break;case"Lbl":j={Name:ee.Name,Ref:rh(ee.rgce,s,null,W,R)};if(ee.itab>0)j.Sheet=ee.itab-1;W.names.push(j);if(!W[0]){W[0]=[];W[0].XTI=[]}W[W.length-1].push(ee);if(ee.Name=="_xlnm._FilterDatabase"&&ee.itab>0)if(ee.rgce&&ee.rgce[0]&&ee.rgce[0][0]&&ee.rgce[0][0][0]=="PtgArea3d")z[ee.itab-1]={ref:St(ee.rgce[0][0][1][2])};break;case"ExternCount":R.ExternCount=ee;break;case"ExternSheet":if(W.length==0){W[0]=[];W[0].XTI=[]}W[W.length-1].XTI=W[W.length-1].XTI.concat(ee);W.XTI=W.XTI.concat(ee);break;case"NameCmt":if(R.biff<8)break;if(j!=null)j.Comment=ee[1];break;case"Protect":n["!protect"]=ee;break;case"Password":if(ee!==0&&R.WTF)console.error("Password verifier: "+ee);break;case"Prot4Rev":;case"Prot4RevPass":break;case"BoundSheet8":{i[ee.pos]=ee;R.snames.push(ee.name)}break;case"EOF":{if(--X)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=St(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var ae=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=St(s);s.e.r=ae}s.e.r++;s.e.c++}if(I.length>0)n["!merges"]=I;if(D.length>0)n["!objects"]=D;if(O.length>0)n["!cols"]=O;if(N.length>0)n["!rows"]=N;y.Sheets.push(T)}if(c==="")u=n;else a[c]=n;n=r.dense?[]:{}}break;case"BOF":{if(R.biff===8)R.biff={9:2,521:3,1033:4}[J]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[ee.BIFFVer]||8;R.biffguess=ee.BIFFVer==0;if(ee.BIFFVer==0&&ee.dt==4096){R.biff=5;$=true;l(R.codepage=28591)}if(R.biff==8&&ee.BIFFVer==0&&ee.dt==16)R.biff=2;if(X++)break;n=r.dense?[]:{};if(R.biff<8&&!$){$=true;l(R.codepage=r.codepage||1252)}if(R.biff<5||ee.BIFFVer==0&&ee.dt==4096){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var ne={pos:e.l-q,name:c};i[ne.pos]=ne;R.snames.push(c)}else c=(i[K]||{name:""}).name;if(ee.dt==32)n["!type"]="chart";if(ee.dt==64)n["!type"]="macro";I=[];D=[];R.arrayf=k=[];O=[];N=[];L=M=0;U=false;T={Hidden:(i[K]||{hs:0}).hs,name:c}}break;case"Number":;case"BIFF2NUM":;case"BIFF2INT":{if(n["!type"]=="chart")if(r.dense?(n[ee.r]||[])[ee.c]:n[kt({c:ee.c,r:ee.r})])++ee.c;E={ixfe:ee.ixfe,XF:B[ee.ixfe]||{},v:ee.val,t:"n"};if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ee.c,r:ee.r},E,r)}break;case"BoolErr":{E={ixfe:ee.ixfe,XF:B[ee.ixfe],v:ee.val,t:ee.t};if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ee.c,r:ee.r},E,r)}break;case"RK":{E={ixfe:ee.ixfe,XF:B[ee.ixfe],v:ee.rknum,t:"n"};if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ee.c,r:ee.r},E,r)}break;case"MulRk":{for(var ie=ee.c;ie<=ee.C;++ie){var se=ee.rkrec[ie-ee.c][0];E={ixfe:se,XF:B[se],v:ee.rkrec[ie-ee.c][1],t:"n"};if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ie,r:ee.r},E,r)}}break;case"Formula":{if(ee.val=="String"){f=ee;break}E=nm(ee.val,ee.cell.ixfe,ee.tt);E.XF=B[E.ixfe];if(r.cellFormula){var fe=ee.formula;if(fe&&fe[0]&&fe[0][0]&&fe[0][0][0]=="PtgExp"){var le=fe[0][0][1][0],oe=fe[0][0][1][1];var ce=kt({r:le,c:oe});if(w[ce])E.f=""+rh(ee.formula,s,ee.cell,W,R);else E.F=((r.dense?(n[le]||[])[oe]:n[ce])||{}).F}else E.f=""+rh(ee.formula,s,ee.cell,W,R)}if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A(ee.cell,E,r);f=ee}break;case"String":{if(f){f.val=ee;E=nm(ee,f.cell.ixfe,"s");E.XF=B[E.ixfe];if(r.cellFormula){E.f=""+rh(f.formula,s,f.cell,W,R)}if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A(f.cell,E,r);f=null}else throw new Error("String record expects Formula")}break;case"Array":{k.push(ee);var ue=kt(ee[0].s);v=r.dense?(n[ee[0].s.r]||[])[ee[0].s.c]:n[ue];if(r.cellFormula&&v){if(!f)break;if(!ue||!v)break;v.f=""+rh(ee[1],s,ee[0],W,R);v.F=St(ee[0])}}break;case"ShrFmla":{if(!r.cellFormula)break;if(d){if(!f)break;w[kt(f.cell)]=ee[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[kt(f.cell)];(v||{}).f=""+rh(ee[0],s,h,W,R)}}break;case"LabelSst":E=nm(o[ee.isst].t,ee.ixfe,"s");if(o[ee.isst].h)E.h=o[ee.isst].h;E.XF=B[E.ixfe];if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ee.c,r:ee.r},E,r);break;case"Blank":if(r.sheetStubs){E={ixfe:ee.ixfe,XF:B[ee.ixfe],t:"z"};if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ee.c,r:ee.r},E,r)}break;case"MulBlank":if(r.sheetStubs){for(var he=ee.c;he<=ee.C;++he){var de=ee.ixfe[he-ee.c];E={ixfe:de,XF:B[de],t:"z"};if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:he,r:ee.r},E,r)}}break;case"RString":;case"Label":;case"BIFF2STR":E=nm(ee.val,ee.ixfe,"s");E.XF=B[E.ixfe];if(V>0)E.z=G[E.ixfe>>8&63];am(E,r,t.opts.Date1904);A({c:ee.c,r:ee.r},E,r);break;case"Dimensions":{if(X===1)s=ee}break;case"SST":{o=ee}break;case"Format":{if(R.biff==4){G[V++]=ee[1];for(var ve=0;ve=163)P.load(ee[1],V+163)}else P.load(ee[1],ee[0])}break;case"BIFF2FORMAT":{G[V++]=ee;for(var pe=0;pe=163)P.load(ee,V+163)}break;case"MergeCells":I=I.concat(ee);break;case"Obj":D[ee.cmo[0]]=R.lastobj=ee;break;case"TxO":R.lastobj.TxO=ee;break;case"ImData":R.lastobj.ImData=ee;break;case"HLink":{for(g=ee[0].s.r;g<=ee[0].e.r;++g)for(b=ee[0].s.c;b<=ee[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[kt({c:b,r:g})];if(v)v.l=ee[1]}}break;case"HLinkTooltip":{for(g=ee[0].s.r;g<=ee[0].e.r;++g)for(b=ee[0].s.c;b<=ee[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[kt({c:b,r:g})];if(v&&v.l)v.l.Tooltip=ee[1]}}break;case"Note":{if(R.biff<=5&&R.biff>=2)break;v=r.dense?(n[ee[0].r]||[])[ee[0].c]:n[kt(ee[0])];var me=D[ee[2]];if(!v){if(r.dense){if(!n[ee[0].r])n[ee[0].r]=[];v=n[ee[0].r][ee[0].c]={t:"z"}}else{v=n[kt(ee[0])]={t:"z"}}s.e.r=Math.max(s.e.r,ee[0].r);s.s.r=Math.min(s.s.r,ee[0].r);s.e.c=Math.max(s.e.c,ee[0].c);s.s.c=Math.min(s.s.c,ee[0].c)}if(!v.c)v.c=[];p={a:ee[1],t:me.TxO.t};v.c.push(p)}break;default:switch(Q.n){case"ClrtClient":break;case"XFExt":Lo(B[ee.ixfe],ee.ext);break;case"DefColWidth":L=ee;break;case"DefaultRowHeight":M=ee[1];break;case"ColInfo":{if(!R.cellStyles)break;while(ee.e>=ee.s){O[ee.e--]={width:ee.w/256,level:ee.level||0,hidden:!!(ee.flags&1)};if(!U){U=true;Tl(ee.w/256)}_l(O[ee.e+1])}}break;case"Row":{var be={};if(ee.level!=null){N[ee.r]=be;be.level=ee.level}if(ee.hidden){N[ee.r]=be;be.hidden=true}if(ee.hpt){N[ee.r]=be;be.hpt=ee.hpt;be.hpx=Fl(ee.hpt)}}break;case"LeftMargin":;case"RightMargin":;case"TopMargin":;case"BottomMargin":if(!n["!margins"])_h(n["!margins"]={});n["!margins"][re.slice(0,-6).toLowerCase()]=ee;break;case"Selection":break;case"Setup":if(!n["!margins"])_h(n["!margins"]={});n["!margins"].header=ee.header;n["!margins"].footer=ee.footer;break;case"Window2":if(ee.RTL)y.Views[0].RTL=true;break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"GCW":break;case"LHRecord":break;case"DBCell":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXString":break;case"Sync":break;case"Addin":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Feat":break;case"FeatHdr":;case"FeatHdr11":break;case"Feature11":;case"Feature12":;case"List12":break;case"Country":S=ee;break;case"RecalcId":break;case"DxGCol":break;case"Fbi":;case"Fbi2":;case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":C=ee;break;case"Theme":F=ee;break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{if(!c)y.WBProps.CodeName=ee||"ThisWorkbook";else T.CodeName=ee||T.name}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":;case"DXFN":;case"DXFN12":;case"DXFN12List":;case"DXFN12NoCB":break;case"Dv":;case"DVal":break;case"BRAI":;case"Series":;case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"OleDbConn":break;case"ExtString":break;case"IFmtRecord":break;case"CondFmt":;case"CF":;case"CF12":;case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":;case"Mms":;case"InterfaceEnd":;case"DSF":break;case"BuiltInFnGroupCount":break;case"Window1":;case"HideObj":;case"GridSet":;case"Guts":;case"UserBView":;case"UserSViewBegin":;case"UserSViewEnd":break;case"Pane":break;default:switch(Q.n){case"Dat":;case"Begin":;case"End":;case"StartBlock":;case"EndBlock":;case"Frame":;case"Area":;case"Axis":;case"AxisLine":;case"Tick":break;case"AxesUsed":;case"CrtLayout12":;case"CrtLayout12A":;case"CrtLink":;case"CrtLine":;case"CrtMlFrt":;case"CrtMlFrtContinue":break;case"LineFormat":;case"AreaFormat":;case"Chart":;case"Chart3d":;case"Chart3DBarShape":;case"ChartFormat":;case"ChartFrtInfo":break;case"PlotArea":;case"PlotGrowth":break;case"SeriesList":;case"SerParent":;case"SerAuxTrend":break;case"DataFormat":;case"SerToCrt":;case"FontX":break;case"CatSerRange":;case"AxcExt":;case"SerFmt":break;case"ShtProps":break;case"DefaultText":;case"Text":;case"CatLab":break;case"DataLabExtContents":break;case"Legend":;case"LegendException":break;case"Pie":;case"Scatter":break;case"PieFormat":;case"MarkerFormat":break;case"StartObject":;case"EndObject":break;case"AlRuns":;case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":;case"YMult":break;case"Line":;case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":;case"Qsif":;case"Qsir":;case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":;case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":;case"MsoDrawingGroup":;case"MsoDrawingSelection":break;case"WebPub":;case"AutoWebPub":break;case"HeaderFooter":;case"HFPicture":;case"PLV":;case"HorizontalPageBreaks":;case"VerticalPageBreaks":break;case"Backup":;case"CompressPictures":;case"Compat12":break;case"Continue":;case"ContinueFrt12":break;case"FrtFontList":;case"FrtWrapper":break;default:switch(Q.n){case"TabIdConf":;case"Radar":;case"RadarArea":;case"DropBar":;case"Intl":;case"CoordList":;case"SerAuxErrBar":break;case"BIFF2FONTCLR":;case"BIFF2FMTCNT":;case"BIFF2FONTXTRA":break;case"BIFF2XF":;case"BIFF3XF":;case"BIFF4XF":break;case"BIFF2XFINDEX":break;case"BIFF4FMTCNT":;case"BIFF2ROW":;case"BIFF2WINDOW2":break;case"SCENARIO":;case"DConBin":;case"PicF":;case"DataLabExt":;case"Lel":;case"BopPop":;case"BopPopCustom":;case"RealTimeData":;case"Name":break;case"LHNGraph":;case"FnGroupName":;case"AddMenu":;case"LPr":break;case"ListObj":;case"ListField":break;case"RRSort":break;case"BigName":break;case"ToolbarHdr":;case"ToolbarEnd":break;case"DDEObjName":break;case"FRTArchId$":break;default:if(r.WTF)throw"Unrecognized Record "+Q.n;};};};}}else e.l+=q}t.SheetNames=Y(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&u["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=u}else t.Preamble=u;if(t.Sheets)z.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=o;t.SSF=P.get_table();if(R.enc)t.Encryption=R.enc;if(F)t.Themes=F;t.Metadata={};if(S!==undefined)t.Metadata.Country=S;if(W.names.length>0)y.Names=W.names;t.Workbook=y;return t}var sm={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function fm(e,r,t){var a=V.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=zn(a,Ca,sm.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=V.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var l=zn(f,ya,sm.SI);for(var o in l)if(r[o]==null)r[o]=l[o]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){hn(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function lm(e,r){var t=[],a=[],n=[];var i=0,s;if(e.Props){s=Y(e.Props);for(i=0;i-1)continue;if(n[i][1]==null)continue;f.push(n[i])}if(a.length)V.utils.cfb_add(r,"/SummaryInformation",jn(a,sm.SI,_a,ya));if(t.length||f.length)V.utils.cfb_add(r,"/DocumentSummaryInformation",jn(t,sm.DSI,Ta,Ca,f.length?f:null,sm.UDI))}function om(e,r){if(!r)r={};Ym(r);o();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(V.find(e,"/encryption"))throw new Error("File is password-protected");t=V.find(e,"!CompObj");a=V.find(e,"/Workbook")||V.find(e,"/Book")}else{switch(r.type){case"base64":e=y(g.decode(e));break;case"binary":e=y(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}et(e,0);a={content:e}}var n;var i;if(t)rm(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=w?"buffer":"array";if(a&&a.content)n=im(a.content,r);else if((i=V.find(e,"PerfectOffice_MAIN"))&&i.content)n=Cf.to_workbook(i.content,(r.type=f,r));else if((i=V.find(e,"NativeContent_MAIN"))&&i.content)n=Cf.to_workbook(i.content,(r.type=f,r));else if((i=V.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&V.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=hc(e)}var l={};if(e.FullPaths)fm(e,l,r);n.Props=n.Custprops=l;if(r.bookFiles)n.cfb=e;return n}function cm(e,r){var t=r||{};var a=V.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}V.utils.cfb_add(a,n,Pm(e,t));if(t.biff==8&&(e.Props||e.Custprops))lm(e,a);if(t.biff==8&&e.vbaraw)dc(a,V.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var um={0:{n:"BrtRowHdr",f:ud},1:{n:"BrtCellBlank",f:wd},2:{n:"BrtCellRk",f:Ud},3:{n:"BrtCellError",f:_d},4:{n:"BrtCellBool",f:Bd},5:{n:"BrtCellReal",f:Od},6:{n:"BrtCellSt",f:Gd},7:{n:"BrtCellIsst",f:Fd},8:{n:"BrtFmlaString",f:qd},9:{n:"BrtFmlaNum",f:Jd},10:{n:"BrtFmlaBool",f:Kd},11:{n:"BrtFmlaError",f:Yd},12:{n:"BrtShortBlank",f:Ed},13:{n:"BrtShortRk",f:Hd},14:{n:"BrtShortError",f:Ad},15:{n:"BrtShortBool",f:yd},16:{n:"BrtShortReal",f:Ld},17:{n:"BrtShortSt",f:jd},18:{n:"BrtShortIsst",f:Dd},19:{n:"BrtSSTItem",f:Ot},20:{n:"BrtPCDIMissing"},21:{n:"BrtPCDINumber"},22:{n:"BrtPCDIBoolean"},23:{n:"BrtPCDIError"},24:{n:"BrtPCDIString"},25:{n:"BrtPCDIDatetime"},26:{n:"BrtPCDIIndex"},27:{n:"BrtPCDIAMissing"},28:{n:"BrtPCDIANumber"},29:{n:"BrtPCDIABoolean"},30:{n:"BrtPCDIAError"},31:{n:"BrtPCDIAString"},32:{n:"BrtPCDIADatetime"},33:{n:"BrtPCRRecord"},34:{n:"BrtPCRRecordDt"},35:{n:"BrtFRTBegin"},36:{n:"BrtFRTEnd"},37:{n:"BrtACBegin"},38:{n:"BrtACEnd"},39:{n:"BrtName",f:np},40:{n:"BrtIndexRowBlock"},42:{n:"BrtIndexBlock"},43:{n:"BrtFont",f:$l},44:{n:"BrtFmt",f:zl},45:{n:"BrtFill",f:ql},46:{n:"BrtBorder",f:to},47:{n:"BrtXF",f:Zl},48:{n:"BrtStyle"},49:{n:"BrtCellMeta",f:At},50:{n:"BrtValueMeta"},51:{n:"BrtMdb"},52:{n:"BrtBeginFmd"},53:{n:"BrtEndFmd"},54:{n:"BrtBeginMdx"},55:{n:"BrtEndMdx"},56:{n:"BrtBeginMdxTuple"},57:{n:"BrtEndMdxTuple"},58:{n:"BrtMdxMbrIstr"},59:{n:"BrtStr"},60:{n:"BrtColInfo",f:ef},62:{n:"BrtCellRString",f:Vd},63:{n:"BrtCalcChainItem$",f:Ko},64:{n:"BrtDVal",f:vv},65:{n:"BrtSxvcellNum"},66:{n:"BrtSxvcellStr"},67:{n:"BrtSxvcellBool"},68:{n:"BrtSxvcellErr"},69:{n:"BrtSxvcellDate"},70:{n:"BrtSxvcellNil"},128:{n:"BrtFileVersion"},129:{n:"BrtBeginSheet"},130:{n:"BrtEndSheet"},131:{n:"BrtBeginBook",f:rt,p:0},132:{n:"BrtEndBook"},133:{n:"BrtBeginWsViews"},134:{n:"BrtEndWsViews"},135:{n:"BrtBeginBookViews"},136:{n:"BrtEndBookViews"},137:{n:"BrtBeginWsView",f:cv},138:{n:"BrtEndWsView"},139:{n:"BrtBeginCsViews"},140:{n:"BrtEndCsViews"},141:{n:"BrtBeginCsView"},142:{n:"BrtEndCsView"},143:{n:"BrtBeginBundleShs"},144:{n:"BrtEndBundleShs"},145:{n:"BrtBeginSheetData"},146:{n:"BrtEndSheetData"},147:{n:"BrtWsProp",f:bd},148:{n:"BrtWsDim",f:vd,p:16},151:{n:"BrtPane",f:av},152:{n:"BrtSel"},153:{n:"BrtWbProp",f:rp},154:{n:"BrtWbFactoid"},155:{n:"BrtFileRecover"},156:{n:"BrtBundleSh",f:Zv},157:{n:"BrtCalcProp"},158:{n:"BrtBookView"},159:{n:"BrtBeginSst",f:Mf},160:{n:"BrtEndSst"},161:{n:"BrtBeginAFilter",f:ea},162:{n:"BrtEndAFilter"},163:{n:"BrtBeginFilterColumn"},164:{n:"BrtEndFilterColumn"},165:{n:"BrtBeginFilters"},166:{n:"BrtEndFilters"},167:{n:"BrtFilter"},168:{n:"BrtColorFilter"},169:{n:"BrtIconFilter"},170:{n:"BrtTop10Filter"},171:{n:"BrtDynamicFilter"},172:{n:"BrtBeginCustomFilters"},173:{n:"BrtEndCustomFilters"},174:{n:"BrtCustomFilter"},175:{n:"BrtAFilterDateGroupItem"},176:{n:"BrtMergeCell",f:Qd},177:{n:"BrtBeginMergeCells"},178:{n:"BrtEndMergeCells"},179:{n:"BrtBeginPivotCacheDef"},180:{n:"BrtEndPivotCacheDef"},181:{n:"BrtBeginPCDFields"},182:{n:"BrtEndPCDFields"},183:{n:"BrtBeginPCDField"},184:{n:"BrtEndPCDField"},185:{n:"BrtBeginPCDSource"},186:{n:"BrtEndPCDSource"},187:{n:"BrtBeginPCDSRange"},188:{n:"BrtEndPCDSRange"},189:{n:"BrtBeginPCDFAtbl"},190:{n:"BrtEndPCDFAtbl"},191:{n:"BrtBeginPCDIRun"},192:{n:"BrtEndPCDIRun"},193:{n:"BrtBeginPivotCacheRecords"},194:{n:"BrtEndPivotCacheRecords"},195:{n:"BrtBeginPCDHierarchies"},196:{n:"BrtEndPCDHierarchies"},197:{n:"BrtBeginPCDHierarchy"},198:{n:"BrtEndPCDHierarchy"},199:{n:"BrtBeginPCDHFieldsUsage"},200:{n:"BrtEndPCDHFieldsUsage"},201:{n:"BrtBeginExtConnection"},202:{n:"BrtEndExtConnection"},203:{n:"BrtBeginECDbProps"},204:{n:"BrtEndECDbProps"},205:{n:"BrtBeginECOlapProps"},206:{n:"BrtEndECOlapProps"},207:{n:"BrtBeginPCDSConsol"},208:{n:"BrtEndPCDSConsol"},209:{n:"BrtBeginPCDSCPages"},210:{n:"BrtEndPCDSCPages"},211:{n:"BrtBeginPCDSCPage"},212:{n:"BrtEndPCDSCPage"},213:{n:"BrtBeginPCDSCPItem"},214:{n:"BrtEndPCDSCPItem"},215:{n:"BrtBeginPCDSCSets"},216:{n:"BrtEndPCDSCSets"},217:{n:"BrtBeginPCDSCSet"},218:{n:"BrtEndPCDSCSet"},219:{n:"BrtBeginPCDFGroup"},220:{n:"BrtEndPCDFGroup"},221:{n:"BrtBeginPCDFGItems"},222:{n:"BrtEndPCDFGItems"},223:{n:"BrtBeginPCDFGRange"},224:{n:"BrtEndPCDFGRange"},225:{n:"BrtBeginPCDFGDiscrete"},226:{n:"BrtEndPCDFGDiscrete"},227:{n:"BrtBeginPCDSDTupleCache"},228:{n:"BrtEndPCDSDTupleCache"},229:{n:"BrtBeginPCDSDTCEntries"},230:{n:"BrtEndPCDSDTCEntries"},231:{n:"BrtBeginPCDSDTCEMembers"},232:{n:"BrtEndPCDSDTCEMembers"},233:{n:"BrtBeginPCDSDTCEMember"},234:{n:"BrtEndPCDSDTCEMember"},235:{n:"BrtBeginPCDSDTCQueries"},236:{n:"BrtEndPCDSDTCQueries"},237:{n:"BrtBeginPCDSDTCQuery"},238:{n:"BrtEndPCDSDTCQuery"},239:{n:"BrtBeginPCDSDTCSets"},240:{n:"BrtEndPCDSDTCSets"},241:{n:"BrtBeginPCDSDTCSet"},242:{n:"BrtEndPCDSDTCSet"},243:{n:"BrtBeginPCDCalcItems"},244:{n:"BrtEndPCDCalcItems"},245:{n:"BrtBeginPCDCalcItem"},246:{n:"BrtEndPCDCalcItem"},247:{n:"BrtBeginPRule"},248:{n:"BrtEndPRule"},249:{n:"BrtBeginPRFilters"},250:{n:"BrtEndPRFilters"},251:{n:"BrtBeginPRFilter"},252:{n:"BrtEndPRFilter"},253:{n:"BrtBeginPNames"},254:{n:"BrtEndPNames"},255:{n:"BrtBeginPName"},256:{n:"BrtEndPName"},257:{n:"BrtBeginPNPairs"},258:{n:"BrtEndPNPairs"},259:{n:"BrtBeginPNPair"},260:{n:"BrtEndPNPair"},261:{n:"BrtBeginECWebProps"},262:{n:"BrtEndECWebProps"},263:{n:"BrtBeginEcWpTables"},264:{n:"BrtEndECWPTables"},265:{n:"BrtBeginECParams"},266:{n:"BrtEndECParams"},267:{n:"BrtBeginECParam"},268:{n:"BrtEndECParam"},269:{n:"BrtBeginPCDKPIs"},270:{n:"BrtEndPCDKPIs"},271:{n:"BrtBeginPCDKPI"},272:{n:"BrtEndPCDKPI"},273:{n:"BrtBeginDims"},274:{n:"BrtEndDims"},275:{n:"BrtBeginDim"},276:{n:"BrtEndDim"},277:{n:"BrtIndexPartEnd"},278:{n:"BrtBeginStyleSheet"},279:{n:"BrtEndStyleSheet"},280:{n:"BrtBeginSXView"},281:{n:"BrtEndSXVI"},282:{n:"BrtBeginSXVI"},283:{n:"BrtBeginSXVIs"},284:{n:"BrtEndSXVIs"},285:{n:"BrtBeginSXVD"},286:{n:"BrtEndSXVD"},287:{n:"BrtBeginSXVDs"},288:{n:"BrtEndSXVDs"},289:{n:"BrtBeginSXPI"},290:{n:"BrtEndSXPI"},291:{n:"BrtBeginSXPIs"},292:{n:"BrtEndSXPIs"},293:{n:"BrtBeginSXDI"},294:{n:"BrtEndSXDI"},295:{n:"BrtBeginSXDIs"},296:{n:"BrtEndSXDIs"},297:{n:"BrtBeginSXLI"},298:{n:"BrtEndSXLI"},299:{n:"BrtBeginSXLIRws"},300:{n:"BrtEndSXLIRws"},301:{n:"BrtBeginSXLICols"},302:{n:"BrtEndSXLICols"},303:{n:"BrtBeginSXFormat"},304:{n:"BrtEndSXFormat"},305:{n:"BrtBeginSXFormats"},306:{n:"BrtEndSxFormats"},307:{n:"BrtBeginSxSelect"},308:{n:"BrtEndSxSelect"},309:{n:"BrtBeginISXVDRws"},310:{n:"BrtEndISXVDRws"},311:{n:"BrtBeginISXVDCols"},312:{n:"BrtEndISXVDCols"},313:{n:"BrtEndSXLocation"},314:{n:"BrtBeginSXLocation"},315:{n:"BrtEndSXView"},316:{n:"BrtBeginSXTHs"},317:{n:"BrtEndSXTHs"},318:{n:"BrtBeginSXTH"},319:{n:"BrtEndSXTH"},320:{n:"BrtBeginISXTHRws"},321:{n:"BrtEndISXTHRws"},322:{n:"BrtBeginISXTHCols"},323:{n:"BrtEndISXTHCols"},324:{n:"BrtBeginSXTDMPS"},325:{n:"BrtEndSXTDMPs"},326:{n:"BrtBeginSXTDMP"},327:{n:"BrtEndSXTDMP"},328:{n:"BrtBeginSXTHItems"},329:{n:"BrtEndSXTHItems"},330:{n:"BrtBeginSXTHItem"},331:{n:"BrtEndSXTHItem"},332:{n:"BrtBeginMetadata"},333:{n:"BrtEndMetadata"},334:{n:"BrtBeginEsmdtinfo"},335:{n:"BrtMdtinfo",f:Wo},336:{n:"BrtEndEsmdtinfo"},337:{n:"BrtBeginEsmdb"},338:{n:"BrtEndEsmdb"},339:{n:"BrtBeginEsfmd"},340:{n:"BrtEndEsfmd"},341:{n:"BrtBeginSingleCells"},342:{n:"BrtEndSingleCells"},343:{n:"BrtBeginList"},344:{n:"BrtEndList"},345:{n:"BrtBeginListCols"},346:{n:"BrtEndListCols"},347:{n:"BrtBeginListCol"},348:{n:"BrtEndListCol"},349:{n:"BrtBeginListXmlCPr"},350:{n:"BrtEndListXmlCPr"},351:{n:"BrtListCCFmla"},352:{n:"BrtListTrFmla"},353:{n:"BrtBeginExternals"},354:{n:"BrtEndExternals"},355:{n:"BrtSupBookSrc",f:Kt},357:{n:"BrtSupSelf"},358:{n:"BrtSupSame"},359:{n:"BrtSupTabs"},360:{n:"BrtBeginSupBook"},361:{n:"BrtPlaceholderName"},362:{n:"BrtExternSheet",f:Fs},363:{n:"BrtExternTableStart"},364:{n:"BrtExternTableEnd"},366:{n:"BrtExternRowHdr"},367:{n:"BrtExternCellBlank"},368:{n:"BrtExternCellReal"},369:{n:"BrtExternCellBool"},370:{n:"BrtExternCellError"},371:{n:"BrtExternCellString"},372:{n:"BrtBeginEsmdx"},373:{n:"BrtEndEsmdx"},374:{n:"BrtBeginMdxSet"},375:{n:"BrtEndMdxSet"},376:{n:"BrtBeginMdxMbrProp"},377:{n:"BrtEndMdxMbrProp"},378:{n:"BrtBeginMdxKPI"},379:{n:"BrtEndMdxKPI"},380:{n:"BrtBeginEsstr"},381:{n:"BrtEndEsstr"},382:{n:"BrtBeginPRFItem"},383:{n:"BrtEndPRFItem"},384:{n:"BrtBeginPivotCacheIDs"},385:{n:"BrtEndPivotCacheIDs"},386:{n:"BrtBeginPivotCacheID"},387:{n:"BrtEndPivotCacheID"},388:{n:"BrtBeginISXVIs"},389:{n:"BrtEndISXVIs"},390:{n:"BrtBeginColInfos"},391:{n:"BrtEndColInfos"},392:{n:"BrtBeginRwBrk"},393:{n:"BrtEndRwBrk"},394:{n:"BrtBeginColBrk"},395:{n:"BrtEndColBrk"},396:{n:"BrtBrk"},397:{n:"BrtUserBookView"},398:{n:"BrtInfo"},399:{n:"BrtCUsr"},400:{n:"BrtUsr"},401:{n:"BrtBeginUsers"},403:{n:"BrtEOF"},404:{n:"BrtUCR"},405:{n:"BrtRRInsDel"},406:{n:"BrtRREndInsDel"},407:{n:"BrtRRMove"},408:{n:"BrtRREndMove"},409:{n:"BrtRRChgCell"},410:{n:"BrtRREndChgCell"},411:{n:"BrtRRHeader"},412:{n:"BrtRRUserView"},413:{n:"BrtRRRenSheet"},414:{n:"BrtRRInsertSh"},415:{n:"BrtRRDefName"},416:{n:"BrtRRNote"},417:{n:"BrtRRConflict"},418:{n:"BrtRRTQSIF"},419:{n:"BrtRRFormat"},420:{n:"BrtRREndFormat"},421:{n:"BrtRRAutoFmt"},422:{n:"BrtBeginUserShViews"},423:{n:"BrtBeginUserShView"},424:{n:"BrtEndUserShView"},425:{n:"BrtEndUserShViews"},426:{n:"BrtArrFmla",f:nv},427:{n:"BrtShrFmla",f:iv},428:{n:"BrtTable"},429:{n:"BrtBeginExtConnections"},430:{n:"BrtEndExtConnections"},431:{n:"BrtBeginPCDCalcMems"},432:{n:"BrtEndPCDCalcMems"},433:{n:"BrtBeginPCDCalcMem"},434:{n:"BrtEndPCDCalcMem"},435:{n:"BrtBeginPCDHGLevels"},436:{n:"BrtEndPCDHGLevels"},437:{n:"BrtBeginPCDHGLevel"},438:{n:"BrtEndPCDHGLevel"},439:{n:"BrtBeginPCDHGLGroups"},440:{n:"BrtEndPCDHGLGroups"},441:{n:"BrtBeginPCDHGLGroup"},442:{n:"BrtEndPCDHGLGroup"},443:{n:"BrtBeginPCDHGLGMembers"},444:{n:"BrtEndPCDHGLGMembers"},445:{n:"BrtBeginPCDHGLGMember"},446:{n:"BrtEndPCDHGLGMember"},447:{n:"BrtBeginQSI"},448:{n:"BrtEndQSI"},449:{n:"BrtBeginQSIR"},450:{n:"BrtEndQSIR"},451:{n:"BrtBeginDeletedNames"},452:{n:"BrtEndDeletedNames"},453:{n:"BrtBeginDeletedName"},454:{n:"BrtEndDeletedName"},455:{n:"BrtBeginQSIFs"},456:{n:"BrtEndQSIFs"},457:{n:"BrtBeginQSIF"},458:{n:"BrtEndQSIF"},459:{n:"BrtBeginAutoSortScope"},460:{n:"BrtEndAutoSortScope"},461:{n:"BrtBeginConditionalFormatting"},462:{n:"BrtEndConditionalFormatting"},463:{n:"BrtBeginCFRule"},464:{n:"BrtEndCFRule"},465:{n:"BrtBeginIconSet"},466:{n:"BrtEndIconSet"},467:{n:"BrtBeginDatabar"},468:{n:"BrtEndDatabar"},469:{n:"BrtBeginColorScale"},470:{n:"BrtEndColorScale"},471:{n:"BrtCFVO"},472:{n:"BrtExternValueMeta"},473:{n:"BrtBeginColorPalette"},474:{n:"BrtEndColorPalette"},475:{n:"BrtIndexedColor"},476:{n:"BrtMargins",f:lv},477:{n:"BrtPrintOptions"},478:{n:"BrtPageSetup"},479:{n:"BrtBeginHeaderFooter"},480:{n:"BrtEndHeaderFooter"},481:{n:"BrtBeginSXCrtFormat"},482:{n:"BrtEndSXCrtFormat"},483:{n:"BrtBeginSXCrtFormats"},484:{n:"BrtEndSXCrtFormats"},485:{n:"BrtWsFmtInfo",f:md},486:{n:"BrtBeginMgs"},487:{n:"BrtEndMGs"},488:{n:"BrtBeginMGMaps"},489:{n:"BrtEndMGMaps"},490:{n:"BrtBeginMG"},491:{n:"BrtEndMG"},492:{n:"BrtBeginMap"},493:{n:"BrtEndMap"},494:{n:"BrtHLink",f:rv},495:{n:"BrtBeginDCon"},496:{n:"BrtEndDCon"},497:{n:"BrtBeginDRefs"},498:{n:"BrtEndDRefs"},499:{n:"BrtDRef"},500:{n:"BrtBeginScenMan"},501:{n:"BrtEndScenMan"},502:{n:"BrtBeginSct"},503:{n:"BrtEndSct"},504:{n:"BrtSlc"},505:{n:"BrtBeginDXFs"},506:{n:"BrtEndDXFs"},507:{n:"BrtDXF"},508:{n:"BrtBeginTableStyles"},509:{n:"BrtEndTableStyles"},510:{n:"BrtBeginTableStyle"},511:{n:"BrtEndTableStyle"},512:{n:"BrtTableStyleElement"},513:{n:"BrtTableStyleClient"},514:{n:"BrtBeginVolDeps"},515:{n:"BrtEndVolDeps"},516:{n:"BrtBeginVolType"},517:{n:"BrtEndVolType"},518:{n:"BrtBeginVolMain"},519:{n:"BrtEndVolMain"},520:{n:"BrtBeginVolTopic"},521:{n:"BrtEndVolTopic"},522:{n:"BrtVolSubtopic"},523:{n:"BrtVolRef"},524:{n:"BrtVolNum"},525:{n:"BrtVolErr"},526:{n:"BrtVolStr"},527:{n:"BrtVolBool"},528:{n:"BrtBeginCalcChain$"},529:{n:"BrtEndCalcChain$"},530:{n:"BrtBeginSortState"},531:{n:"BrtEndSortState"},532:{n:"BrtBeginSortCond"},533:{n:"BrtEndSortCond"},534:{n:"BrtBookProtection"},535:{n:"BrtSheetProtection"},536:{n:"BrtRangeProtection"},537:{n:"BrtPhoneticInfo"},538:{n:"BrtBeginECTxtWiz"},539:{n:"BrtEndECTxtWiz"},540:{n:"BrtBeginECTWFldInfoLst"},541:{n:"BrtEndECTWFldInfoLst"},542:{n:"BrtBeginECTwFldInfo"},548:{n:"BrtFileSharing"},549:{n:"BrtOleSize"},550:{n:"BrtDrawing",f:Kt},551:{n:"BrtLegacyDrawing"},552:{n:"BrtLegacyDrawingHF"},553:{n:"BrtWebOpt"},554:{n:"BrtBeginWebPubItems"},555:{n:"BrtEndWebPubItems"},556:{n:"BrtBeginWebPubItem"},557:{n:"BrtEndWebPubItem"},558:{n:"BrtBeginSXCondFmt"},559:{n:"BrtEndSXCondFmt"},560:{n:"BrtBeginSXCondFmts"},561:{n:"BrtEndSXCondFmts"},562:{n:"BrtBkHim"},564:{n:"BrtColor"},565:{n:"BrtBeginIndexedColors"},566:{n:"BrtEndIndexedColors"},569:{n:"BrtBeginMRUColors"},570:{n:"BrtEndMRUColors"},572:{n:"BrtMRUColor"},573:{n:"BrtBeginDVals"},574:{n:"BrtEndDVals"},577:{n:"BrtSupNameStart"},578:{n:"BrtSupNameValueStart"},579:{n:"BrtSupNameValueEnd"},580:{n:"BrtSupNameNum"},581:{n:"BrtSupNameErr"},582:{n:"BrtSupNameSt"},583:{n:"BrtSupNameNil"},584:{n:"BrtSupNameBool"},585:{n:"BrtSupNameFmla"},586:{n:"BrtSupNameBits"},587:{n:"BrtSupNameEnd"},588:{n:"BrtEndSupBook"},589:{n:"BrtCellSmartTagProperty"},590:{n:"BrtBeginCellSmartTag"},591:{n:"BrtEndCellSmartTag"},592:{n:"BrtBeginCellSmartTags"},593:{n:"BrtEndCellSmartTags"},594:{n:"BrtBeginSmartTags"},595:{n:"BrtEndSmartTags"},596:{n:"BrtSmartTagType"},597:{n:"BrtBeginSmartTagTypes"},598:{n:"BrtEndSmartTagTypes"},599:{n:"BrtBeginSXFilters"},600:{n:"BrtEndSXFilters"},601:{n:"BrtBeginSXFILTER"},602:{n:"BrtEndSXFilter"},603:{n:"BrtBeginFills"},604:{n:"BrtEndFills"},605:{n:"BrtBeginCellWatches"},606:{n:"BrtEndCellWatches"},607:{n:"BrtCellWatch"},608:{n:"BrtBeginCRErrs"},609:{n:"BrtEndCRErrs"},610:{n:"BrtCrashRecErr"},611:{n:"BrtBeginFonts"},612:{n:"BrtEndFonts"},613:{n:"BrtBeginBorders"},614:{n:"BrtEndBorders"},615:{n:"BrtBeginFmts"},616:{n:"BrtEndFmts"},617:{n:"BrtBeginCellXFs"},618:{n:"BrtEndCellXFs"},619:{n:"BrtBeginStyles"},620:{n:"BrtEndStyles"},625:{n:"BrtBigName"},626:{n:"BrtBeginCellStyleXFs"},627:{n:"BrtEndCellStyleXFs"},628:{n:"BrtBeginComments"},629:{n:"BrtEndComments"},630:{n:"BrtBeginCommentAuthors"},631:{n:"BrtEndCommentAuthors"},632:{n:"BrtCommentAuthor",f:fc},633:{n:"BrtBeginCommentList"},634:{n:"BrtEndCommentList"},635:{n:"BrtBeginComment",f:ic},636:{n:"BrtEndComment"},637:{n:"BrtCommentText",f:Lt},638:{n:"BrtBeginOleObjects"},639:{n:"BrtOleObject"},640:{n:"BrtEndOleObjects"},641:{n:"BrtBeginSxrules"},642:{n:"BrtEndSxRules"},643:{n:"BrtBeginActiveXControls"},644:{n:"BrtActiveX"},645:{n:"BrtEndActiveXControls"},646:{n:"BrtBeginPCDSDTCEMembersSortBy"},648:{n:"BrtBeginCellIgnoreECs"},649:{n:"BrtCellIgnoreEC"},650:{n:"BrtEndCellIgnoreECs"},651:{n:"BrtCsProp",f:Pv},652:{n:"BrtCsPageSetup"},653:{n:"BrtBeginUserCsViews"},654:{n:"BrtEndUserCsViews"},655:{n:"BrtBeginUserCsView"},656:{n:"BrtEndUserCsView"},657:{n:"BrtBeginPcdSFCIEntries"},658:{n:"BrtEndPCDSFCIEntries"},659:{n:"BrtPCDSFCIEntry"},660:{n:"BrtBeginListParts"},661:{n:"BrtListPart"},662:{n:"BrtEndListParts"},663:{n:"BrtSheetCalcProp"},664:{n:"BrtBeginFnGroup"},665:{n:"BrtFnGroup"},666:{n:"BrtEndFnGroup"},667:{n:"BrtSupAddin"},668:{n:"BrtSXTDMPOrder"},669:{n:"BrtCsProtection"},671:{n:"BrtBeginWsSortMap"},672:{n:"BrtEndWsSortMap"},673:{n:"BrtBeginRRSort"},674:{n:"BrtEndRRSort"},675:{n:"BrtRRSortItem"},676:{n:"BrtFileSharingIso"},677:{n:"BrtBookProtectionIso"},678:{n:"BrtSheetProtectionIso"},679:{n:"BrtCsProtectionIso"},680:{n:"BrtRangeProtectionIso"},681:{n:"BrtDValList"},1024:{n:"BrtRwDescent"},1025:{n:"BrtKnownFonts"},1026:{n:"BrtBeginSXTupleSet"},1027:{n:"BrtEndSXTupleSet"},1028:{n:"BrtBeginSXTupleSetHeader"},1029:{n:"BrtEndSXTupleSetHeader"},1030:{n:"BrtSXTupleSetHeaderItem"},1031:{n:"BrtBeginSXTupleSetData"},1032:{n:"BrtEndSXTupleSetData"},1033:{n:"BrtBeginSXTupleSetRow"},1034:{n:"BrtEndSXTupleSetRow"},1035:{n:"BrtSXTupleSetRowItem"},1036:{n:"BrtNameExt"},1037:{n:"BrtPCDH14"},1038:{n:"BrtBeginPCDCalcMem14"},1039:{n:"BrtEndPCDCalcMem14"},1040:{n:"BrtSXTH14"},1041:{n:"BrtBeginSparklineGroup"},1042:{n:"BrtEndSparklineGroup"},1043:{n:"BrtSparkline"},1044:{n:"BrtSXDI14"},1045:{n:"BrtWsFmtInfoEx14"},1046:{n:"BrtBeginConditionalFormatting14"},1047:{n:"BrtEndConditionalFormatting14"},1048:{n:"BrtBeginCFRule14"},1049:{n:"BrtEndCFRule14"},1050:{n:"BrtCFVO14"},1051:{n:"BrtBeginDatabar14"},1052:{n:"BrtBeginIconSet14"},1053:{n:"BrtDVal14",f:pv},1054:{n:"BrtBeginDVals14"},1055:{n:"BrtColor14"},1056:{n:"BrtBeginSparklines"},1057:{n:"BrtEndSparklines"},1058:{n:"BrtBeginSparklineGroups"},1059:{n:"BrtEndSparklineGroups"},1061:{n:"BrtSXVD14"},1062:{n:"BrtBeginSXView14"},1063:{n:"BrtEndSXView14"},1064:{n:"BrtBeginSXView16"},1065:{n:"BrtEndSXView16"},1066:{n:"BrtBeginPCD14"},1067:{n:"BrtEndPCD14"},1068:{n:"BrtBeginExtConn14"},1069:{n:"BrtEndExtConn14"},1070:{n:"BrtBeginSlicerCacheIDs"},1071:{n:"BrtEndSlicerCacheIDs"},1072:{n:"BrtBeginSlicerCacheID"},1073:{n:"BrtEndSlicerCacheID"},1075:{n:"BrtBeginSlicerCache"},1076:{n:"BrtEndSlicerCache"},1077:{n:"BrtBeginSlicerCacheDef"},1078:{n:"BrtEndSlicerCacheDef"},1079:{n:"BrtBeginSlicersEx"},1080:{n:"BrtEndSlicersEx"},1081:{n:"BrtBeginSlicerEx"},1082:{n:"BrtEndSlicerEx"},1083:{n:"BrtBeginSlicer"},1084:{n:"BrtEndSlicer"},1085:{n:"BrtSlicerCachePivotTables"},1086:{n:"BrtBeginSlicerCacheOlapImpl"},1087:{n:"BrtEndSlicerCacheOlapImpl"},1088:{n:"BrtBeginSlicerCacheLevelsData"},1089:{n:"BrtEndSlicerCacheLevelsData"},1090:{n:"BrtBeginSlicerCacheLevelData"},1091:{n:"BrtEndSlicerCacheLevelData"},1092:{n:"BrtBeginSlicerCacheSiRanges"},1093:{n:"BrtEndSlicerCacheSiRanges"},1094:{n:"BrtBeginSlicerCacheSiRange"},1095:{n:"BrtEndSlicerCacheSiRange"},1096:{n:"BrtSlicerCacheOlapItem"},1097:{n:"BrtBeginSlicerCacheSelections"},1098:{n:"BrtSlicerCacheSelection"},1099:{n:"BrtEndSlicerCacheSelections"},1100:{n:"BrtBeginSlicerCacheNative"},1101:{n:"BrtEndSlicerCacheNative"},1102:{n:"BrtSlicerCacheNativeItem"},1103:{n:"BrtRangeProtection14"},1104:{n:"BrtRangeProtectionIso14"},1105:{n:"BrtCellIgnoreEC14"},1111:{n:"BrtList14"},1112:{n:"BrtCFIcon"},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs"},1114:{n:"BrtEndSlicerCachesPivotCacheIDs"},1115:{n:"BrtBeginSlicers"},1116:{n:"BrtEndSlicers"},1117:{n:"BrtWbProp14"},1118:{n:"BrtBeginSXEdit"},1119:{n:"BrtEndSXEdit"},1120:{n:"BrtBeginSXEdits"},1121:{n:"BrtEndSXEdits"},1122:{n:"BrtBeginSXChange"},1123:{n:"BrtEndSXChange"},1124:{n:"BrtBeginSXChanges"},1125:{n:"BrtEndSXChanges"},1126:{n:"BrtSXTupleItems"},1128:{n:"BrtBeginSlicerStyle"},1129:{n:"BrtEndSlicerStyle"},1130:{n:"BrtSlicerStyleElement"},1131:{n:"BrtBeginStyleSheetExt14"},1132:{n:"BrtEndStyleSheetExt14"},1133:{n:"BrtBeginSlicerCachesPivotCacheID"},1134:{n:"BrtEndSlicerCachesPivotCacheID"},1135:{n:"BrtBeginConditionalFormattings"},1136:{n:"BrtEndConditionalFormattings"},1137:{n:"BrtBeginPCDCalcMemExt"},1138:{n:"BrtEndPCDCalcMemExt"},1139:{n:"BrtBeginPCDCalcMemsExt"},1140:{n:"BrtEndPCDCalcMemsExt"},1141:{n:"BrtPCDField14"},1142:{n:"BrtBeginSlicerStyles"},1143:{n:"BrtEndSlicerStyles"},1144:{n:"BrtBeginSlicerStyleElements"},1145:{n:"BrtEndSlicerStyleElements"},1146:{n:"BrtCFRuleExt"},1147:{n:"BrtBeginSXCondFmt14"},1148:{n:"BrtEndSXCondFmt14"},1149:{n:"BrtBeginSXCondFmts14"},1150:{n:"BrtEndSXCondFmts14"},1152:{n:"BrtBeginSortCond14"},1153:{n:"BrtEndSortCond14"},1154:{n:"BrtEndDVals14"},1155:{n:"BrtEndIconSet14"},1156:{n:"BrtEndDatabar14"},1157:{n:"BrtBeginColorScale14"},1158:{n:"BrtEndColorScale14"},1159:{n:"BrtBeginSxrules14"},1160:{n:"BrtEndSxrules14"},1161:{n:"BrtBeginPRule14"},1162:{n:"BrtEndPRule14"},1163:{n:"BrtBeginPRFilters14"},1164:{n:"BrtEndPRFilters14"},1165:{n:"BrtBeginPRFilter14"},1166:{n:"BrtEndPRFilter14"},1167:{n:"BrtBeginPRFItem14"},1168:{n:"BrtEndPRFItem14"},1169:{n:"BrtBeginCellIgnoreECs14"},1170:{n:"BrtEndCellIgnoreECs14"},1171:{n:"BrtDxf14"},1172:{n:"BrtBeginDxF14s"},1173:{n:"BrtEndDxf14s"},1177:{n:"BrtFilter14"},1178:{n:"BrtBeginCustomFilters14"},1180:{n:"BrtCustomFilter14"},1181:{n:"BrtIconFilter14"},1182:{n:"BrtPivotCacheConnectionName"},2048:{n:"BrtBeginDecoupledPivotCacheIDs"},2049:{n:"BrtEndDecoupledPivotCacheIDs"},2050:{n:"BrtDecoupledPivotCacheID"},2051:{n:"BrtBeginPivotTableRefs"},2052:{n:"BrtEndPivotTableRefs"},2053:{n:"BrtPivotTableRef"},2054:{n:"BrtSlicerCacheBookPivotTables"},2055:{n:"BrtBeginSxvcells"},2056:{n:"BrtEndSxvcells"},2057:{n:"BrtBeginSxRow"},2058:{n:"BrtEndSxRow"},2060:{n:"BrtPcdCalcMem15"},2067:{n:"BrtQsi15"},2068:{n:"BrtBeginWebExtensions"},2069:{n:"BrtEndWebExtensions"},2070:{n:"BrtWebExtension"},2071:{n:"BrtAbsPath15"},2072:{n:"BrtBeginPivotTableUISettings"},2073:{n:"BrtEndPivotTableUISettings"},2075:{n:"BrtTableSlicerCacheIDs"},2076:{n:"BrtTableSlicerCacheID"},2077:{n:"BrtBeginTableSlicerCache"},2078:{n:"BrtEndTableSlicerCache"},2079:{n:"BrtSxFilter15"},2080:{n:"BrtBeginTimelineCachePivotCacheIDs"},2081:{n:"BrtEndTimelineCachePivotCacheIDs"},2082:{n:"BrtTimelineCachePivotCacheID"},2083:{n:"BrtBeginTimelineCacheIDs"},2084:{n:"BrtEndTimelineCacheIDs"},2085:{n:"BrtBeginTimelineCacheID"},2086:{n:"BrtEndTimelineCacheID"},2087:{n:"BrtBeginTimelinesEx"},2088:{n:"BrtEndTimelinesEx"},2089:{n:"BrtBeginTimelineEx"},2090:{n:"BrtEndTimelineEx"},2091:{n:"BrtWorkBookPr15"},2092:{n:"BrtPCDH15"},2093:{n:"BrtBeginTimelineStyle"},2094:{n:"BrtEndTimelineStyle"},2095:{n:"BrtTimelineStyleElement"},2096:{n:"BrtBeginTimelineStylesheetExt15"},2097:{n:"BrtEndTimelineStylesheetExt15"},2098:{n:"BrtBeginTimelineStyles"},2099:{n:"BrtEndTimelineStyles"},2100:{n:"BrtBeginTimelineStyleElements"},2101:{n:"BrtEndTimelineStyleElements"},2102:{n:"BrtDxf15"},2103:{n:"BrtBeginDxfs15"},2104:{n:"BrtEndDxfs15"},2105:{n:"BrtSlicerCacheHideItemsWithNoData"},2106:{n:"BrtBeginItemUniqueNames"},2107:{n:"BrtEndItemUniqueNames"},2108:{n:"BrtItemUniqueName"},2109:{n:"BrtBeginExtConn15"},2110:{n:"BrtEndExtConn15"},2111:{n:"BrtBeginOledbPr15"},2112:{n:"BrtEndOledbPr15"},2113:{n:"BrtBeginDataFeedPr15"},2114:{n:"BrtEndDataFeedPr15"},2115:{n:"BrtTextPr15"},2116:{n:"BrtRangePr15"},2117:{n:"BrtDbCommand15"},2118:{n:"BrtBeginDbTables15"},2119:{n:"BrtEndDbTables15"},2120:{n:"BrtDbTable15"},2121:{n:"BrtBeginDataModel"},2122:{n:"BrtEndDataModel"},2123:{n:"BrtBeginModelTables"},2124:{n:"BrtEndModelTables"},2125:{n:"BrtModelTable"},2126:{n:"BrtBeginModelRelationships"},2127:{n:"BrtEndModelRelationships"},2128:{n:"BrtModelRelationship"},2129:{n:"BrtBeginECTxtWiz15"},2130:{n:"BrtEndECTxtWiz15"},2131:{n:"BrtBeginECTWFldInfoLst15"},2132:{n:"BrtEndECTWFldInfoLst15"},2133:{n:"BrtBeginECTWFldInfo15"},2134:{n:"BrtFieldListActiveItem"},2135:{n:"BrtPivotCacheIdVersion"},2136:{n:"BrtSXDI15"},2137:{n:"BrtBeginModelTimeGroupings"},2138:{n:"BrtEndModelTimeGroupings"},2139:{n:"BrtBeginModelTimeGrouping"},2140:{n:"BrtEndModelTimeGrouping"},2141:{n:"BrtModelTimeGroupingCalcCol"},3072:{n:"BrtUid"},3073:{n:"BrtRevisionPtr"},4096:{n:"BrtBeginDynamicArrayPr"},4097:{n:"BrtEndDynamicArrayPr"},5002:{n:"BrtBeginRichValueBlock"},5003:{n:"BrtEndRichValueBlock"},5081:{n:"BrtBeginRichFilters"},5082:{n:"BrtEndRichFilters"},5083:{n:"BrtRichFilter"},5084:{n:"BrtBeginRichFilterColumn"},5085:{n:"BrtEndRichFilterColumn"},5086:{n:"BrtBeginCustomRichFilters"},5087:{n:"BrtEndCustomRichFilters"},5088:{n:"BrtCustomRichFilter"},5089:{n:"BrtTop10RichFilter"},5090:{n:"BrtDynamicRichFilter"},5092:{n:"BrtBeginRichSortCondition"},5093:{n:"BrtEndRichSortCondition"},5094:{n:"BrtRichFilterDateGroupItem"},5095:{n:"BrtBeginCalcFeatures"},5096:{n:"BrtEndCalcFeatures"},5097:{n:"BrtCalcFeature"},5099:{n:"BrtExternalLinksPr"},65535:{n:""}};var hm;function dm(){hm=J(um,"n");hm["BrtFRTArchID$"]=16}var vm={6:{n:"Formula",f:lh},10:{n:"EOF",f:$n},12:{n:"CalcCount",f:Qn},13:{n:"CalcMode",f:Qn},14:{n:"CalcPrecision",f:Jn},15:{n:"CalcRefMode",f:Jn},16:{n:"CalcDelta",f:ta},17:{n:"CalcIter",f:Jn},18:{n:"Protect",f:Jn},19:{n:"Password",f:Qn},20:{n:"Header",f:Ts},21:{n:"Footer",f:Ts},23:{n:"ExternSheet",f:Fs},24:{n:"Lbl",f:Rs},25:{n:"WinProtect",f:Jn},26:{n:"VerticalPageBreaks"},27:{n:"HorizontalPageBreaks"},28:{n:"Note",f:Ms},29:{n:"Selection"},34:{n:"Date1904",f:Jn},35:{n:"ExternName",f:xs},38:{n:"LeftMargin",f:ta},39:{n:"RightMargin",f:ta},40:{n:"TopMargin",f:ta},41:{n:"BottomMargin",f:ta},42:{n:"PrintRowCol",f:Jn},43:{n:"PrintGrid",f:Jn},47:{n:"FilePass",f:ul},49:{n:"Font",f:as},51:{n:"PrintSize",f:Qn},60:{n:"Continue"},61:{n:"Window1",f:Qi},64:{n:"Backup",f:Jn},65:{n:"Pane",f:ts},66:{n:"CodePage",f:Qn},77:{n:"Pls"},80:{n:"DCon"},81:{n:"DConRef"},82:{n:"DConName"},85:{n:"DefColWidth",f:Qn},89:{n:"XCT"},90:{n:"CRN"},91:{n:"FileSharing"},92:{n:"WriteAccess",f:Wi},93:{n:"Obj",f:Hs},94:{n:"Uncalced"},95:{n:"CalcSaveRecalc",f:Jn},96:{n:"Template"},97:{n:"Intl"},99:{n:"ObjProtect",f:Jn},125:{n:"ColInfo",f:ef},128:{n:"Guts",f:ks},129:{n:"WsBool",f:Xi},130:{n:"GridSet",f:Qn},131:{n:"HCenter",f:Jn},132:{n:"VCenter",f:Jn},133:{n:"BoundSheet8",f:Vi},134:{n:"WriteProtect"},140:{n:"Country",f:Ys},141:{n:"HideObj",f:Qn},144:{n:"Sort"},146:{n:"Palette",f:Qs},151:{n:"Sync"},152:{n:"LPr"},153:{n:"DxGCol"},154:{n:"FnGroupName"},155:{n:"FilterMode"},156:{n:"BuiltInFnGroupCount",f:Qn},157:{n:"AutoFilterInfo"},158:{n:"AutoFilter"},160:{n:"Scl",f:ff},161:{n:"Setup",f:tf},174:{n:"ScenMan"},175:{n:"SCENARIO"},176:{n:"SxView"},177:{n:"Sxvd"},178:{n:"SXVI"},180:{n:"SxIvd"},181:{n:"SXLI"},182:{n:"SXPI"},184:{n:"DocRoute"},185:{n:"RecipName"},189:{n:"MulRk",f:ps},190:{n:"MulBlank",f:ms},193:{n:"Mms",f:$n},197:{n:"SXDI"},198:{n:"SXDB"},199:{n:"SXFDB"},200:{n:"SXDBB"},201:{n:"SXNum"},202:{n:"SxBool",f:Jn},203:{n:"SxErr"},204:{n:"SXInt"},205:{n:"SXString"},206:{n:"SXDtr"},207:{n:"SxNil"},208:{n:"SXTbl"},209:{n:"SXTBRGIITM"},210:{n:"SxTbpg"},211:{n:"ObProj"},213:{n:"SXStreamID"},215:{n:"DBCell"},216:{n:"SXRng"},217:{n:"SxIsxoper"},218:{n:"BookBool",f:Qn},220:{n:"DbOrParamQry"},221:{n:"ScenarioProtect",f:Jn},222:{n:"OleObjectSize"},224:{n:"XF",f:gs},225:{n:"InterfaceHdr",f:Ui},226:{n:"InterfaceEnd",f:$n},227:{n:"SXVS"},229:{n:"MergeCells",f:Us},233:{n:"BkHim"},235:{n:"MsoDrawingGroup"},236:{n:"MsoDrawing"},237:{n:"MsoDrawingSelection"},239:{n:"PhoneticInfo"},240:{n:"SxRule"},241:{n:"SXEx"},242:{n:"SxFilt"},244:{n:"SxDXF"},245:{n:"SxItm"},246:{n:"SxName"},247:{n:"SxSelect"},248:{n:"SXPair"},249:{n:"SxFmla"},251:{n:"SxFormat"},252:{n:"SST",f:zi},253:{n:"LabelSst",f:is},255:{n:"ExtSST",f:$i},256:{n:"SXVDEx"},259:{n:"SXFormula"},290:{n:"SXDBEx"},311:{n:"RRDInsDel"},312:{n:"RRDHead"},315:{n:"RRDChgCell"},317:{n:"RRTabId",f:ei},318:{n:"RRDRenSheet"},319:{n:"RRSort"},320:{n:"RRDMove"},330:{n:"RRFormat"},331:{n:"RRAutoFmt"},333:{n:"RRInsertSh"},334:{n:"RRDMoveBegin"},335:{n:"RRDMoveEnd"},336:{n:"RRDInsDelBegin"},337:{n:"RRDInsDelEnd"},338:{n:"RRDConflict"},339:{n:"RRDDefName"},340:{n:"RRDRstEtxp"},351:{n:"LRng"},352:{n:"UsesELFs",f:Jn},353:{n:"DSF",f:$n},401:{n:"CUsr"},402:{n:"CbUsr"},403:{n:"UsrInfo"},404:{n:"UsrExcl"},405:{n:"FileLock"},406:{n:"RRDInfo"},407:{n:"BCUsrs"},408:{n:"UsrChk"},425:{n:"UserBView"},426:{n:"UserSViewBegin"},427:{n:"UserSViewEnd"},428:{n:"RRDUserView"},429:{n:"Qsi"},430:{n:"SupBook",f:_s},431:{n:"Prot4Rev",f:Jn},432:{n:"CondFmt"},433:{n:"CF"},434:{n:"DVal"},437:{n:"DConBin"},438:{n:"TxO",f:Gs},439:{n:"RefreshAll",f:Jn},440:{n:"HLink",f:zs},441:{n:"Lel"},442:{n:"CodeName",f:fi},443:{n:"SXFDBType"},444:{n:"Prot4RevPass",f:Qn},445:{n:"ObNoMacros"},446:{n:"Dv"},448:{n:"Excel9File",f:$n},449:{n:"RecalcId",f:Ji,r:2},450:{n:"EntExU2",f:$n},512:{n:"Dimensions",f:hs},513:{n:"Blank",f:sf},515:{n:"Number",f:Cs},516:{n:"Label",f:fs},517:{n:"BoolErr",f:Ss},519:{n:"String",f:lf},520:{n:"Row",f:Ki},523:{n:"Index"},545:{n:"Array",f:Os},549:{n:"DefaultRowHeight",f:qi},566:{n:"Table"},574:{n:"Window2",f:es},638:{n:"RK",f:vs},659:{n:"Style"},1048:{n:"BigName"},1054:{n:"Format",f:os},1084:{n:"ContinueBigName"},1212:{n:"ShrFmla",f:Ps},2048:{n:"HLinkTooltip",f:$s},2049:{n:"WebPub"},2050:{n:"QsiSXTag"},2051:{n:"DBQueryExt"},2052:{n:"ExtString"},2053:{n:"TxtQry"},2054:{n:"Qsir"},2055:{n:"Qsif"},2056:{n:"RRDTQSIF"},2057:{n:"BOF",f:Li},2058:{n:"OleDbConn"},2059:{n:"WOpt"},2060:{n:"SXViewEx"},2061:{n:"SXTH"},2062:{n:"SXPIEx"},2063:{n:"SXVDTEx"},2064:{n:"SXViewEx9"},2066:{n:"ContinueFrt"},2067:{n:"RealTimeData"},2128:{n:"ChartFrtInfo"},2129:{n:"FrtWrapper"},2130:{n:"StartBlock"},2131:{n:"EndBlock"},2132:{n:"StartObject"},2133:{n:"EndObject"},2134:{n:"CatLab"},2135:{n:"YMult"},2136:{n:"SXViewLink"},2137:{n:"PivotChartBits"},2138:{n:"FrtFontList"},2146:{n:"SheetExt"},2147:{n:"BookExt",r:12},2148:{n:"SXAddl"},2149:{n:"CrErr"},2150:{n:"HFPicture"},2151:{n:"FeatHdr",f:$n},2152:{n:"Feat"},2154:{n:"DataLabExt"},2155:{n:"DataLabExtContents"},2156:{n:"CellWatch"},2161:{n:"FeatHdr11"},2162:{n:"Feature11"},2164:{n:"DropDownObjIds"},2165:{n:"ContinueFrt11"},2166:{n:"DConn"},2167:{n:"List12"},2168:{n:"Feature12"},2169:{n:"CondFmt12"},2170:{n:"CF12"},2171:{n:"CFEx"},2172:{n:"XFCRC",f:Zs,r:12},2173:{n:"XFExt",f:No,r:12},2174:{n:"AutoFilter12"},2175:{n:"ContinueFrt12"},2180:{n:"MDTInfo"},2181:{n:"MDXStr"},2182:{n:"MDXTuple"},2183:{n:"MDXSet"},2184:{n:"MDXProp"},2185:{n:"MDXKPI"},2186:{n:"MDB"},2187:{n:"PLV"},2188:{n:"Compat12",f:Jn,r:12},2189:{n:"DXF"},2190:{n:"TableStyles",r:12},2191:{n:"TableStyle"},2192:{n:"TableStyleElement"},2194:{n:"StyleExt"},2195:{n:"NamePublish"},2196:{n:"NameCmt",f:Ds,r:12},2197:{n:"SortData"},2198:{n:"Theme",f:Ro,r:12},2199:{n:"GUIDTypeLib"},2200:{n:"FnGrp12"},2201:{n:"NameFnGrp12"},2202:{n:"MTRSettings",f:Ns,r:12},2203:{n:"CompressPictures",f:$n},2204:{n:"HeaderFooter"},2205:{n:"CrtLayout12"},2206:{n:"CrtMlFrt"},2207:{n:"CrtMlFrtContinue"},2211:{n:"ForceFullCalculation",f:Yi},2212:{n:"ShapePropsStream"},2213:{n:"TextPropsStream"},2214:{n:"RichTextStream"},2215:{n:"CrtLayout12A"},4097:{n:"Units"},4098:{n:"Chart"},4099:{n:"Series"},4102:{n:"DataFormat"},4103:{n:"LineFormat"},4105:{n:"MarkerFormat"},4106:{n:"AreaFormat"},4107:{n:"PieFormat"},4108:{n:"AttachedLabel"},4109:{n:"SeriesText"},4116:{n:"ChartFormat"},4117:{n:"Legend"},4118:{n:"SeriesList"},4119:{n:"Bar"},4120:{n:"Line"},4121:{n:"Pie"},4122:{n:"Area"},4123:{n:"Scatter"},4124:{n:"CrtLine"},4125:{n:"Axis"},4126:{n:"Tick"},4127:{n:"ValueRange"},4128:{n:"CatSerRange"},4129:{n:"AxisLine"},4130:{n:"CrtLink"},4132:{n:"DefaultText"},4133:{n:"Text"},4134:{n:"FontX", -f:Qn},4135:{n:"ObjectLink"},4146:{n:"Frame"},4147:{n:"Begin"},4148:{n:"End"},4149:{n:"PlotArea"},4154:{n:"Chart3d"},4156:{n:"PicF"},4157:{n:"DropBar"},4158:{n:"Radar"},4159:{n:"Surf"},4160:{n:"RadarArea"},4161:{n:"AxisParent"},4163:{n:"LegendException"},4164:{n:"ShtProps",f:af},4165:{n:"SerToCrt"},4166:{n:"AxesUsed"},4168:{n:"SBaseRef"},4170:{n:"SerParent"},4171:{n:"SerAuxTrend"},4174:{n:"IFmtRecord"},4175:{n:"Pos"},4176:{n:"AlRuns"},4177:{n:"BRAI"},4187:{n:"SerAuxErrBar"},4188:{n:"ClrtClient",f:qs},4189:{n:"SerFmt"},4191:{n:"Chart3DBarShape"},4192:{n:"Fbi"},4193:{n:"BopPop"},4194:{n:"AxcExt"},4195:{n:"Dat"},4196:{n:"PlotGrowth"},4197:{n:"SIIndex"},4198:{n:"GelFrame"},4199:{n:"BopPopCustom"},4200:{n:"Fbi2"},0:{n:"Dimensions",f:hs},1:{n:"BIFF2BLANK"},2:{n:"BIFF2INT",f:df},3:{n:"BIFF2NUM",f:uf},4:{n:"BIFF2STR",f:cf},5:{n:"BoolErr",f:Ss},7:{n:"String",f:pf},8:{n:"BIFF2ROW"},9:{n:"BOF",f:Li},11:{n:"Index"},22:{n:"ExternCount",f:Qn},30:{n:"BIFF2FORMAT",f:us},31:{n:"BIFF2FMTCNT"},32:{n:"BIFF2COLINFO"},33:{n:"Array",f:Os},36:{n:"COLWIDTH"},37:{n:"DefaultRowHeight",f:qi},50:{n:"BIFF2FONTXTRA",f:mf},62:{n:"BIFF2WINDOW2"},52:{n:"DDEObjName"},67:{n:"BIFF2XF"},68:{n:"BIFF2XFINDEX",f:Qn},69:{n:"BIFF2FONTCLR"},86:{n:"BIFF4FMTCNT"},126:{n:"RK"},127:{n:"ImData",f:of},135:{n:"Addin"},136:{n:"Edg"},137:{n:"Pub"},145:{n:"Sub"},148:{n:"LHRecord"},149:{n:"LHNGraph"},150:{n:"Sound"},169:{n:"CoordList"},171:{n:"GCW"},188:{n:"ShrFmla"},191:{n:"ToolbarHdr"},192:{n:"ToolbarEnd"},194:{n:"AddMenu"},195:{n:"DelMenu"},214:{n:"RString",f:bf},223:{n:"UDDesc"},234:{n:"TabIdConf"},354:{n:"XL5Modify"},421:{n:"FileSharing2"},518:{n:"Formula",f:lh},521:{n:"BOF",f:Li},536:{n:"Lbl",f:Rs},547:{n:"ExternName",f:xs},561:{n:"Font"},579:{n:"BIFF3XF"},1030:{n:"Formula",f:lh},1033:{n:"BOF",f:Li},1091:{n:"BIFF4XF"},2157:{n:"FeatInfo"},2163:{n:"FeatInfo11"},2177:{n:"SXAddl12"},2240:{n:"AutoWebPub"},2241:{n:"ListObj"},2242:{n:"ListField"},2243:{n:"ListDV"},2244:{n:"ListCondFmt"},2245:{n:"ListCF"},2246:{n:"FMQry"},2247:{n:"FMSQry"},2248:{n:"PLV"},2249:{n:"LnExt"},2250:{n:"MkrExt"},2251:{n:"CrtCoopt"},2262:{n:"FRTArchId$",r:12},29282:{}};var pm=J(vm,"n");function mm(e,r,t,a){var n=typeof r=="number"?r:+r||+pm[r];if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Wr(t))e.push(t)}function bm(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return mm(e,r,t,n);var i=+r||+pm[r];if(isNaN(i))return;var s=t.parts||[],f=0;var l=0,o=0;while(o+(s[f]||8224)<=8224){o+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,o);e.push(t.slice(l,l+o));l+=o;while(l=0&&n<65536)mm(e,2,vf(t,a,n));else mm(e,3,hf(t,a,n));return;case"b":;case"e":mm(e,5,wm(t,a,r.v,r.t));return;case"s":;case"str":mm(e,4,km(t,a,(r.v||"").slice(0,255)));return;}mm(e,1,gm(null,t,a))}function Sm(e,r,t,a){var n=Array.isArray(r);var i=Bt(r["!ref"]||"A1"),s,f="",l=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=St(i)}for(var o=i.s.r;o<=i.e.r;++o){f=ut(o);for(var c=i.s.c;c<=i.e.c;++c){if(o===i.s.r)l[c]=pt(c);s=l[c]+f;var u=n?(r[o]||[])[c]:r[s];if(!u)continue;Em(e,u,o,c,a)}}}function Bm(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=nt();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV16384");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}mm(a,2057,Mi(t,16,r));mm(a,"CalcMode",Zn(1));mm(a,"CalcCount",Zn(100));mm(a,"CalcRefMode",qn(true));mm(a,"CalcIter",qn(false));mm(a,"CalcDelta",aa(.001));mm(a,"CalcSaveRecalc",qn(true));mm(a,"PrintRowCol",qn(false));mm(a,"PrintGrid",qn(false));mm(a,"GridSet",Zn(1));mm(a,"Guts",Es([0,0]));mm(a,"HCenter",qn(false));mm(a,"VCenter",qn(false));if(o)Am(a,i["!cols"],i);mm(a,512,ds(d,r));if(o)i["!links"]=[];for(var p=d.s.r;p<=d.e.r;++p){u=ut(p);for(var m=d.s.c;m<=d.e.c;++m){if(p===d.s.r)h[m]=pt(m);c=h[m]+u;var b=l?(i[p]||[])[m]:i[c];if(!b)continue;Rm(a,b,p,m,r);if(o&&b.l)i["!links"].push([c,b.l])}}var g=f.CodeName||f.name||n;if(o)mm(a,"Window2",rs((s.Views||[])[0]));if(o&&(i["!merges"]||[]).length)mm(a,"MergeCells",Ws(i["!merges"]));if(o)xm(a,i);mm(a,"CodeName",oi(g,r));if(o)Tm(a,i);mm(a,"EOF");return a.end()}function Im(e,r,t){var a=nt();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,l=t.biff==5;mm(a,2057,Mi(e,5,t));if(t.bookType=="xla")mm(a,"Addin");mm(a,"InterfaceHdr",f?Zn(1200):null);mm(a,"Mms",Kn(2));if(l)mm(a,"ToolbarHdr");if(l)mm(a,"ToolbarEnd");mm(a,"InterfaceEnd");mm(a,"WriteAccess",Hi("SheetJS",t));mm(a,"CodePage",Zn(f?1200:1252));if(f)mm(a,"DSF",Zn(0));if(f)mm(a,"Excel9File");mm(a,"RRTabId",nf(e.SheetNames.length));if(f&&e.vbaraw)mm(a,"ObProj");if(f&&e.vbaraw){var o=s.CodeName||"ThisWorkbook";mm(a,"CodeName",oi(o,t))}mm(a,"BuiltInFnGroupCount",Zn(17));mm(a,"WinProtect",qn(false));mm(a,"Protect",qn(false));mm(a,"Password",Zn(0));if(f)mm(a,"Prot4Rev",qn(false));if(f)mm(a,"Prot4RevPass",Zn(0));mm(a,"Window1",Zi(t));mm(a,"Backup",qn(false));mm(a,"HideObj",Zn(0));mm(a,"Date1904",qn(Gv(e)=="true"));mm(a,"CalcPrecision",qn(true));if(f)mm(a,"RefreshAll",qn(false));mm(a,"BookBool",Zn(0));Cm(a,e,t);ym(a,e.SSF,t);_m(a,t);if(f)mm(a,"UsesELFs",qn(false));var c=a.end();var u=nt();if(f)mm(u,"Country",Js());if(f&&t.Strings)bm(u,"SST",ji(t.Strings,t));mm(u,"EOF");var h=u.end();var d=nt();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return Dm(e,r);case 4:;case 3:;case 2:return Bm(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}var Om=function(){function e(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,f=i&&i.index||e.length;var l=be(e.slice(s,f),/(:?]*>)/i,"");var o=-1,c=0,u=0,h=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(f=0;f"))>-1)k=k.slice(E+1);for(var S=0;S")));h=C.colspan?+C.colspan:1;if((u=+C.rowspan)>1||h>1)v.push({s:{r:o,c:c},e:{r:o+(u||1)-1,c:c+h-1}});var y=C.t||C["data-t"]||"";if(!k.length){c+=h;continue}k=ar(k);if(d.s.r>o)d.s.r=o;if(d.e.rc)d.s.c=c;if(d.e.c[\s\S]*?<\/table>/gi);if(!a||a.length==0)throw new Error("Invalid HTML: could not find
");if(a.length==1)return Tt(e(a[0],t),t);var n=Jb.book_new();a.forEach(function(r,a){Jb.book_append_sheet(n,e(r,t),"Sheet"+(a+1))});return n}function t(e,r,t,a){var n=e["!merges"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var f=0,l=0;for(var o=0;ot||n[o].s.c>s)continue;if(n[o].e.r1)d.rowspan=f;if(l>1)d.colspan=l;if(a.editable)h=''+h+"";else if(u){d["data-t"]=u&&u.t||"z";if(u.v!=null)d["data-v"]=u.v;if(u.z!=null)d["data-z"]=u.z;if(u.l&&(u.l.Target||"#").charAt(0)!="#")h=''+h+""}d.id=(a.id||"sjs")+"-"+c;i.push(ur("td",h,d))}var v="";return v+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var f=s.header!=null?s.header:n;var l=s.footer!=null?s.footer:i;var o=[f];var c=Et(e["!ref"]);s.dense=Array.isArray(e);o.push(a(e,c,s));for(var u=c.s.r;u<=c.e.r;++u)o.push(t(e,c,u,s));o.push("
"+l);return o.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function Nm(e,r,t){var a=t||{};if(m!=null)a.dense=m;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?wt(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName("tr");var l=Math.min(a.sheetRows||1e7,f.length);var o={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var c=Et(e["!ref"]);o.s.r=Math.min(o.s.r,c.s.r);o.s.c=Math.min(o.s.c,c.s.c);o.e.r=Math.max(o.e.r,c.e.r);o.e.c=Math.max(o.e.c,c.e.c);if(n==-1)o.e.r=n=c.e.r+1}var u=[],h=0;var d=e["!rows"]||(e["!rows"]=[]);var v=0,p=0,b=0,g=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)u.push({s:{r:p+n,c:g+i},e:{r:p+n+(w||1)-1,c:g+i+(k||1)-1}});var _={t:"s",v:C};var x=B.getAttribute("data-t")||B.getAttribute("t")||"";if(C!=null){if(C.length==0)_.t=x||"z";else if(a.raw||C.trim().length==0||x=="s"){}else if(C==="TRUE")_={t:"b",v:true};else if(C==="FALSE")_={t:"b",v:false};else if(!isNaN(de(C)))_={t:"n",v:de(C)};else if(!isNaN(pe(C).getDate())){_={t:"d",v:oe(C)};if(!a.cellDates)_={t:"n",v:re(_.v)};_.z=a.dateNF||P._table[14]}}if(_.z===undefined&&y!=null)_.z=y;var A="",R=B.getElementsByTagName("A");if(R&&R.length)for(var F=0;F=l)e["!fullref"]=St((o.e.r=f.length-v+p-1+n,o));return e}function Lm(e,r){var t=r||{};var a=t.dense?[]:{};return Nm(a,e,r)}function Mm(e,r){return Tt(Lm(e,r),r)}function Um(e){var r="";var t=Wm(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Wm(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}var Hm=function(){var e=function(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=We(r.replace(/<[^>]*>/g,""));return[t]};var r={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};return function t(a,n){var i=n||{};if(m!=null&&i.dense==null)i.dense=m;var s=vr(a);var f=[],l;var o;var c={name:""},u="",h=0;var d;var v;var p={},b=[];var g=i.dense?[]:{};var w,k;var E={value:""};var S="",B=0,C;var y=[];var T=-1,_=-1,x={s:{r:1e6,c:1e7},e:{r:0,c:0}};var A=0;var R={};var F=[],I={},D=0,P=0;var O=[],N=1,L=1;var M=[];var U={Names:[]};var W={};var H=["",""];var X=[],V={};var G="",z=0;var j=false,$=false;var K=0;pr.lastIndex=0;s=s.replace(//gm,"").replace(//gm,"");while(w=pr.exec(s))switch(w[3]=w[3].replace(/_.*$/,"")){case"table":;case"工作表":if(w[1]==="/"){if(x.e.c>=x.s.c&&x.e.r>=x.s.r)g["!ref"]=St(x);else g["!ref"]="A1:A1";if(i.sheetRows>0&&i.sheetRows<=x.e.r){g["!fullref"]=g["!ref"];x.e.r=i.sheetRows-1;g["!ref"]=St(x)}if(F.length)g["!merges"]=F;if(O.length)g["!rows"]=O;d.name=d["名称"]||d.name;if(typeof JSON!=="undefined")JSON.stringify(d);b.push(d.name);p[d.name]=g;$=false}else if(w[0].charAt(w[0].length-2)!=="/"){d=Ne(w[0],false);T=_=-1;x.s.r=x.s.c=1e7;x.e.r=x.e.c=0;g=i.dense?[]:{};F=[];O=[];$=true}break;case"table-row-group":if(w[1]==="/")--A;else++A;break;case"table-row":;case"行":if(w[1]==="/"){T+=N;N=1;break}v=Ne(w[0],false);if(v["行号"])T=v["行号"]-1;else if(T==-1)T=0;N=+v["number-rows-repeated"]||1;if(N<10)for(K=0;K0)O[T+K]={level:A};_=-1;break;case"covered-table-cell":if(w[1]!=="/")++_;if(i.sheetStubs){if(i.dense){if(!g[T])g[T]=[];g[T][_]={t:"z"}}else g[kt({r:T,c:_})]={t:"z"}}S="";y=[];break;case"table-cell":;case"数据":if(w[0].charAt(w[0].length-2)==="/"){++_;E=Ne(w[0],false);L=parseInt(E["number-columns-repeated"]||"1",10);k={t:"z",v:null};if(E.formula&&i.cellFormula!=false)k.f=gh(We(E.formula));if((E["数据类型"]||E["value-type"])=="string"){k.t="s";k.v=We(E["string-value"]||"");if(i.dense){if(!g[T])g[T]=[];g[T][_]=k}else{g[kt({r:T,c:_})]=k}}_+=L-1}else if(w[1]!=="/"){++_;S="";B=0;y=[];L=1;var Y=N?T+N-1:T;if(_>x.e.c)x.e.c=_;if(_x.e.r)x.e.r=Y;E=Ne(w[0],false);X=[];V={};k={t:E["数据类型"]||E["value-type"],v:null};if(i.cellFormula){if(E.formula)E.formula=We(E.formula);if(E["number-matrix-columns-spanned"]&&E["number-matrix-rows-spanned"]){D=parseInt(E["number-matrix-rows-spanned"],10)||0;P=parseInt(E["number-matrix-columns-spanned"],10)||0;I={s:{r:T,c:_},e:{r:T+D-1,c:_+P-1}};k.F=St(I);M.push([I,k.F])}if(E.formula)k.f=gh(E.formula);else for(K=0;K=M[K][0].s.r&&T<=M[K][0].e.r)if(_>=M[K][0].s.c&&_<=M[K][0].e.c)k.F=M[K][1]}if(E["number-columns-spanned"]||E["number-rows-spanned"]){D=parseInt(E["number-rows-spanned"],10)||0;P=parseInt(E["number-columns-spanned"],10)||0;I={s:{r:T,c:_},e:{r:T+D-1,c:_+P-1}};F.push(I)}if(E["number-columns-repeated"])L=parseInt(E["number-columns-repeated"],10);switch(k.t){case"boolean":k.t="b";k.v=Je(E["boolean-value"]);break;case"float":k.t="n";k.v=parseFloat(E.value);break;case"percentage":k.t="n";k.v=parseFloat(E.value);break;case"currency":k.t="n";k.v=parseFloat(E.value);break;case"date":k.t="d";k.v=oe(E["date-value"]);if(!i.cellDates){k.t="n";k.v=re(k.v)}k.z="m/d/yy";break;case"time":k.t="n";k.v=se(E["time-value"])/86400;if(i.cellDates){k.t="d";k.v=ie(k.v)}k.z="HH:MM:SS";break;case"number":k.t="n";k.v=parseFloat(E["数据数值"]);break;default:if(k.t==="string"||k.t==="text"||!k.t){k.t="s";if(E["string-value"]!=null){S=We(E["string-value"]);y=[]}}else throw new Error("Unsupported value type "+k.t);}}else{j=false;if(k.t==="s"){k.v=S||"";if(y.length)k.R=y;j=B==0}if(W.Target)k.l=W;if(X.length>0){k.c=X;X=[]}if(S&&i.cellText!==false)k.w=S;if(j){k.t="z";delete k.v}if(!j||i.sheetStubs){if(!(i.sheetRows&&i.sheetRows<=T)){for(var J=0;J0)g[T+J][_+L]=ue(k)}else{g[kt({r:T+J,c:_})]=k;while(--L>0)g[kt({r:T+J,c:_+L})]=ue(k)}if(x.e.c<=_)x.e.c=_}}}L=parseInt(E["number-columns-repeated"]||"1",10);_+=L-1;L=0;k={};S="";y=[]}W={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(w[1]==="/"){if((l=f.pop())[0]!==w[3])throw"Bad state: "+l}else if(w[0].charAt(w[0].length-2)!=="/")f.push([w[3],true]);break;case"annotation":if(w[1]==="/"){if((l=f.pop())[0]!==w[3])throw"Bad state: "+l;V.t=S;if(y.length)V.R=y;V.a=G;X.push(V)}else if(w[0].charAt(w[0].length-2)!=="/"){f.push([w[3],false])}G="";z=0;S="";B=0;y=[];break;case"creator":if(w[1]==="/"){G=s.slice(z,w.index)}else z=w.index+w[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(w[1]==="/"){if((l=f.pop())[0]!==w[3])throw"Bad state: "+l}else if(w[0].charAt(w[0].length-2)!=="/")f.push([w[3],false]);S="";B=0;y=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(w[1]==="/"){R[c.name]=u;if((l=f.pop())[0]!==w[3])throw"Bad state: "+l}else if(w[0].charAt(w[0].length-2)!=="/"){u="";c=Ne(w[0],false);f.push([w[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(f[f.length-1][0]){case"time-style":;case"date-style":o=Ne(w[0],false);u+=r[w[3]][o.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(f[f.length-1][0]){case"time-style":;case"date-style":o=Ne(w[0],false);u+=r[w[3]][o.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(w[0].slice(-2)==="/>")break;else if(w[1]==="/")switch(f[f.length-1][0]){case"number-style":;case"date-style":;case"time-style":u+=s.slice(h,w.index);break;}else h=w.index+w[0].length;break;case"named-range":o=Ne(w[0],false);H=kh(o["cell-range-address"]);var q={Name:o.name,Ref:H[0]+"!"+H[1]};if($)q.Sheet=b.length;U.Names.push(q);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(f[f.length-1][0])>-1)break;if(w[1]==="/"&&(!E||!E["string-value"])){var Q=e(s.slice(B,w.index),C);S=(S.length>0?S+"\n":"")+Q[0]}else{C=Ne(w[0],false);B=w.index+w[0].length}break;case"s":break;case"database-range":if(w[1]==="/")break;try{H=kh(Ne(w[0])["target-range-address"]);p[H[0]]["!autofilter"]={ref:H[1]}}catch(Z){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(w[1]!=="/"){W=Ne(w[0],false);if(!W.href)break;W.Target=We(W.href);delete W.href;if(W.Target.charAt(0)=="#"&&W.Target.indexOf(".")>-1){H=kh(W.Target.slice(1));W.Target="#"+H[0]+"!"+H[1]}else if(W.Target.match(/^\.\.[\\\/]/))W.Target=W.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(w[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(i.WTF)throw new Error(w);};}var ee={Sheets:p,SheetNames:b,Workbook:U};if(i.bookSheets)delete ee.Sheets;return ee}}();function Xm(e,r){r=r||{};if(Ee(e,"META-INF/manifest.xml"))qa(Be(e,"META-INF/manifest.xml"),r);var t=Ce(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=Hm(qe(t),r);if(Ee(e,"meta.xml"))a.Props=sn(Be(e,"meta.xml"));return a}function Vm(e,r){return Hm(e,r)}var Gm=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Fe+r}}();var zm=function(){var e=function(e){return Ve(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var f=0,l=0,o=Et(a["!ref"]||"A1");var c=a["!merges"]||[],u=0;var h=Array.isArray(a);if(a["!cols"]){for(l=0;l<=o.e.c;++l)s.push(" \n")}var d="",v=a["!rows"]||[];for(f=0;f\n")}for(;f<=o.e.r;++f){d=v[f]?' table:style-name="ro'+v[f].ods+'"':"";s.push(" \n");for(l=0;ll)continue;if(c[u].s.r>f)continue;if(c[u].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Fe];var i=cr({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0", -"xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=cr({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(tn().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function jm(e,r){if(r.bookType=="fods")return zm(e,r);var t=xe();var a="";var n=[];var i=[];a="mimetype";_e(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";_e(t,a,zm(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";_e(t,a,Gm(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";_e(t,a,Fe+tn());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";_e(t,a,rn(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";_e(t,a,Qa(n));return t}var $m=!Object.defineProperty?void 0:function(){var e=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var n=function(r){return e(r,"__esModule",{value:true})};var i=function(r,t){for(var a in t)e(r,a,{get:t[a],enumerable:true})};var s=function(n,i,s,f){if(i&&typeof i==="object"||typeof i==="function")for(var l=t(i),o=0,c=l.length,u;o>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24};var d=function(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)};function v(e,r){var t=r?r[0]:0;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}if(r)r[0]=t;return a}function p(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28}return t}function m(e){var r=[],t=[0];while(t[0]=128);f=e.slice(l,t[0])}break;case 5:s=4;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 1:s=8;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 2:s=v(e,t);f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 3:;case 4:;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var o={offset:a,data:f,type:i};if(r[n]==null)r[n]=[o];else r[n].push(o)}return r}function b(e,r){if(!e)return[];return e.map(function(e){var t;try{return r(e.data)}catch(a){var n=(t=a.message)==null?void 0:t.match(/at offset (\d+)/);if(n)a.message=a.message.replace(/at offset (\d+)/,"at offset "+(+n[1]+e.offset));throw a}})}function g(e){var r=[];var t=0;while(t>2;if(s<60)++s;else{var f=s-59;s=r[t[0]];if(f>1)s|=r[t[0]+1]<<8;if(f>2)s|=r[t[0]+2]<<16;if(f>3)s|=r[t[0]+3]<<24;s>>>=0;s++;t[0]+=f}n.push(r.slice(t[0],t[0]+s));t[0]+=s;continue}else{var l=0,o=0;if(i==1){o=(r[t[0]]>>2&7)+4;l=(r[t[0]++]&224)<<3;l|=r[t[0]++]}else{o=(r[t[0]++]>>2)+1;if(i==2){l=r[t[0]]|r[t[0]+1]<<8;t[0]+=2}else{l=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0;t[0]+=4}}n=[u(n)];if(l==0)throw new Error("Invalid offset 0");if(l>n[0].length)throw new Error("Invalid offset beyond length");if(o>=l){n.push(n[0].slice(-l));o-=l;while(o>=n[n.length-1].length){n.push(n[n.length-1]);o-=n[n.length-1].length}}n.push(n[0].slice(-l,-l+o))}}var c=u(n);if(c.length!=a)throw new Error("Unexpected length: ".concat(c.length," != ").concat(a));return c}function k(e){var r=[],t=[0];while(t[0]0};break;case 7:d={t:"n",v:c};break;case 8:d={t:"e",v:0};break;case 9:{if(f>-1)d={t:"s",v:t[f]};else if(l>-1)d={t:"s",v:r[l]};else if(!isNaN(c))d={t:"n",v:c};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)));}return d}function S(e,r,t){var a=o(e);var n=e[1];var i=a.getUint32(8,true);var s=12;var f=-1,l=-1,c=NaN,u=NaN,h=new Date(2001,0,1);if(i&1){c=d(e,s);s+=16}if(i&2){u=a.getFloat64(s,true);s+=8}if(i&4){h.setTime(h.getTime()+a.getFloat64(s,true)*1e3);s+=8}if(i&8){l=a.getUint32(s,true);s+=4}if(i&16){f=a.getUint32(s,true);s+=4}var v;switch(n){case 0:break;case 2:v={t:"n",v:c};break;case 3:v={t:"s",v:r[l]};break;case 5:v={t:"d",v:h};break;case 6:v={t:"b",v:u>0};break;case 7:v={t:"n",v:u};break;case 8:v={t:"e",v:0};break;case 9:{if(f>-1)v={t:"s",v:t[f]};else throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)))}break;case 10:v={t:"n",v:c};break;default:throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)));}return v}function B(e,r,t){switch(e[0]){case 3:;case 4:return E(e,r,t);case 5:return S(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}var C=function(e){var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r};var y=function(e){return"".concat(C(e.c)).concat(e.r+1)};var T=function(e){return y(e.s)+":"+y(e.e)};var x=function(){return{Sheets:{},SheetNames:[]}};var A=function(e,r,t){if(!t)for(var a=1;a<9999;++a){if(e.SheetNames.indexOf(t="Sheet ".concat(a))==-1)break}else if(e.SheetNames.indexOf(t)>-1)for(var a=1;a<9999;++a){if(e.SheetNames.indexOf("".concat(t,"_").concat(a))==-1){t="".concat(t,"_").concat(a);break}}e.SheetNames.push(t);e.Sheets[t]=r};function R(e){var r=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;var t;try{t=g(e.content)}catch(a){return console.log("?? "+e.content.length+" "+(a.message||a))}var n;try{n=k(t)}catch(a){return console.log("## "+(a.message||a))}n.forEach(function(e){r[+e.id]=e.messages})});if(!r.length)throw new Error("File has no messages");var t;r.forEach(function(e){e.forEach(function(e){var r=p(e.meta[1][0].data)>>>0;if(r==1){if(!t)t=e;else throw new Error("Document has multiple roots")}})});if(!t)throw new Error("Cannot find Document root");return U(r,t)}var F=R;function I(e){var r=m(e);return v(r[1][0].data)}function D(e,r){var t=m(r.data);var a=p(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=m(r.data);var n=p(t[1][0].data)>>>0;switch(a){case 1:i[n]=c(t[3][0].data);break;case 8:{var s=e[I(t[9][0].data)][0];var f=m(s.data);var l=e[I(f[1][0].data)][0];var o=p(l.meta[1][0].data);if(o!=2001)throw new Error("2000 unexpected reference to ".concat(o));var u=m(l.data);i[n]=u[3].map(function(e){return c(e.data)}).join("")}break;}});return i}function P(e){var r,t,a,n,i,s,f,l,c,u;var h=m(e);var d=p(h[1][0].data)>>>0;var v=(t=(r=h[3])==null?void 0:r[0])==null?void 0:t.data;var b=((n=(a=h[4])==null?void 0:a[0])==null?void 0:n.data)&&o(h[4][0].data);var g=(s=(i=h[6])==null?void 0:i[0])==null?void 0:s.data;var w=((l=(f=h[7])==null?void 0:f[0])==null?void 0:l.data)&&o(h[7][0].data);var k=((u=(c=h[8])==null?void 0:c[0])==null?void 0:u.data)&&p(h[8][0].data)>0||false;var E=k?4:1;var S=[];var B=0;for(var C=0;C>>0)-1;if(i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=T(i);{var s=m(n[4][0].data);var f=D(e,e[I(s[4][0].data)][0]);var l=((a=s[17])==null?void 0:a[0])?D(e,e[I(s[17][0].data)][0]):[];{var o=m(s[3][0].data);var c=[];o[1].forEach(function(r){var t=m(r.data);var a=e[I(t[2][0].data)][0];var n=p(a.meta[1][0].data);if(n!=6002)throw new Error("6001 unexpected reference to ".concat(n));c.push({id:p(t[1][0].data),ref:O(e,a)})});c.forEach(function(e){e.ref.forEach(function(e,r){e.forEach(function(e,a){var n=y({r:r,c:a});var i=B(e,f,l);if(i)t[n]=i})})})}}}function L(e,r){var t=m(r.data);var a={"!ref":"A1"};var n=e[I(t[2][0].data)];var i=p(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));N(e,n[0],a);return a}function M(e,r){var t;var a=m(r.data);var n={name:((t=a[1])==null?void 0:t[0])?c(a[1][0].data):"",sheets:[]};var i=b(a[2],I);i.forEach(function(r){e[r].forEach(function(r){var t=p(r.meta[1][0].data);if(t==6e3)n.sheets.push(L(e,r))})});return n}function U(e,r){var t=x();var a=m(r.data);var n=b(a[1],I);n.forEach(function(r){e[r].forEach(function(r){var a=p(r.meta[1][0].data);if(a==2){var n=M(e,r);n.sheets.forEach(function(e){A(t,e,n.name)})}})});if(t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}return f(l)}();function Km(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}var Ym=function(e){Km([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)};var Jm=Km([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function qm(e){if(Va.WS.indexOf(e)>-1)return"sheet";if(Va.CS&&e==Va.CS)return"chart";if(Va.DS&&e==Va.DS)return"dialog";if(Va.MS&&e==Va.MS)return"macro";return e&&e.length?e:"sheet"}function Qm(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,qm(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Zm(e,r,t,a,n,i,s,f,l,o,c,u){try{i[a]=za(Ce(e,t,true),r);var h=Be(e,r);var d;switch(f){case"sheet":d=hp(h,r,n,l,i[a],o,c,u);break;case"chart":d=dp(h,r,n,l,i[a],o,c,u);if(!d||!d["!drawel"])break;var v=Re(d["!drawel"].Target,r);var p=Ga(v);var m=Qo(Ce(e,v,true),za(Ce(e,p,true),v));var b=Re(m,v);var g=Ga(b);d=Rv(Ce(e,b,true),b,l,za(Ce(e,g,true),b),o,d);break;case"macro":d=vp(h,r,n,l,i[a],o,c,u);break;case"dialog":d=pp(h,r,n,l,i[a],o,c,u);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[];if(i&&i[a])Y(i[a]).forEach(function(t){if(i[a][t].Type==Va.CMNT){var n=Re(i[a][t].Target,r);w=wp(Be(e,n,true),n,l);if(!w||!w.length)return;rc(d,w)}})}catch(k){if(l.WTF)throw k}}function eb(e){return e.charAt(0)=="/"?e.slice(1):e}function rb(e,r){O(P);r=r||{};Ym(r);if(Ee(e,"META-INF/manifest.xml"))return Xm(e,r);if(Ee(e,"objectdata.xml"))return Xm(e,r);if(Ee(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof $m!="undefined"){if(e.FileIndex)return $m.parse_numbers(e);var t=V.utils.cfb_new();Te(e).forEach(function(r){_e(t,r,ye(e,r))});return $m.parse_numbers(t)}throw new Error("Unsupported NUMBERS file")}if(!Ee(e,"[Content_Types].xml")){if(Ee(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Ee(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Te(e);var n=Ua(Ce(e,"[Content_Types].xml"));var i=false;var s,f;if(n.workbooks.length===0){f="xl/workbook.xml";if(Be(e,f,true))n.workbooks.push(f)}if(n.workbooks.length===0){f="xl/workbook.bin";if(!Be(e,f,true))throw new Error("Could not find workbook");n.workbooks.push(f);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var l={};var o={};if(!r.bookSheets&&!r.bookProps){Sh=[];if(n.sst)try{Sh=gp(Be(e,eb(n.sst)),n.sst,r)}catch(c){if(r.WTF)throw c}if(r.cellStyles&&n.themes.length)l=bp(Ce(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)o=mp(Be(e,eb(n.style)),n.style,l,r)}n.links.map(function(t){try{var a=za(Ce(e,Ga(eb(t))),t);return Ep(Be(e,eb(t)),a,t,r)}catch(n){}});var u=up(Be(e,eb(n.workbooks[0])),n.workbooks[0],r);var h={},d="";if(n.coreprops.length){d=Be(e,eb(n.coreprops[0]),true);if(d)h=sn(d);if(n.extprops.length!==0){d=Be(e,eb(n.extprops[0]),true);if(d)dn(d,h,r)}}var v={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=Ce(e,eb(n.custprops[0]),true);if(d)v=bn(d,r)}}var p={};if(r.bookSheets||r.bookProps){if(u.Sheets)s=u.Sheets.map(function F(e){return e.name});else if(h.Worksheets&&h.SheetNames.length>0)s=h.SheetNames;if(r.bookProps){p.Props=h;p.Custprops=v}if(r.bookSheets&&typeof s!=="undefined")p.SheetNames=s;if(r.bookSheets?p.SheetNames:r.bookProps)return p}s={};var m={};if(r.bookDeps&&n.calcchain)m=kp(Be(e,eb(n.calcchain)),n.calcchain,r);var b=0;var g={};var w,k;{var E=u.Sheets;h.Worksheets=E.length;h.SheetNames=[];for(var S=0;S!=E.length;++S){h.SheetNames[S]=E[S].name}}var B=i?"bin":"xml";var C=n.workbooks[0].lastIndexOf("/");var y=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!Ee(e,y))y="xl/_rels/workbook."+B+".rels";var T=za(Ce(e,y,true),y.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=Sp(Be(e,eb(n.metadata[0])),n.metadata[0],r)}if(T)T=Qm(T,u.Sheets);var _=Be(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=h.Worksheets;++b){var x="sheet";if(T&&T[b]){w="xl/"+T[b][1].replace(/[\/]?xl\//,"");if(!Ee(e,w))w=T[b][1];if(!Ee(e,w))w=y.replace(/_rels\/.*$/,"")+T[b][1];x=T[b][2]}else{w="xl/worksheets/sheet"+(b+1-_)+"."+B;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(b!=r.sheets)continue e;break;case"string":if(h.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var A=false;for(var R=0;R!=r.sheets.length;++R){if(typeof r.sheets[R]=="number"&&r.sheets[R]==b)A=1;if(typeof r.sheets[R]=="string"&&r.sheets[R].toLowerCase()==h.SheetNames[b].toLowerCase())A=1}if(!A)continue e};}Zm(e,w,k,h.SheetNames[b],b,g,s,x,r,u,l,o)}p={Directory:n,Workbook:u,Props:h,Custprops:v,Deps:m,Sheets:s,SheetNames:h.SheetNames,Strings:Sh,Styles:o,Themes:l,SSF:P.get_table()};if(r&&r.bookFiles){if(e.files){p.keys=a;p.files=e.files}else{p.keys=[];p.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");p.keys.push(r);p.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)p.vbaraw=Be(e,eb(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===uc)p.vbaraw=Be(e,"xl/vbaProject.bin",true)}return p}function tb(e,r){var t=r||{};var a="Workbook",n=V.find(e,a);try{a="/!DataSpaces/Version";n=V.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);zf(n.content);a="/!DataSpaces/DataSpaceMap";n=V.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=$f(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=V.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=Kf(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=V.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Jf(n.content)}catch(f){}a="/EncryptionInfo";n=V.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=Zf(n.content);a="/EncryptedPackage";n=V.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(l[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(l[1],n.content,t.password||"",t);if(l[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(l[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function ab(e,r){if(r.bookType=="ods")return jm(e,r);return nb(e,r)}function nb(e,r){Zo=1024;if(e&&!e.SSF){e.SSF=P.get_table()}if(e&&e.SSF){O(P);P.load_table(e.SSF);r.revssf=Q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Ch)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=vc.indexOf(r.bookType)>-1;var n=Ma();Jm(r=r||{});var i=xe();var s="",f=0;r.cellXfs=[];xh(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";_e(i,s,on(e.Props,r));n.coreprops.push(s);Ya(r.rels,2,s,Va.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var l=[];for(var o=0;o0){s="docProps/custom.xml";_e(i,s,wn(e.Custprops,r));n.custprops.push(s);Ya(r.rels,4,s,Va.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var h=(u||{})["!type"]||"sheet";switch(h){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;_e(i,s,Cp(f-1,s,r,e,c));n.sheets.push(s);Ya(r.wbrels,-1,"worksheets/sheet"+f+"."+t,Va.WS[0]);}if(u){var d=u["!comments"];var v=false;if(d&&d.length>0){var p="xl/comments"+f+"."+t;_e(i,p,xp(d,p,r));n.comments.push(p);Ya(c,-1,"../comments"+f+"."+t,Va.CMNT);v=true}if(u["!legacy"]){if(v)_e(i,"xl/drawings/vmlDrawing"+f+".vml",ec(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(c["!id"].rId1)_e(i,Ga(s),$a(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;_e(i,s,_p(r.Strings,s,r));n.strs.push(s);Ya(r.wbrels,-1,"sharedStrings."+t,Va.SST)}s="xl/workbook."+t;_e(i,s,Bp(e,s,r));n.workbooks.push(s);Ya(r.rels,1,s,Va.WB);s="xl/theme/theme1.xml";_e(i,s,Ao(e.Themes,r));n.themes.push(s);Ya(r.wbrels,-1,"theme/theme1.xml",Va.THEME);s="xl/styles."+t;_e(i,s,Tp(e,s,r));n.styles.push(s);Ya(r.wbrels,-1,"styles."+t,Va.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";_e(i,s,e.vbaraw);n.vba.push(s);Ya(r.wbrels,-1,"vbaProject.bin",Va.VBA)}s="xl/metadata."+t;_e(i,s,Ap(s));n.metadata.push(s);Ya(r.wbrels,-1,"metadata."+t,Va.XLMETA);_e(i,"[Content_Types].xml",Xa(n,r));_e(i,"_rels/.rels",$a(r.rels));_e(i,"xl/_rels/workbook."+t+".rels",$a(r.wbrels));delete r.revssf;delete r.ssf;return i}function ib(e,r){Zo=1024;if(e&&!e.SSF){e.SSF=P.get_table()}if(e&&e.SSF){O(P);P.load_table(e.SSF);r.revssf=Q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Ch)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=vc.indexOf(r.bookType)>-1;var n=Ma();Jm(r=r||{});var i=xe();var s="",f=0;r.cellXfs=[];xh(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";_e(i,s,on(e.Props,r));n.coreprops.push(s);Ya(r.rels,2,s,Va.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var l=[];for(var o=0;o0){s="docProps/custom.xml";_e(i,s,wn(e.Custprops,r));n.custprops.push(s);Ya(r.rels,4,s,Va.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var h=(u||{})["!type"]||"sheet";switch(h){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;_e(i,s,cd(f-1,r,e,c));n.sheets.push(s);Ya(r.wbrels,-1,"worksheets/sheet"+f+"."+t,Va.WS[0]);}if(u){var d=u["!comments"];var v=false;if(d&&d.length>0){var p="xl/comments"+f+"."+t;_e(i,p,nc(d,r));n.comments.push(p);Ya(c,-1,"../comments"+f+"."+t,Va.CMNT);v=true}if(u["!legacy"]){if(v)_e(i,"xl/drawings/vmlDrawing"+f+".vml",ec(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(c["!id"].rId1)_e(i,Ga(s),$a(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;_e(i,s,Lf(r.Strings,r));n.strs.push(s);Ya(r.wbrels,-1,"sharedStrings."+t,Va.SST)}s="xl/workbook."+t;_e(i,s,Qv(e,r));n.workbooks.push(s);Ya(r.rels,1,s,Va.WB);s="xl/theme/theme1.xml";_e(i,s,Ao(e.Themes,r));n.themes.push(s);Ya(r.wbrels,-1,"theme/theme1.xml",Va.THEME);s="xl/styles."+t;_e(i,s,Gl(e,r));n.styles.push(s);Ya(r.wbrels,-1,"styles."+t,Va.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";_e(i,s,e.vbaraw);n.vba.push(s);Ya(r.wbrels,-1,"vbaProject.bin",Va.VBA)}s="xl/metadata."+t;_e(i,s,Uo());n.metadata.push(s);Ya(r.wbrels,-1,"metadata."+t,Va.XLMETA);_e(i,"[Content_Types].xml",Xa(n,r));_e(i,"_rels/.rels",$a(r.rels));_e(i,"xl/_rels/workbook."+t+".rels",$a(r.wbrels));delete r.revssf;delete r.ssf;return i}function sb(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=g.decode(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function fb(e,r){if(V.find(e,"EncryptedPackage"))return tb(e,r);return om(e,r)}function lb(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=w&&Buffer.isBuffer(e)?"buffer":"base64";t=Ae(a,n);return rb(t,n)}function ob(e,r){var t=0;e:while(t=2&&n[3]===0)return Cf.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return Cf.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return gf.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return hl.to_workbook(a,t);break;case 10:;case 13:;case 32:return cb(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(gf.versions.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return gf.to_workbook(a,t);return db(e,a,t,i)}function pb(e,r){var t=r||{};t.type="file";return vb(e,t)}function mb(e){return function r(t,a){var n=0;if(a.sheet){if(typeof a.sheet=="number")n=a.sheet;else n=t.SheetNames.indexOf(a.sheet);if(!t.SheetNames[n])throw new Error("Sheet not found: "+a.sheet+" : "+typeof a.sheet)}return e.from_sheet(t.Sheets[t.SheetNames[n]],a,t)}}var bb=mb(Om);var gb=mb({from_sheet:zb});var wb=mb(typeof wf!=="undefined"?wf:{});var kb=mb(typeof kf!=="undefined"?kf:{});var Eb=mb(typeof Sf!=="undefined"?Sf:{});var Sb=mb(typeof hl!=="undefined"?hl:{});var Bb=mb({from_sheet:jb});var Cb=mb(typeof gf!=="undefined"?gf:{});var yb=mb(typeof Ef!=="undefined"?Ef:{});var Tb=mb(typeof Cf!=="undefined"?{from_sheet:Cf.sheet_to_wk1}:{});function _b(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return j(r.file,V.write(e,{type:w?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return V.write(e,r)}function xb(e,r){var t=ue(r||{});var a=ab(e,t);return Rb(a,t)}function Ab(e,r){var t=ue(r||{});var a=ib(e,t);return Rb(a,t)}function Rb(e,r){var t={};var a=w?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?V.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(T(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return _b(encrypt_agile(n,r.password),r);if(r.type==="file")return j(r.file,n);return r.type=="string"?qe(n):n}function Fb(e,r){var t=r||{};var a=cm(e,t);return _b(a,t)}function Ib(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return g.encode(Qe(a));case"binary":return Qe(a);case"string":return e;case"file":return j(r.file,a,"utf8");case"buffer":{if(w)return k(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Ib(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Db(e,r){switch(r.type){case"base64":return g.encode(e);case"binary":return e;case"string":return e;case"file":return j(r.file,e,"binary");case"buffer":{if(w)return k(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Pb(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=ut(l.s.r);var h=[];var d=[];var v=0,p=0;var m=Array.isArray(e);var b=l.s.r,g=0,w=0;if(m&&!e[b])e[b]=[];for(g=l.s.c;g<=l.e.c;++g){h[g]=pt(g);t=m?e[b][g]:e[h[g]+u];switch(a){case 1:i[g]=g-l.s.c;break;case 2:i[g]=h[g];break;case 3:i[g]=o.header[g-l.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=yt(t,null,o);p=0;for(w=0;w=0)c='"'+c.replace(Vb,'""')+'"'}else c="";o.push(c)}if(f.blankrows===false&&l)return null;return o.join(s)}function zb(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Bt(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",l=f.charCodeAt(0);var o=new RegExp((i=="|"?"\\|":i)+"+$");var c="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=pt(v);var p=0;for(var m=n.s.r;m<=n.e.r;++m){if((d[m]||{}).hidden)continue;c=Gb(e,n,m,u,s,l,i,a);if(c==null){continue}if(a.strip)c=c.replace(o,"");if(c||a.blankrows!==false)t.push((p++?f:"")+c)}delete a.dense;return t.join("")}function jb(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=zb(e,r);if(typeof cptable=="undefined"||r.type=="string")return t;var a=cptable.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function $b(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Bt(e["!ref"]),i="",s=[],f;var l=[];var o=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=pt(f);for(var c=n.s.r;c<=n.e.r;++c){i=ut(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=o?(e[c]||[])[f]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;l[l.length]=r+"="+a}}return l}function Kb(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var l=typeof a.origin=="string"?wt(a.origin):a.origin;s=l.r;f=l.c}}var o;var c={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i["!ref"]){var u=Bt(i["!ref"]);c.e.c=Math.max(c.e.c,u.e.c);c.e.r=Math.max(c.e.r,u.e.r);if(s==-1){s=u.e.r+1;c.e.r=s+r.length-1+n}}else{if(s==-1){s=0;c.e.r=r.length-1+n}}var h=a.header||[],d=0;r.forEach(function(e,r){Y(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var l=e[t];var c="z";var u="";var v=kt({c:f+d,r:s+r+n});o=Jb.sheet_get_cell(i,v);if(l&&typeof l==="object"&&!(l instanceof Date)){i[v]=l}else{if(typeof l=="number")c="n";else if(typeof l=="boolean")c="b";else if(typeof l=="string")c="s";else if(l instanceof Date){c="d";if(!a.cellDates){c="n";l=re(l)}u=a.dateNF||P._table[14]}else if(l===null&&a.nullError){c="e";l=0}if(!o)i[v]=o={t:c,v:l};else{o.t=c;o.v=l;delete o.w;delete o.R;if(u)o.z=u}if(u)o.z=u}})});c.e.c=Math.max(c.e.c,f+h.length-1);var v=ut(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}e.book_new=function(){return{SheetNames:[],Sheets:{}}};e.book_append_sheet=function(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");jv(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r};e.book_set_sheet_visibility=function(e,r,a){t(e,"Workbook",{});t(e.Workbook,"Sheets",[]);var i=n(e,r);t(e.Workbook.Sheets,i,{});switch(a){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+a);}e.Workbook.Sheets[i].Hidden=a};r([["SHEET_VISIBLE",0],["SHEET_HIDDEN",1],["SHEET_VERY_HIDDEN",2]]);e.cell_set_number_format=function(e,r){e.z=r;return e};e.cell_set_hyperlink=function(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e};e.cell_set_internal_link=function(r,t,a){return e.cell_set_hyperlink(r,"#"+t,a)};e.cell_add_comment=function(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})};e.sheet_set_array_formula=function(e,r,t,n){var i=typeof r!="string"?r:Bt(r);var s=typeof r=="string"?r:St(r);for(var f=i.s.r;f<=i.e.r;++f)for(var l=i.s.c;l<=i.e.c;++l){var o=a(e,f,l);o.t="n";o.F=s;delete o.v;if(f==i.s.r&&l==i.s.c){o.f=t;if(n)o.D=true}}return e};return e})(Jb);var qb;function Qb(e){qb=e}function Zb(e,r){var t=qb();var a=r==null?{}:r;if(e==null||e["!ref"]==null){t.push(null);return t}var n=Bt(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",l=f.charCodeAt(0);var o=new RegExp((i=="|"?"\\|":i)+"+$");var c="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=pt(v);var p=n.s.r;var m=false,b=0;t._read=function(){if(!m){m=true;return t.push("\ufeff")}while(p<=n.e.r){++p;if((d[p-1]||{}).hidden)continue;c=Gb(e,n,p-1,u,s,l,i,a);if(c!=null){if(a.strip)c=c.replace(o,"");if(c||a.blankrows!==false)return t.push((b++?f:"")+c)}}return t.push(null)};return t}function eg(e,r){var t=qb();var a=r||{};var n=a.header!=null?a.header:Om.BEGIN;var i=a.footer!=null?a.footer:Om.END;t.push(n);var s=Et(e["!ref"]);a.dense=Array.isArray(e);t.push(Om._preamble(e,s,a));var f=s.s.r;var l=false;t._read=function(){if(f>s.e.r){if(!l){l=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(Om._row(e,s,f,a));++f;break}};return t}function rg(e,r){var t=qb({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,l="";var o={s:{r:0,c:0},e:{r:0,c:0}};var c=r||{};var u=c.range!=null?c.range:e["!ref"];if(c.header===1)n=1;else if(c.header==="A")n=2;else if(Array.isArray(c.header))n=3;switch(typeof u){case"string":o=Bt(u);break;case"number":o=Bt(e["!ref"]);o.s.r=u;break;default:o=u;}if(n>0)i=0;var h=ut(o.s.r);var d=[];var v=0;var p=Array.isArray(e);var m=o.s.r,b=0,g=0;if(p&&!e[m])e[m]=[];for(b=o.s.c;b<=o.e.c;++b){d[b]=pt(b);a=p?e[m][b]:e[d[b]+h];switch(n){case 1:s[b]=b-o.s.c;break;case 2:s[b]=d[b];break;case 3:s[b]=c.header[b-o.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};l=f=yt(a,null,c);v=0;for(g=0;g>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function h(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return u(e.slice(2));if(r==254&&t==255)return h(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function Tg(e){return String.fromCharCode(e)};var p=function Eg(e){return String.fromCharCode(e)};if(typeof a!=="undefined"){c=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,o(e.slice(2)))}return e};v=function Sg(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};p=function yg(e){return a.utils.decode(t,[e])[0]}}var m=null;var b=true;var g=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,c=0,l=0;for(var o=0;o>2;n=r.charCodeAt(o++);f=(a&3)<<4|n>>4;i=r.charCodeAt(o++);c=(n&15)<<2|i>>6;l=i&63;if(isNaN(n)){c=l=64}else if(isNaN(i)){l=64}t+=e.charAt(s)+e.charAt(f)+e.charAt(c)+e.charAt(l)}return t},decode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,c=0,l=0;r=r.replace(/[^\w\+\/\=]/g,"");for(var o=0;o>4;t+=String.fromCharCode(a);c=e.indexOf(r.charAt(o++));n=(f&15)<<4|c>>2;if(c!==64){t+=String.fromCharCode(n)}l=e.indexOf(r.charAt(o++));i=(c&3)<<6|l;if(l!==64){t+=String.fromCharCode(i)}}return t}}}();var w=typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node;var k=function(){};if(typeof Buffer!=="undefined"){var T=!Buffer.from;if(!T)try{Buffer.from("foo","utf8")}catch(E){T=true}k=T?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function S(e){return w?Buffer.alloc(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function y(e){return w?Buffer.allocUnsafe(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var _=function _g(e){if(w)return k(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function x(e){if(typeof ArrayBuffer==="undefined")return _(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function A(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=S(65535);a=65530}}r.push(n.slice(0,t));return I(r)}var I=function(e){if(typeof Uint8Array!=="undefined"){var r=0,t=0;for(r=0;r=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function f(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var c=Math.pow(2,32);function l(e,r){if(e>c||e<-c)return s(e,r);var t=Math.round(e);return f(t,r)}function o(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var u=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var h=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function d(e){e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var v={};d(v);var p=[];var m=0;for(m=5;m<=8;++m)p[m]=32+m;for(m=23;m<=26;++m)p[m]=0;for(m=27;m<=31;++m)p[m]=14;for(m=50;m<=58;++m)p[m]=14;for(m=59;m<=62;++m)p[m]=m-58;for(m=67;m<=68;++m)p[m]=m-58;for(m=72;m<=75;++m)p[m]=m-58;for(m=67;m<=68;++m)p[m]=m-57;for(m=76;m<=78;++m)p[m]=m-56;for(m=79;m<=81;++m)p[m]=m-34;var b={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function g(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var c=1,l=0,o=0;var u=Math.floor(n);while(lr){if(l>r){o=c;f=i}else{o=l;f=s}}if(!t)return[0,a*f,o];var h=Math.floor(a*f/o);return[h,a*f-h*o,o]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var c=new Date(1900,0,1);c.setDate(c.getDate()+a-1);s=[c.getFullYear(),c.getMonth()+1,c.getDate()];i=c.getDay();if(a<60)i=(i+6)%7;if(t)i=A(c,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}e.parse_date_code=w;var k=new Date(1899,11,31,0,0,0);var T=k.getTime();var E=new Date(1900,2,1,0,0,0);function S(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=E)t+=24*60*60*1e3;return(t-(T+(e.getTimezoneOffset()-k.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function y(e){return e.toString(10)}e._general_int=y;var _=function H(){var e=/(?:\.0*|(\.\d*[1-9])0+)$/;function r(r){return r.indexOf(".")==-1?r:r.replace(e,"$1")}var t=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\d)$/;function n(e){if(e.indexOf("E")==-1)return e;return e.replace(t,"$1E").replace(a,"$10$2")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t==="0"||t==="-0"?e.toPrecision(6):t}function f(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return f}();e._general_num=_;function x(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):_(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return B(14,S(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=x;function A(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function C(e,r,t,n){var i="",s=0,f=0,c=t.y,l,o=0;switch(e){case 98:c=t.y+543;case 121:switch(r.length){case 1:;case 2:l=c%100;o=2;break;default:l=c%1e4;o=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;o=r.length;break;case 3:return h[t.m-1][1];case 5:return h[t.m-1][0];default:return h[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;o=r.length;break;case 3:return u[t.q][0];default:return u[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:l=1+(t.H+11)%12;o=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:l=t.H;o=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:l=t.M;o=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)f=n===3?1e3:100;else f=n===1?10:1;s=Math.round(f*(t.S+t.u));if(s>=60*f)s=0;if(r==="s")return s===0?"0":""+s/f;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":l=t.D*24+t.H;break;case"[m]":;case"[mm]":l=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":l=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}o=r.length===3?1:2;break;case 101:l=c;o=1;break;}var d=o>0?a(l,o):"";return d}function R(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var O=function z(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return O(r,i,n*Math.pow(10,2*s))+t("%",s)}function f(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return O(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function c(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+c(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var o=/# (\?+)( ?)\/( ?)(\d+)/;function u(e,r,i){var s=parseInt(e[4],10),f=Math.round(r*s),c=Math.floor(f/s);var l=f-c*s,o=s;return i+(c===0?"":""+c)+" "+(l===0?t(" ",e[1].length+1+e[4].length):n(l,e[1].length)+e[2]+"/"+e[3]+a(o,e[4].length))}function h(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var d=/^#*0*\.([0#]+)/;var v=/\).*[0#]/;var p=/\(###\) ###\\?-####/;function m(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function b(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function k(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function T(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function E(e,h,S){if(e.charCodeAt(0)===40&&!h.match(v)){var y=h.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(S>=0)return E("n",y,S);return"("+E("n",y,-S)+")"}if(h.charCodeAt(h.length-1)===44)return f(e,h,S);if(h.indexOf("%")!==-1)return s(e,h,S);if(h.indexOf("E")!==-1)return c(h,S);if(h.charCodeAt(0)===36)return"$"+E(e,h.substr(h.charAt(1)==" "?2:1),S);var _;var x,A,C,I=Math.abs(S),N=S<0?"-":"";if(h.match(/^00+$/))return N+l(I,h.length);if(h.match(/^[#?]+$/)){_=l(S,0);if(_==="0")_="";return _.length>h.length?_:m(h.substr(0,h.length-_.length))+_}if(x=h.match(o))return u(x,I,N);if(h.match(/^#+0+$/))return N+l(I,h.length-h.indexOf("0"));if(x=h.match(d)){_=b(S,x[1].length).replace(/^([^\.]+)$/,"$1."+m(x[1])).replace(/\.$/,"."+m(x[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",m(x[1]).length-r.length)});return h.indexOf("0.")!==-1?_:_.replace(/^0\./,".")}h=h.replace(/^#+([0.])/,"$1");if(x=h.match(/^(0*)\.(#*)$/)){return N+b(I,x[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,x[1].length?"0.":".")}if(x=h.match(/^#{1,3},##0(\.?)$/))return N+R(l(I,0));if(x=h.match(/^#,##0\.([#0]*0)$/)){return S<0?"-"+E(e,h,-S):R(""+(Math.floor(S)+k(S,x[1].length)))+"."+a(w(S,x[1].length),x[1].length)}if(x=h.match(/^#,#*,#0/))return E(e,h.replace(/^#,#*,/,""),S);if(x=h.match(/^([0#]+)(\\?-([0#]+))+$/)){_=r(E(e,h.replace(/[\\-]/g,""),S));A=0;return r(r(h.replace(/\\/g,"")).replace(/[0#]/g,function(e){return A<_.length?_.charAt(A++):e==="0"?"0":""}))}if(h.match(p)){_=E(e,"##########",S);return"("+_.substr(0,3)+") "+_.substr(3,3)+"-"+_.substr(6)}var F="";if(x=h.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)){A=Math.min(x[4].length,7);C=g(I,Math.pow(10,A)-1,false);_=""+N;F=O("n",x[1],C[1]);if(F.charAt(F.length-1)==" ")F=F.substr(0,F.length-1)+"0";_+=F+x[2]+"/"+x[3];F=i(C[2],A);if(F.length=0)return x("n",c,f);return"("+x("n",c,-f)+")"}if(s.charCodeAt(s.length-1)===44)return S(e,s,f);if(s.indexOf("%")!==-1)return y(e,s,f);if(s.indexOf("E")!==-1)return _(s,f);if(s.charCodeAt(0)===36)return"$"+x(e,s.substr(s.charAt(1)==" "?2:1),f);var l;var u,b,w,k=Math.abs(f),T=f<0?"-":"";if(s.match(/^00+$/))return T+a(k,s.length);if(s.match(/^[#?]+$/)){l=""+f;if(f===0)l="";return l.length>s.length?l:m(s.substr(0,s.length-l.length))+l}if(u=s.match(o))return h(u,k,T);if(s.match(/^#+0+$/))return T+a(k,s.length-s.indexOf("0"));if(u=s.match(d)){l=(""+f).replace(/^([^\.]+)$/,"$1."+m(u[1])).replace(/\.$/,"."+m(u[1]));l=l.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",m(u[1]).length-r.length)});return s.indexOf("0.")!==-1?l:l.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(u=s.match(/^(0*)\.(#*)$/)){return T+(""+k).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,u[1].length?"0.":".")}if(u=s.match(/^#{1,3},##0(\.?)$/))return T+R(""+k);if(u=s.match(/^#,##0\.([#0]*0)$/)){return f<0?"-"+x(e,s,-f):R(""+f)+"."+t("0",u[1].length)}if(u=s.match(/^#,#*,#0/))return x(e,s.replace(/^#,#*,/,""),f);if(u=s.match(/^([0#]+)(\\?-([0#]+))+$/)){l=r(x(e,s.replace(/[\\-]/g,""),f));b=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return b-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=F;function D(e,r,t,a){var n=[],i="",s=0,f="",c="t",l,u,h;var d="H";while(s=12?"P":"A";m.t="T";d="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(l!=null)m.v=l.H>=12?"PM":"AM";m.t="T";s+=5;d="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(l!=null)m.v=l.H>=12?"下午":"上午";m.t="T";s+=5;d="h"}else{m.t="t";++s}if(l==null&&m.t==="T")return"";n[n.length]=m;c=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!F(e))n[n.length]={t:"t",v:i}}break;case".":if(l!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};c=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var b=0,g=0,k;for(s=n.length-1,c="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=d;c="h";if(b<1)b=1;break;case"s":if(k=n[s].v.match(/\.0+$/))g=Math.max(g,k[0].length-1);if(b<3)b=3;case"d":;case"y":;case"M":;case"e":c=n[s].t;break;case"m":if(c==="s"){n[s].t="M";if(b<2)b=2}break;case"X":break;case"Z":if(b<1&&n[s].v.match(/[Hh]/))b=1;if(b<2&&n[s].v.match(/[Mm]/))b=2;if(b<3&&n[s].v.match(/[Ss]/))b=3;}}switch(b){case 0:break;case 1:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}if(l.M>=60){l.M=0;++l.H}break;case 2:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}break;}var T="",E;for(s=0;s0){if(T.charCodeAt(0)==40){y=r<0&&T.charCodeAt(0)===45?-r:r;_=O("n",T,y)}else{y=r<0&&a>1?-r:r;_=O("n",T,y);if(y<0&&n[0]&&n[0].t=="t"){_=_.substr(1);n[0].v="-"+n[0].v}}E=_.length-1;var A=n.length;for(s=0;s-1){A=s;break}var R=n.length;if(A===n.length&&_.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(E>=n[s].v.length-1){E-=n[s].v.length;n[s].v=_.substr(E+1,n[s].v.length)}else if(E<0)n[s].v="";else{n[s].v=_.substr(0,E+1);E=-1}n[s].t="t";R=s}if(E>=0&&R=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;u=n[s].v.indexOf(".")>-1&&s===A?n[s].v.indexOf(".")-1:n[s].v.length-1;S=n[s].v.substr(u+1);for(;u>=0;--u){if(E>=0&&(n[s].v.charAt(u)==="0"||n[s].v.charAt(u)==="#"))S=_.charAt(E--)+S}n[s].v=S;n[s].t="t";R=s}if(E>=0&&R-1&&s===A?n[s].v.indexOf(".")+1:0;S=n[s].v.substr(0,u);for(;u-1){y=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=O(n[s].t,n[s].v,y);n[s].t="t"}var I="";for(s=0;s!==n.length;++s)if(n[s]!=null)I+=n[s].v;return I}e._eval=D;var P=/\[[=<>]/;var L=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function M(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function U(e,r){var t=I(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(P)!=null||t[1].match(P)!=null){var s=t[0].match(L);var f=t[1].match(L);return M(r,s)?[a,t[0]]:M(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function B(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:v)[e];if(a==null)a=t.table&&t.table[p[e]]||v[p[e]];if(a==null)a=b[e]||"General";break;}if(o(a,0))return x(r,t);if(r instanceof Date)r=S(r,t.date1904);var n=U(a,r);if(o(n[1]))return x(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return D(n[1],r,t,n[0])}function W(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(v[t]==undefined){if(r<0)r=t;continue}if(v[t]==e){r=t;break}}if(r<0)r=391}v[r]=e;return r}e.load=W;e._table=v;e.get_table=function V(){return v};e.load_table=function G(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)W(e[r],r)};e.init_table=d;e.format=B}P(D);var L={"General Number":"General","General Date":D._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":D._table[15],"Short Date":D._table[14],"Long Time":D._table[19],"Medium Time":D._table[18],"Short Time":D._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:D._table[2],Standard:D._table[4],Percent:D._table[10],Scientific:D._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var M={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var U=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function B(e){var r=typeof e=="number"?D._table[e]:e;r=r.replace(U,"(\\d+)");return new RegExp("^"+r+"$")}function W(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,c=-1;(r.match(U)||[]).forEach(function(e,r){var l=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=l;break;case"d":i=l;break;case"h":s=l;break;case"s":c=l;break;case"m":if(s>=0)f=l;else n=l;break;}});if(c>=0&&f==-1&&n>=0){f=n;n=-1}var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(l.length==7)l="0"+l;if(l.length==8)l="20"+l;var o=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(c>=0?c:0)).slice(-2);if(s==-1&&f==-1&&c==-1)return l;if(a==-1&&n==-1&&i==-1)return o;return l+"T"+o}var H=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256); +return i}var n=a(t);var i=n[0],s=n[1],f=n[2],c=n[3],l=n[4];var o=n[5],u=n[6],h=n[7],d=n[8],v=n[9];var p=n[10],m=n[11],b=n[12],g=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^b[e[k++]^a>>16&255]^m[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^h[e[k++]]^u[e[k++]]^o[e[k++]]^l[e[k++]]^c[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function E(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=T;e.str=E;return e}();var z=function xg(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){et(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function c(){return f||(f=undefined)}function l(e,r){if(e[0]==80&&e[1]==75)return Ne(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return He(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var c=0;var l=[];var v=e.slice(0,512);et(v,0);var m=o(v);t=m[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(m[1]==0)return Ne(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);et(v,28)}var g=e.slice(0,a);u(v,t);var w=v._R(4,"i");if(t===3&&w!==0)throw new Error("# Directory Sectors: Expected 0 saw "+w);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");c=v._R(4,"i");i=v._R(4,"i");for(var k=-1,E=0;E<109;++E){k=v._R(4,"i");if(k<0)break;l[E]=k}var S=h(e,a);p(c,i,S,a,l);var y=b(S,s,l,a);y[s].name="!Directory";if(n>0&&f!==M)y[f].name="!MiniFAT";y[l[0]].name="!FAT";y.fat_addrs=l;y.ssz=a;var _={},x=[],A=[],C=[];T(s,y,S,x,n,_,A,f);d(A,C,x);x.shift();var R={FileIndex:A,FullPaths:C};if(r&&r.raw)R.raw={header:g,sectors:S};return R}function o(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(U,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function u(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function h(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*L,s*L+L));n-=L;s=Xr(t,s*4)}if(i.length===0)return tt(0);return I(i).slice(0,e.size)}function p(e,r,t,a,n){var i=M;if(e===M){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var c=0;c=0;){n[c]=true;i[i.length]=c;s.push(e[c]);var o=t[Math.floor(c*4/a)];l=c*4&f;if(a<4+l)throw new Error("FAT boundary crossed: "+c+" 4 "+a);if(!e[o])break;c=Xr(e[o],l)}return{nodes:i,data:kr([s])}}function b(e,r,t,a){var n=e.length,i=[];var s=[],f=[],c=[];var l=a-1,o=0,u=0,h=0,d=0;for(o=0;o=n)h-=n;if(s[h])continue;c=[];var v=[];for(u=h;u>=0;){v[u]=true;s[u]=true;f[f.length]=u;c.push(e[u]);var p=t[Math.floor(u*4/a)];d=u*4&l;if(a<4+d)throw new Error("FAT boundary crossed: "+u+" 4 "+a);if(!e[p])break;u=Xr(e[p],d);if(v[u])break}i[h]={nodes:f,data:kr([c])}}return i}function T(e,r,t,a,n,i,s,f){var c=0,l=a.length?2:0;var o=r[e].data;var u=0,h=0,d;for(;u0&&c!==M)r[c].name="!StreamData"}else if(b.size>=4096){b.storage="fat";if(r[b.start]===undefined)r[b.start]=m(t,b.start,r.fat_addrs,r.ssz);r[b.start].name=b.name;b.content=r[b.start].data.slice(0,b.size)}else{b.storage="minifat";if(b.size<0)b.size=0;else if(c!==M&&b.start!==M&&r[c]){b.content=v(b,r[c].data,(r[f]||{}).data)}}if(b.content)et(b.content,0);i[d]=b;s.push(b)}}function E(e,r){return new Date((jr(e,r+4)/1e7*Math.pow(2,32)+jr(e,r)/1e7-11644473600)*1e3)}function x(e,r){c();return l(f.readFileSync(e),r)}function A(e,r){var t=r&&r.type;if(!t){if(w&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return x(e,r);case"base64":return l(_(g.decode(e)),r);case"binary":return l(_(e),r);}return l(e,r)}function C(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;R(e)}function R(e){var r="Sh33tJ5";if(z.find(e,"/"+r))return;var t=tt(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);O(e)}function O(e,n){C(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var c=e.FileIndex[f];switch(c.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(c.R*c.L*c.C))i=true;if(c.R>-1&&c.L>-1&&c.R==c.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var l=new Date(1987,1,19),o=0;var u=Object.create?Object.create(null):{};var h=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(o=f+1;o=h.length?-1:o;for(o=f+1;o=h.length?-1:o;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function D(e,r){var t=r||{};if(t.fileType=="mad")return ze(e,t);O(e);switch(t.fileType){case"zip":return De(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var c=r+127>>7;var l=f+t+s+c;var o=l+127>>7;var u=o<=109?0:Math.ceil((o-109)/127);while(l+o+u+127>>7>o)u=++o<=109?0:Math.ceil((o-109)/127);var h=[1,u,o,c,s,t,r,0];e.FileIndex[0].size=r<<6;h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3);return h}(e);var n=tt(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,B[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:M);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:M);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,V.ENDOFCHAIN);s=i=0;for(c=0;c=4096)continue;o.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,V.ENDOFCHAIN);for(i=0;i=4096){n.l=o.start+1<<9;if(w&&Buffer.isBuffer(o.content)){o.content.copy(n,n.l,0,o.size);n.l+=o.size+511&-512}else{for(c=0;c0&&o.size<4096){if(w&&Buffer.isBuffer(o.content)){o.content.copy(n,n.l,0,o.size);n.l+=o.size+63&-64}else{for(c=0;c>16|r>>8|r)&255}var re=typeof Uint8Array!=="undefined";var te=re?new Uint8Array(1<<8):[];for(var ae=0;ae<1<<8;++ae)te[ae]=ee(ae);function ne(e,r){var t=te[e&255];if(r<=8)return t>>>8-r;t=t<<8|te[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|te[e>>16&255];return t>>>24-r}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function ce(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function oe(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ue(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function ve(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function pe(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(w){var i=y(a);if(e.copy)e.copy(i);else for(;n>a-u;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=re?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ue(t,n,+!!(i+f==r.length)+2);var c=0;while(f-- >0){var l=r[i];c=(c<<5^l)&32767;var o=-1,u=0;if(o=s[c]){o|=i&~32767;if(o>i)o-=32768;if(o2){l=a[u];if(l<=22)n=de(t,n,te[l+1]>>1)-1;else{de(t,n,3);n+=5;de(t,n,te[l-23]>>5);n+=3}var h=l<8?0:l-4>>2;if(h>0){ve(t,n,u-Z[l]);n+=h}l=e[i-o];n=de(t,n,te[l]>>3);n-=3;var d=l<4?0:l-2>>1;if(d>0){ve(t,n,i-o-Q[l]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)_e[d|p<>>=3){case 16:i=3+ie(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+se(e,r);r+=3;while(i-- >0)m.push(0);break;case 18:i=11+le(e,r);r+=7;while(i-- >0)m.push(0);break;default:m.push(d);if(c>>0;var f=0,c=0;while((a&1)==0){a=se(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var l=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(l>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;c=5}else{t=Ce(e,t);f=xe;c=Ae}for(;;){if(!r&&s>>1==1?ge[o]:Se[o];t+=u&15;u>>>=4;if((u>>>8&255)===0)n[i++]=u;else if(u==256)break;else{u-=257;var h=u<8?0:u-4>>2;if(h>5)h=0;var d=i+Z[u];if(h>0){d+=oe(e,t,h);t+=h}o=oe(e,t,c);u=a>>>1==1?we[o]:ye[o];t+=u&15;u>>>=4;var v=u<4?0:u-2>>1;var p=Q[u];if(v>0){p+=oe(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Oe(e,r){var t=e.slice(e.l||0);var a=Re(t,r);e.l+=a[1];return a[0]}function Ie(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ne(e,r){var t=e;et(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};C(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var c=t._R(2);t.l+=6;var l=t._R(4);t.l=l;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var c=[],l=[];var o={FileIndex:c,FullPaths:l};C(o);var u,h=0;for(n=0;n=32&&d<128)++u;var p=u>=h*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Le(f,s));n.push("");n.push(p?Ue(o):Me(o))}n.push(a+"--\r\n");return n.join("\r\n")}function Ve(e){var r={};C(r,e);return r}function Ge(e,r,t,n){var i=n&&n.unsafe;if(!i)C(e);var s=!i&&z.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)z.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function je(e,r){C(e);var t=z.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var se=new Date("2017-02-19T19:06:09.000Z");if(isNaN(se.getFullYear()))se=new Date("2/19/17");var fe=se.getFullYear()==2017;function ce(e,r){var t=new Date(e);if(fe){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3); +return t}if(e instanceof Date)return e;if(se.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function le(e,r){if(w&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return e.slice(2).toString("utf16le");if(e[1]==254&&e[2]==255)return h(e.slice(2).toString("binary"))}return e.toString("binary")}var t=[];for(var a=0;a!=e.length;++a)t.push(String.fromCharCode(e[a]));return t.join("")}function oe(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=oe(e[t]);return r}function ue(e,r){var t="";while(t.length3&&de.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var pe="abacaba".split(/(:?b)/i).length==5;function me(e,r,t){if(pe||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Ne=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm;if(!Oe.match(Ne))Ne=/<[^>]*>/g;var Fe=/<\w*:/,De=/<(\/?)\w+:/;function Pe(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ie),f=0,c="",l=0,o="",u="",h=1;if(s)for(l=0;l!=s.length;++l){u=s[l];for(i=0;i!=u.length;++i)if(u.charCodeAt(i)===61)break;o=u.slice(0,i).trim();while(u.charCodeAt(i+1)==32)++i;h=(n=u.charCodeAt(i+1))==34||n==39?1:0;c=u.slice(i+1+h,u.length-h);for(f=0;f!=o.length;++f)if(o.charCodeAt(f)===58)break;if(f===o.length){if(o.indexOf("_")>0)o=o.slice(0,o.indexOf("_"));a[o]=c;if(!t)a[o.toLowerCase()]=c}else{var d=(f===5&&o.slice(0,5)==="xmlns"?"xmlns":"")+o.slice(f+1);if(a[d]&&o.slice(f-3,f)=="ext")continue;a[d]=c;if(!t)a[d.toLowerCase()]=c}}return a}function Le(e){return e.replace(De,"<$1")}var Me={""":'"',"'":"'",">":">","<":"<","&":"&"};var Ue=J(Me);var Be=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var We=/[&<>'"]/g,He=/[\u0000-\u0008\u000b-\u001f]/g;function ze(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(He,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Ve(e){return ze(e).replace(/ /g,"_x0020_")}var Ge=/[\u0000-\u001f]/g;function je(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(/\n/g,"
").replace(Ge,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Xe(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(Ge,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var $e=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function Ye(e){return e.replace(/(\r\n|[\r\n])/g," ")}function Ke(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var Je=function Ag(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r};var qe=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(w){var Ze=function Cg(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var Qe="foo bar baz☃🍣";if(Je(Qe)==Ze(Qe))Je=Ze;var er=function Rg(e){return k(e,"binary").toString("utf8")};if(Je(Qe)==er(Qe))Je=er;qe=function(e){return k(e,"utf8").toString("binary")}}var rr=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var tr=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var nr=/<\/?(?:vt:)?variant>/g,ir=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function lr(e){return Y(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function or(e,r,t){return"<"+e+(t!=null?lr(t):"")+(r!=null?(r.match(fr)?' xml:space="preserve"':"")+">"+r+""}function ur(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function hr(e,r){switch(typeof e){case"string":var t=or("vt:lpwstr",ze(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return or((e|0)==e?"vt:i4":"vt:r8",ze(String(e)));case"boolean":return or("vt:bool",e?"true":"false");}if(e instanceof Date)return or("vt:filetime",ur(e));throw new Error("Unable to serialize "+e)}function dr(e){if(w&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return Je(A(R(e)));throw new Error("Bad input format: expected Buffer or string")}var vr=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var pr={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var mr=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var br={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function gr(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function wr(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var kr=function(e){var r=[],t=10240;for(var a=0;a0?xr(e,r+4,r+4+t-1):""};var Rr=Cr;var Or=function(e,r){var t=jr(e,r);return t>0?xr(e,r+4,r+4+t-1):""};var Ir=Or;var Nr=function(e,r){var t=2*jr(e,r);return t>0?xr(e,r+4,r+4+t-1):""};var Fr=Nr;var Dr,Pr;Dr=Pr=function Og(e,r){var t=jr(e,r);return t>0?Er(e,r+4,r+4+t):""};var Lr=function(e,r){var t=jr(e,r);return t>0?xr(e,r+4,r+4+t):""};var Mr=Lr;var Ur,Br;Ur=Br=function(e,r){return gr(e,r)};var Wr=function Ig(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(w){Er=function(e,r,t){if(!Buffer.isBuffer(e))return Sr(e,r,t);return e.toString("utf16le",r,t).replace(N,"")};yr=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):_r(e,r,t)};Cr=function Ng(e,r){if(!Buffer.isBuffer(e))return Rr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Or=function Fg(e,r){if(!Buffer.isBuffer(e))return Ir(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Nr=function Dg(e,r){if(!Buffer.isBuffer(e))return Fr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Dr=function Pg(e,r){if(!Buffer.isBuffer(e))return Pr(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};Lr=function Lg(e,r){if(!Buffer.isBuffer(e))return Mr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};xr=function Mg(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):Ar(e,r,t)};kr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:k(e)})):Tr(e)};I=function(e){return Buffer.concat(e.map(function(e){return Buffer.isBuffer(e)?e:k(e)}))};Ur=function Ug(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Br(e,r)};Wr=function Bg(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function Hr(){Er=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(N,"")};xr=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Cr=function(e,r){var n=jr(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Or=function(e,t){var n=jr(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Nr=function(e,r){var t=2*jr(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Dr=function(e,r){var t=jr(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};Lr=function(e,r){var t=jr(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")Hr();var zr=function(e,r){return e[r]};var Vr=function(e,r){return e[r+1]*(1<<8)+e[r]};var Gr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var jr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Xr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var $r=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Yr(e,t){var n="",i,s,f=[],c,l,o,u;switch(t){case"dbcs":u=this.l;if(w&&Buffer.isBuffer(this))n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?Xr:$r)(this,this.l);this.l+=4;return i}else{s=jr(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=Ur(this,this.l);else s=Ur([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return s}else e=8;case 16:n=yr(this,this.l,e);break;};}this.l+=e;return n}var Kr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var qr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Zr(e,r,n){var i=0,s=0;if(n==="dbcs"){for(s=0;s!=r.length;++s)qr(this,r.charCodeAt(s),this.l+2*s);i=2*r.length}else if(n==="sbcs"){if(typeof a!=="undefined"&&t==874){for(s=0;s!=r.length;++s){var f=a.utils.encode(t,r.charAt(s));this[this.l+s]=f[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(s=0;s!=r.length;++s)this[this.l+s]=r.charCodeAt(s)&255}i=r.length}else if(n==="hex"){for(;s>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:i=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:i=4;Kr(this,r,this.l);break;case 8:i=8;if(n==="f"){wr(this,r,this.l);break};case 16:break;case-4:i=4;Jr(this,r,this.l);break;}this.l+=i;return this}function Qr(e,r){var t=yr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function et(e,r){e.l=r;e._R=Yr;e.chk=Qr;e._W=Zr}function rt(e,r){e.l+=r}function tt(e){var r=S(e);et(r,0);return r}function at(e,r,t){if(!e)return;var a,n,i;et(e,e.l||0);var s=e.length,f=0,c=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function o(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Wr(t))e.push(t)}function st(e,r,t){var a=oe(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function ft(e,r,t){var a=oe(e);a.s=st(a.s,r.s,t);a.e=st(a.e,r.s,t);return a}function ct(e,r){if(e.cRel&&e.c<0){e=oe(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=oe(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=kt(e);if(!e.cRel&&e.cRel!=null)t=mt(t);if(!e.rRel&&e.rRel!=null)t=ht(t);return t}function lt(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+pt(e.s.c)+":"+(e.e.cRel?"":"$")+pt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+ut(e.s.r)+":"+(e.e.rRel?"":"$")+ut(e.e.r)}}return ct(e.s,r.biff)+":"+ct(e.e,r.biff)}function ot(e){return parseInt(dt(e),10)-1}function ut(e){return""+(e+1)}function ht(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function dt(e){return e.replace(/\$(\d+)$/,"$1")}function vt(e){var r=bt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function pt(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function mt(e){return e.replace(/^([A-Z])/,"$$$1")}function bt(e){return e.replace(/^\$([A-Z])/,"$1")}function gt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function wt(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function kt(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Tt(e){var r=e.indexOf(":");if(r==-1)return{s:wt(e),e:wt(e)};return{s:wt(e.slice(0,r)),e:wt(e.slice(r+1))}}function Et(e,r){if(typeof r==="undefined"||typeof r==="number"){return Et(e.s,e.e)}if(typeof e!=="string")e=kt(e);if(typeof r!=="string")r=kt(r);return e==r?e:e+":"+r}function St(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function yt(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=D.format(e.z,t?ee(r):r)}catch(a){}try{return e.w=D.format((e.XF||{}).numFmtId||(t?14:0),t?ee(r):r)}catch(a){return""+r}}function _t(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Ia[e.v]||e.v;if(r==undefined)return yt(e,e.v);return yt(e,r)}function xt(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function At(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(m!=null&&n==null)n=m;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var c=typeof a.origin=="string"?wt(a.origin):a.origin;s=c.r;f=c.c}if(!i["!ref"])i["!ref"]="A1:A1"}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var o=St(i["!ref"]);l.s.c=o.s.c;l.s.r=o.s.r;l.e.c=Math.max(l.e.c,o.e.c);l.e.r=Math.max(l.e.r,o.e.r);if(s==-1)l.e.r=s=o.e.r+1}for(var u=0;u!=r.length;++u){if(!r[u])continue;if(!Array.isArray(r[u]))throw new Error("aoa_to_sheet expects an array of arrays");for(var h=0;h!=r[u].length;++h){if(typeof r[u][h]==="undefined")continue;var d={v:r[u][h]};var v=s+u,p=f+h;if(l.s.r>v)l.s.r=v;if(l.s.c>p)l.s.c=p;if(l.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Ft(e){return{ich:e._R(2),ifnt:e._R(2)}}function Dt(e,r){if(!r)r=tt(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function Pt(e,r){var t=e.l;var a=e._R(1);var n=It(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var c=0;c!=f;++c)i.push(Ft(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Lt(e,r){var t=false;if(r==null){t=true;r=tt(15+4*e.t.length)}r._W(1,0);Nt(e.t,r);return t?r.slice(0,r.l):r}var Mt=Pt;function Ut(e,r){var t=false;if(r==null){t=true;r=tt(23+4*e.t.length)}r._W(1,1);Nt(e.t,r);r._W(4,1);Dt({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Bt(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Wt(e,r){if(r==null)r=tt(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function Ht(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function zt(e,r){if(r==null)r=tt(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Vt=It;var Gt=Nt;function jt(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function Xt(e,r){var t=false;if(r==null){t=true;r=tt(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var $t=It;var Yt=jt;var Kt=Xt;function Jt(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?Ur([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):Xr(r,0)>>2;return t?n/100:n}function qt(e,r){if(r==null)r=tt(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function Zt(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Qt(e,r){if(!r)r=tt(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var ea=Zt;var ra=Qt;function ta(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function aa(e,r){return(r||tt(8))._W(8,e,"f")}function na(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var c=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var l=Oa[n];if(l)r.rgb=cc(l);break;case 2:r.rgb=cc([s,f,c]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function ia(e,r){if(!r)r=tt(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function sa(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function fa(e,r){if(!r)r=tt(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function ca(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function la(e){return ca(e,1)}function oa(e){return ca(e,2)}var ua=2;var ha=3;var da=11;var va=12;var pa=19;var ma=30;var ba=64;var ga=65;var wa=71;var ka=4096;var Ta=80;var Ea=81;var Sa=[Ta,Ea];var ya={1:{n:"CodePage",t:ua},2:{n:"Category",t:Ta},3:{n:"PresentationFormat",t:Ta},4:{n:"ByteCount",t:ha},5:{n:"LineCount",t:ha},6:{n:"ParagraphCount",t:ha},7:{n:"SlideCount",t:ha},8:{n:"NoteCount",t:ha},9:{n:"HiddenCount",t:ha},10:{n:"MultimediaClipCount",t:ha},11:{n:"ScaleCrop",t:da},12:{n:"HeadingPairs",t:ka|va},13:{n:"TitlesOfParts",t:ka|ma},14:{n:"Manager",t:Ta},15:{n:"Company",t:Ta},16:{n:"LinksUpToDate",t:da},17:{n:"CharacterCount",t:ha},19:{n:"SharedDoc",t:da},22:{n:"HyperlinksChanged",t:da},23:{n:"AppVersion",t:ha,p:"version"},24:{n:"DigSig",t:ga},26:{n:"ContentType",t:Ta},27:{n:"ContentStatus",t:Ta},28:{n:"Language",t:Ta},29:{n:"Version",t:Ta},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var _a={1:{n:"CodePage",t:ua},2:{n:"Title",t:Ta},3:{n:"Subject",t:Ta},4:{n:"Author",t:Ta},5:{n:"Keywords",t:Ta},6:{n:"Comments",t:Ta},7:{n:"Template",t:Ta},8:{n:"LastAuthor",t:Ta},9:{n:"RevNumber",t:Ta},10:{n:"EditTime",t:ba},11:{n:"LastPrinted",t:ba},12:{n:"CreatedDate",t:ba},13:{n:"ModifiedDate",t:ba},14:{n:"PageCount",t:ha},15:{n:"WordCount",t:ha},16:{n:"CharCount",t:ha},17:{n:"Thumbnail",t:wa},18:{n:"Application",t:Ta},19:{n:"DocSecurity",t:ha},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var xa={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var Aa=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ca(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Ra=Ca([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]); +var Oa=oe(Ra);var Ia={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Na=q(Ia);var Fa={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var Da={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Pa(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function La(e){var r=Pa();if(!e||!e.match)return r;var t={};(e.match(Ne)||[]).forEach(function(e){var a=Pe(e);switch(a[0].replace(Fe,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var Ma=or("Types",null,{xmlns:pr.CT,"xmlns:xsd":pr.xsd,"xmlns:xsi":pr.xsi});function Ua(e,r){var t=Z(Fa);var a=[],n;a[a.length]=Oe;a[a.length]=Ma;a=a.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return or("Default",null,{Extension:e[0],ContentType:e[1]})}));var i=function(t){if(e[t]&&e[t].length>0){n=e[t][0];a[a.length]=or("Override",null,{PartName:(n[0]=="/"?"":"/")+n,ContentType:Da[t][r.bookType]||Da[t]["xlsx"]})}};var s=function(t){(e[t]||[]).forEach(function(e){a[a.length]=or("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:Da[t][r.bookType]||Da[t]["xlsx"]})})};var f=function(r){(e[r]||[]).forEach(function(e){a[a.length]=or("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:t[r][0]})})};i("workbooks");s("sheets");s("charts");f("themes");["strs","styles"].forEach(i);["coreprops","extprops","custprops"].forEach(f);f("vba");f("comments");f("threadedcomments");f("drawings");s("metadata");f("people");if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Ba={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Wa(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Ha(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Ne)||[]).forEach(function(e){var n=Pe(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ga=[Ba.HLINK,Ba.XPATH,Ba.XMISS];function ja(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if(Ga.indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var Xa="application/vnd.oasis.opendocument.spreadsheet";function $a(e,r){var t=dr(e);var a;var n;while(a=vr.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Pe(a[0],false);if(n.path=="/"&&n.type!==Xa)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function Ya(e){var r=[Oe];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function Ka(e,r,t){return[' \n',' \n'," \n"].join("")}function Ja(e,r){return[' \n',' \n'," \n"].join("")}function qa(e){var r=[Oe];r.push('\n');for(var t=0;t!=e.length;++t){r.push(Ka(e[t][0],e[t][1]));r.push(Ja("",e[t][0]))}r.push(Ka("","Document","pkg"));r.push("");return r.join("")}function Za(){return'Sheet'+"JS "+e.version+""}var Qa=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];var en=function(){var e=new Array(Qa.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function rn(e){var r={};e=Je(e);for(var t=0;t0)r[a[1]]=Be(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=ce(r[a[1]])}return r}function tn(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=ze(r);a[a.length]=t?or(e,r,t):cr(e,r)}function an(e,r){var t=r||{};var a=[Oe,or("cp:coreProperties",null,{"xmlns:cp":pr.CORE_PROPS,"xmlns:dc":pr.dc,"xmlns:dcterms":pr.dcterms,"xmlns:dcmitype":pr.dcmitype,"xmlns:xsi":pr.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)tn("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:ur(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)tn("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:ur(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=Qa.length;++i){var s=Qa[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)tn(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var nn=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];var sn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function fn(e,r,t,a){var n=[];if(typeof e=="string")n=sr(e,a);else for(var i=0;i0)for(var l=0;l!==n.length;l+=2){c=+n[l+1].v;switch(n[l].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=c;t.SheetNames=s.slice(f,f+c);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=c;t.DefinedNames=s.slice(f,f+c);break;case"Charts":;case"Diagramme":t.Chartsheets=c;t.ChartNames=s.slice(f,f+c);break;}f+=c}}function cn(e,r,t){var a={};if(!r)r={};e=Je(e);nn.forEach(function(t){var n=(e.match(rr(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Be(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)fn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function ln(e){var r=[],t=or;if(!e)e={};e.Application="SheetJS";r[r.length]=Oe;r[r.length]=or("Properties",null,{xmlns:pr.EXT_PROPS,"xmlns:vt":pr.vt});nn.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=ze(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+ze(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var on=/<[^>]+>[^<]*/g;function un(e,r){var t={},a="";var n=e.match(on);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Pe(s);switch(f[0]){case"":a=null;break;default:if(s.indexOf("");var l=c[0].slice(4),o=c[1];switch(l){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Be(o);break;case"bool":t[a]=Ke(o);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(o,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(o);break;case"filetime":;case"date":t[a]=ce(o);break;case"cy":;case"error":t[a]=Be(o);break;default:if(l.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,l,c);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var dn={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var vn;function pn(e,r,t){if(!vn)vn=J(dn);r=vn[r]||r;e[r]=t}function mn(e,r){var t=[];Y(dn).map(function(e){for(var r=0;r'+n.join("")+""}function gn(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function wn(e){var r=typeof e=="string"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=tt(8);s._W(4,a);s._W(4,n);return s}function kn(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function Tn(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function En(e,r,t){if(r===31)return Tn(e);return kn(e,r,t)}function Sn(e,r,t){return En(e,r,t===false?0:4)}function yn(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return En(e,r,0)}function _n(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(N,"");if(e.l-n&2)e.l+=2}return t}function xn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(N,"");return t}function An(e){var r=e.l;var t=Nn(e,Ea);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Nn(e,ha);return[t,a]}function Cn(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function On(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function In(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Nn(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==va)if(a!==r&&Sa.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===va?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return kn(e,a,4).replace(N,"");case 31:return Tn(e);case 64:return gn(e);case 65:return On(e);case 71:return In(e);case 80:return Sn(e,a,!i.raw).replace(N,"");case 81:return yn(e,a).replace(N,"");case 4108:return Cn(e);case 4126:;case 4127:return a==4127?_n(e):xn(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Fn(e,r){var t=tt(4),a=tt(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=tt(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=wn(r);break;case 31:;case 80:a=tt(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return I([t,a])}function Dn(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var l=-1,o={};for(s=0;s!=n;++s){var u=e._R(4);var h=e._R(4);i[s]=[u,h+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=Nn(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:c(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Nn(e,ua);c(f);if(l!==-1){var m=e.l;e.l=i[l][1];o=Rn(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}o=Rn(e,f)}else{var b=o[i[s][0]];var g;switch(e[e.l]){case 65:e.l+=4;g=On(e);break;case 30:e.l+=4;g=Sn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;g=Sn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4;g=e._R(4,"i");break;case 19:e.l+=4;g=e._R(4);break;case 5:e.l+=4;g=e._R(8,"f");break;case 11:e.l+=4;g=Vn(e,4);break;case 64:e.l+=4;g=ce(gn(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[b]=g}}}e.l=t+a;return d}var Pn=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function Ln(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function Mn(e,r,t){var a=tt(8),n=[],i=[];var s=8,f=0;var c=tt(8),l=tt(8);c._W(4,2);c._W(4,1200);l._W(4,1);i.push(c);n.push(l);s+=8+c.length;if(!r){l=tt(8);l._W(4,0);n.unshift(l);var o=[tt(4)];o[0]._W(4,e.length);for(f=0;f-1||sn.indexOf(e[f][0])>-1)continue;if(e[f][1]==null)continue;var h=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof h=="string"){var p=h.split(".");h=(+p[0]<<16)+(+p[1]||0)}c=Fn(v.t,h)}else{var m=Ln(h);if(m==-1){m=31;h=String(h)}c=Fn(m,h)}i.push(c);l=tt(8);l._W(4,!r?2+f:d);n.push(l);s+=8+c.length}var b=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var c=n?e._R(n,i):"";r=s;return c}function qn(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var c=0,l;var o={};if(s)c=e._R(2);if(i)l=e._R(4);var u=f==2?"dbcs-cont":"sbcs-cont";var h=a===0?"":e._R(a,u);if(s)e.l+=4*c;if(i)e.l+=l;o.t=h;if(!s){o.raw=""+o.t+"";o.r=o.t}r=t;return o}function Zn(e){var r=e.t||"",t=1;var a=tt(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=tt(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return I(i)}function Qn(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function ei(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return Qn(e,a,t)}function ri(e,r,t){if(t.biff>5)return ei(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function ti(e,r,t){if(!t)t=tt(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function ai(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function ni(e){ +var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(N,"");if(a)e.l+=24;return n}function ii(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(N,"");return t+s}function si(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return ni(e,r);case"0303000000000000c000000000000046":return ii(e,r);default:throw new Error("Unsupported Moniker "+t);}}function fi(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(N,""):"";return t}function ci(e,r){if(!r)r=tt(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a;r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function gi(e){var r=e._R(2);var t=Jt(e);return[r,t]}function wi(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=Jn(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function ki(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function Ti(e,r){if(!r)r=tt(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Ei(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Si=Ei;function yi(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function _i(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function xi(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Ai(e){e.l+=2;e.l+=e._R(2)}var Ci={0:Ai,4:Ai,5:Ai,6:Ai,7:xi,8:Ai,9:Ai,10:Ai,11:Ai,12:Ai,13:_i,14:Ai,15:Ai,16:Ai,17:Ai,18:Ai,19:Ai,20:Ai,21:yi};function Ri(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function Ii(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=tt(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Ni(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Fi(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=ri(e,0,t);e._R(r+a-e.l);return n}function Di(e,r){var t=!r||r.biff==8;var a=tt(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=tt(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function Ui(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function ji(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var c=e._R(2),l=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:c,TabRatio:l}}function Xi(){var e=tt(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function $i(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function Yi(e){var r=tt(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function Ki(){}function Ji(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=Jn(e,0,t);return a}function qi(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=tt(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function Zi(e){var r=di(e);r.isst=e._R(4);return r}function Qi(e,r,t,a){var n=tt(10);vi(e,r,a,n);n._W(4,t);return n}function es(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=di(e,6);if(t.biff==2)e.l++;var i=ei(e,a-e.l,t);n.val=i;return n}function rs(e,r,t,a,n){var i=!n||n.biff==8;var s=tt(6+2+ +i+(1+i)*t.length);vi(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function ts(e,r,t){var a=e._R(2);var n=ri(e,0,t);return[a,n]}function as(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var ns=ri;function is(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),c=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:c}}}function ss(e,r){var t=r.biff==8||!r.biff?4:2;var a=tt(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function fs(e){var r=e._R(2),t=e._R(2);var a=gi(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function cs(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=c&127;n.icvBack=c>>7&127;n.fsxButton=c>>14&1;return n}function us(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=os(e,r,a.fStyle,t);return a}function hs(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function ds(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function vs(e){var r=tt(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function ps(e,r,t){var a=di(e,6);if(t.biff==2||r==9)++e.l;var n=Yn(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function ms(e,r,t,a,n,i){var s=tt(8);vi(e,r,a,s);Kn(t,i,s);return s}function bs(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=di(e,6);var n=ta(e,8);a.val=n;return a}function gs(e,r,t,a){var n=tt(14);vi(e,r,a,n);aa(t,n);return n}var ws=mi;function ks(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=Qn(e,i);var f=[];while(a>e.l)f.push(ei(e));return[i,n,s,f]}function Ts(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=wi(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var Es=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Ss(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var c=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;c=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var l=Qn(e,s,t);if(n&32)l=Es[l.charCodeAt(0)];var o=a-e.l;if(t&&t.biff==2)--o;var u=a==e.l||f===0||!(o>0)?[]:th(e,o,t,f);return{chKey:i,Name:l,itab:c,rgce:u}}function ys(e,r,t){if(t.biff<8)return _s(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(bi(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function _s(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=Jn(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function xs(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=Qn(e,a,t);var s=Qn(e,n,t);return[i,s]}function As(e,r,t){var a=Ei(e,6);e.l++;var n=e._R(1);r-=8;return[ah(e,r,t),n,a]}function Cs(e,r,t){var a=Si(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,eh(e,r,t,a)]}function Rs(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Os(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=ri(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Is(e,r,t){return Os(e,r,t)}function Ns(e,r){var t=[];var a=e._R(2);while(a--)t.push(ki(e,r));return t}function Fs(e){var r=tt(2+e.length*8);r._W(2,e.length);for(var t=0;t=(o?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(h){e.l=a+r;return{t:n}}}function Us(e,r){var t=ki(e,8);e.l+=16;var a=li(e,r-24);return[t,a]}function Bs(e){var r=tt(24);var t=wt(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return I([r,oi(e[1])])}function Ws(e,r){e._R(2);var t=ki(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(N,"");return[t,a]}function Hs(e){var r=e[1].Tooltip;var t=tt(10+2*(r.length+1));t._W(2,2048);var a=wt(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(hi(e,8));return t}function js(e){var r=e._R(2);var t=[];while(r-- >0)t.push(hi(e,8));return t}function Xs(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function $s(e,r,t){if(!t.cellStyles)return rt(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var c=e._R(2);if(a==2)e.l+=2;var l={s:n,e:i,w:s,ixfe:f,flags:c};if(t.biff>=5||!t.biff)l.level=c>>8&7;return l}function Ys(e,r){var t=tt(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function Ks(e,r){var t={};if(r<32)return t;e.l+=16;t.header=ta(e,8);t.footer=ta(e,8);e.l+=2;return t}function Js(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function qs(e){var r=tt(2*e);for(var t=0;t1048576)o=1e6;if(s!=2)u=i._R(2);var h=i._R(2);var d=t.codepage||1252;if(s!=2){i.l+=16;i._R(1);if(i[i.l]!==0)d=e[i[i.l]];i.l+=1;i.l+=2}if(l)i.l+=36;var v=[],p={};var m=Math.min(i.length,s==2?521:u-10-(c?264:0));var b=l?32:11;while(i.l0){if(i[i.l]===42){i.l+=h;continue}++i.l;n[++w]=[];k=0;for(k=0;k!=v.length;++k){var T=i.slice(i.l,i.l+v[k].len);i.l+=v[k].len;et(T,0);var E=a.utils.decode(d,T);switch(v[k].type){case"C":if(E.trim().length)n[w][k]=E.replace(/\s+$/,"");break;case"D":if(E.length===8)n[w][k]=new Date(+E.slice(0,4),+E.slice(4,6)-1,+E.slice(6,8));else n[w][k]=E;break;case"F":n[w][k]=parseFloat(E.trim());break;case"+":;case"I":n[w][k]=l?T._R(-4,"i")^2147483648:T._R(4,"i");break;case"L":switch(E.trim().toUpperCase()){case"Y":;case"T":n[w][k]=true;break;case"N":;case"F":n[w][k]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+E+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[w][k]="##MEMO##"+(l?parseInt(E.trim(),10):T._R(4));break;case"N":E=E.replace(/\u0000/g,"").trim();if(E&&E!=".")n[w][k]=+E||0;break;case"@":n[w][k]=new Date(T._R(-8,"f")-621356832e5);break;case"T":n[w][k]=new Date((T._R(4)-2440588)*864e5+T._R(4));break;case"Y":n[w][k]=T._R(4,"i")/1e4+T._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[w][k]=-T._R(-8,"f");break;case"B":if(c&&v[k].len==8){n[w][k]=T._R(8,"f");break};case"G":;case"P":T.l+=v[k].len;break;case"0":if(v[k].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[k].type);}}}if(s!=2)if(i.l=0)c(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=nt();var s=Kb(e,{header:1,raw:true,cellDates:true});var l=s[0],o=s.slice(1),u=e["!cols"]||[];var h=0,d=0,v=0,p=1;for(h=0;h250)E=250;T=((u[h]||{}).DBF||{}).type;if(T=="C"){if(u[h].DBF.len>E)E=u[h].DBF.len}if(k=="B"&&T=="N"){k="N";w[h]=u[h].DBF.dec;E=u[h].DBF.len}g[h]=k=="C"||T=="N"?E:f[k]||0;p+=g[h];b[h]=k}var y=i.next(32);y._W(4,318902576);y._W(4,o.length);y._W(2,296+32*v);y._W(2,p);for(h=0;h<4;++h)y._W(4,0);y._W(4,0|(+r[t]||3)<<8);for(h=0,d=0;h":190,"?":191,"{":223};var r=new RegExp("N("+Y(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?p(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(g.decode(e),r);case"binary":return s(e,r);case"buffer":return s(w&&Buffer.isBuffer(e)?e.toString("binary"):A(e),r);case"array":return s(le(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),f=-1,l=-1,o=0,u=0,h=[];var d=[];var v=null;var p={},m=[],b=[],g=[];var w=0,k;if(+i.codepage>=0)c(+i.codepage);for(;o!==s.length;++o){w=0;var T=s[o].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var E=T.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var S=E[0],y;if(T.length>0)switch(S){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(E[1].charAt(0)=="P")d.push(T.slice(3).replace(/;;/g,";"));break;case"C":var _=false,x=false,A=false,C=false,R=-1,O=-1;for(u=1;u-1&&h[R][O];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");h[f][l][1]=ko(N[1],{r:f-R,c:l-O})}break;case"F":var F=0;for(u=1;u0){m[f].hpt=w;m[f].hpx=_c(w)}else if(w===0)m[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}if(F<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}}if(m.length>0)p["!rows"]=m;if(b.length>0)p["!cols"]=b;if(i&&i.sheetRows)h=h.slice(0,i.sheetRows);return[h,p]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1];var s=Ct(a,r);Y(n).forEach(function(e){s[e]=n[e]});return s}function l(e,r){return xt(f(e,r),r)}function o(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+wo(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function u(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=mc(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=bc(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function h(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*yc(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function d(e,r){var t=["ID;PWXL;N;E"],a=[];var n=St(e["!ref"]),i;var s=Array.isArray(e);var f="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])u(t,e["!cols"]);if(e["!rows"])h(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var c=n.s.r;c<=n.e.r;++c){for(var l=n.s.c;l<=n.e.c;++l){var d=kt({r:c,c:l});i=s?(e[c]||[])[l]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(o(i,e,c,l,r))}}return t.join(f)+f+a.join(f)+f+"E"+f}return{to_workbook:l,to_sheet:f,from_sheet:d}}();var vf=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):A(e),t);case"array":return r(le(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var c=f[0],l=f[1];++i;var o=t[i]||"";while((o.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,c=0;var l=0;for(;l<=s;++l){c=i[l].indexOf(" ");if(c==-1)c=i[l].length;else c++;f=Math.max(f,c)}for(l=0;l<=s;++l){n[l]=[];var o=0;e(i[l].slice(0,f).trim(),n,l,o,a);for(o=1;o<=(i[l].length-f)/10+1;++o)e(i[l].slice(f+(o-1)*10,f+o*10).trim(),n,l,o,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var n={44:3,9:2,59:1,124:0};function i(e){var r={},a=false,i=0,s=0;for(;i0)g();n["!ref"]=Et(s);return n}function f(e,t){if(!(t&&t.PRN))return s(e,t);if(t.FS)return s(e,t);if(e.slice(0,4)=="sep=")return s(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return s(e,t);return Ct(r(e,t),t)}function c(e,r){var t="",n=r.type=="string"?[0,0,0,0]:yb(e,r);switch(r.type){case"base64":t=g.decode(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof a!=="undefined")t=a.utils.decode(r.codepage,e);else t=w&&Buffer.isBuffer(e)?e.toString("binary"):A(e);break;case"array":t=le(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(n[0]==239&&n[1]==187&&n[2]==191)t=Je(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=Je(t);else if(r.type=="binary"&&typeof a!=="undefined"&&r.codepage)t=a.utils.decode(r.codepage,a.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return pf.to_sheet(r.type=="string"?t:Je(t),r);return f(t,r)}function l(e,r){return xt(c(e,r),r)}function o(e){var r=[];var t=St(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var c=kt({r:i,c:f});a=n?(e[i]||[])[f]:e[c];if(!a||a.v==null){s.push(" ");continue}var l=(a.w||(_t(a),a.w)||"").slice(0,10);while(l.length<10)l+=" ";s.push(l+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:l,to_sheet:c,from_sheet:o}}();function bf(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=df.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return mf.to_workbook(e,r)}}var gf=function(){function e(e,r,t){if(!e)return;et(e,e.l||0);var a=t.Enum||H;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){a.Enum=H;e(r,function(e,r,t){switch(t){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:u=e;break;case 204:if(e)s=e;break;case 222:s=e;break;case 15:;case 51:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:if(t==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||D._table[14];if(a.cellDates){e[1].t="d";e[1].v=ne(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=Et(u);c[i]=n;l.push(i);n=a.dense?[]:{};u={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var o=a.dense?(n[e[0].r]||[])[e[0].c]:n[kt(e[0])];if(o){o.t=e[1].t;o.v=e[1].v;if(e[1].z!=null)o.z=e[1].z;if(e[1].f!=null)o.f=e[1].f;break}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];break;default:;}},a)}else if(r[2]==26||r[2]==14){a.Enum=z;if(r[2]==14){a.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:i=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=Et(u);c[i]=n;l.push(i);n=a.dense?[]:{};u={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(h>0&&e[0].r>=h)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];if(u.e.c=0)c(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=nt();var n=St(e["!ref"]);var s=Array.isArray(e);var f=[];lm(a,0,i(1030));lm(a,6,l(n));var o=Math.min(n.e.r,8191);for(var u=n.s.r;u<=o;++u){var d=ut(u);for(var p=n.s.c;p<=n.e.c;++p){if(u===n.s.r)f[p]=pt(p);var m=f[p]+d;var g=s?(e[u]||[])[p]:e[m];if(!g||g.t=="z")continue;if(g.t=="n"){if((g.v|0)==g.v&&g.v>=-32768&&g.v<=32767)lm(a,13,v(u,p,g.v));else lm(a,14,b(u,p,g.v))}else{var w=_t(g);lm(a,15,h(u,p,w.slice(0,239)))}}}lm(a,1);return a.end()}function n(e,r){var t=r||{};if(+t.codepage>=0)c(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=nt();lm(a,0,s(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function f(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function l(e){var r=tt(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function o(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function u(e,r,t){var a=e.l+r;var n=o(e,r,t);n[1].t="s";if(t.vers==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function h(e,r,t){var a=tt(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function d(e,r,t){var a=o(e,r,t);a[1].v=e._R(2,"i");return a}function v(e,r,t){var a=tt(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function p(e,r,t){var a=o(e,r,t);a[1].v=e._R(8,"f");return a}function b(e,r,t){var a=tt(13);a._W(1,255);a._W(2,r);a._W(2,e);a._W(8,t,"f");return a}function w(e,r,t){var a=e.l+r;var n=o(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);S(e.slice(e.l,e.l+i),n);e.l+=i}return n}function k(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?pt(r):ut(r))}var T={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]};var E=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function S(e,r){et(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+c.toString(16)+":|"+t.join("|")+"|");return}var h=t.slice(-a);t.length-=a;t.push(T[c][0]+"("+h.join(",")+")")}else if(c<=7)return console.error("WK1 invalid opcode "+c.toString(16));else if(c<=24)return console.error("WK1 unsupported op "+c.toString(16));else if(c<=30)return console.error("WK1 invalid opcode "+c.toString(16));else if(c<=115)return console.error("WK1 unsupported function opcode "+c.toString(16));else return console.error("WK1 unrecognized opcode "+c.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function y(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function x(e,r){var t=y(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function A(e,r,t,a){var n=tt(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function C(e,r){var t=y(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function R(e,r){var t=y(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function O(e,r,t,a){var n=tt(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,c=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);c=a>>>0;if((c&2147483648)==0){a/=2;++s;c=a>>>0}a-=c;c|=2147483648;c>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,c);s+=16383+(i?32768:0);n._W(2,s);return n}function I(e,r){var t=R(e,14);e.l+=r-14;return t}function N(e,r){var t=y(e,r);var a=e._R(4);t[1].v=a>>6;return t}function F(e,r){var t=y(e,r);var a=e._R(8,"f");t[1].v=a;return t}function P(e,r){var t=F(e,14);e.l+=r-10;return t}function L(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function M(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var H={0:{n:"BOF",f:jn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:f},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:d},14:{n:"NUMBER",f:p},15:{n:"LABEL",f:u},16:{n:"FORMULA",f:w},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:u},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:L},222:{n:"SHEETNAMELP",f:M},65535:{n:""}};var z={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:x},23:{n:"NUMBER17",f:R},24:{n:"NUMBER18",f:C},25:{n:"FORMULA19",f:I},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:B},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:N},38:{n:"??"},39:{n:"NUMBER27",f:F},40:{n:"FORMULA28",f:P},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:L},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:U},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function wf(e){var r={},t=e.match(Ne),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Pe(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"
":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var kf=function(){var e=rr("t"),r=rr("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Be(a[1])};var i=t.match(r);if(i)n.s=wf(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var Tf=function Wg(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var Ef=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Sf=/<(?:\w+:)?r>/;var yf=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function _f(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Be(Je(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=Je(e);if(t)a.h=je(a.t)}else if(e.match(Sf)){a.r=Je(e);a.t=Be(Je((e.replace(yf,"").match(Ef)||[]).join("").replace(Ne,"")));if(t)a.h=Tf(kf(a.r))}return a}var xf=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Af=/<(?:\w+:)?(?:si|sstItem)>/g;var Cf=/<\/(?:\w+:)?(?:si|sstItem)>/;function Rf(e,r){var t=[],a="";if(!e)return t;var n=e.match(xf);if(n){a=n[2].replace(Af,"").split(Cf);for(var i=0;i!=a.length;++i){var s=_f(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Pe(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Of=/^\s|\s$|[\t\n\r]/;function If(e,r){if(!r.bookSST)return"";var t=[Oe];t[t.length]=or("sst",null,{xmlns:mr[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Nf(e){return[e._R(4),e._R(4)]}function Ff(e,r){var t=[];var a=false;at(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.T){}if(!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16));}});return t}function Df(e,r){if(!r)r=tt(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var Pf=Lt;function Lf(e){var r=nt();it(r,159,Df(e));for(var t=0;t=4)e.l+=r-4;return t}function Bf(e){var r={};r.id=e._R(0,"lpp4");r.R=Uf(e,4);r.U=Uf(e,4);r.W=Uf(e,4);return r}function Wf(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function Hf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(Wf(e));return r}function zf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function Vf(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=Uf(e,4);r.U=Uf(e,4);r.W=Uf(e,4);return r}function Gf(e){var r=Vf(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function jf(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function Xf(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function $f(e){var r=Uf(e);switch(r.Minor){case 2:return[r.Minor,Yf(e,r)];case 3:return[r.Minor,Kf(e,r)];case 4:return[r.Minor,Jf(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function Yf(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=jf(e,t);var n=Xf(e,e.length-e.l);return{t:"Std",h:a,v:n}}function Kf(){throw new Error("File is password-protected: ECMA-376 Extensible")}function Jf(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(Ne,function n(e){var t=Pe(e);switch(Le(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=jf(e,n);r-=n;t.EncryptionVerifier=Xf(e,r);return t}function Zf(e){var r={};var t=r.EncryptionVersionInfo=Uf(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function Qf(e){var r=0,t;var a=Mf(e);var n=a.length+1,i,s;var f,c,l;t=S(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;c=r<<1&32767;l=f|c;r=l^s}return r^52811}var ec=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=Mf(r);var a=i(t);var s=t.length;var f=S(16);for(var c=0;c!=16;++c)f[c]=0;var l,o,u;if((s&1)===1){l=a>>8;f[s]=n(e[0],l);--s;l=a&255;o=t[t.length-1];f[s]=n(o,l)}while(s>0){--s;l=a>>8;f[s]=n(t[s],l);--s;l=a&255;f[s]=n(t[s],l)}s=15;u=15-t.length;while(u>0){l=a>>8;f[s]=n(e[u],l);--s;--u;l=a&255;f[s]=n(t[s],l);--s;--u}return f}}();var rc=function(e,r,t,a,n){if(!n)n=r;if(!a)a=ec(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var tc=function(e){var r=0,t=ec(e);return function(e){var a=rc("",e,r,t);r=a[1];return a[0]}};function ac(e,r,t,a){var n={key:jn(e),verificationBytes:jn(e)};if(t.password)n.verifier=Qf(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=tc(t.password);return n}function nc(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=Zf(e,r);else a.Data=qf(e,r);return a}function ic(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)nc(e,r-2,a);else ac(e,t.biff>=8?r:r-2,t,a);return a}var sc=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):A(e),t);case"array":return r(le(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var i={s:{c:0,r:0},e:{c:0,r:n.length-1}};n.forEach(function(e,r){if(Array.isArray(a))a[r]=[];var t=/\\\w+\b/g;var n=0;var s;var f=-1;while(s=t.exec(e)){switch(s[0]){case"\\cell":var c=e.slice(n,t.lastIndex-s[0].length);if(c[0]==" ")c=c.slice(1);++f;if(c.length){var l={v:c,t:"s"};if(Array.isArray(a))a[r][f]=l;else a[kt({r:r,c:f})]=l}break;}n=t.lastIndex}if(f>i.e.c)i.e.c=f});a["!ref"]=Et(i);return a}function t(r,t){return xt(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=St(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1"); +for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var f=kt({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(_t(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function fc(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function cc(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function lc(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,c=0,l=n+i;c=s/(l>1?2-l:l);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,c,l/2]}function oc(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var c;if(t!==0)switch(f|0){case 0:;case 6:c=n*f;s[0]+=n;s[1]+=c;break;case 1:c=n*(2-f);s[0]+=c;s[1]+=n;break;case 2:c=n*(f-2);s[1]+=n;s[2]+=c;break;case 3:c=n*(4-f);s[1]+=c;s[2]+=n;break;case 4:c=n*(f-4);s[2]+=n;s[0]+=c;break;case 5:c=n*(6-f);s[2]+=c;s[0]+=n;break;}for(var l=0;l!=3;++l)s[l]=Math.round(s[l]*255);return s}function uc(e,r){if(r===0)return e;var t=lc(fc(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return cc(oc(t))}var hc=6,dc=15,vc=1,pc=hc;function mc(e){return Math.floor((e+Math.round(128/pc)/256)*pc)}function bc(e){return Math.floor((e-5)/pc*100+.5)/100}function gc(e){return Math.round((e*pc+5)/pc*256)/256}function wc(e){return gc(bc(mc(e)))}function kc(e){var r=Math.abs(e-wc(e)),t=pc;if(r>.005)for(pc=vc;pc":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Ke(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Ke(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function Cc(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Ne)||[]).forEach(function(e){var t=Pe(e);switch(Le(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Rc(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Ne)||[]).forEach(function(e){var f=Pe(e);switch(Le(f[0])){case"":;case"":break;case"":break;case"
":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function Oc(e,r,t){r.NumberFmt=[];var a=Y(D._table);for(var n=0;n":;case"":;case"":break;case"0){if(c>392){for(c=392;c>60;--c)if(r.NumberFmt[c]==null)break;r.NumberFmt[c]=f}D.load(f,c)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function Ic(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=or("numFmt",null,{numFmtId:a,formatCode:ze(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=or("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Nc=["numFmtId","fillId","fontId","borderId","xfId"];var Fc=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Dc(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Ne)||[]).forEach(function(e){var i=Pe(e),s=0;switch(Le(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=Ke(i.wrapText);a.alignment=f;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function Pc(e){var r=[];r[r.length]=or("cellXfs",null);e.forEach(function(e){r[r.length]=or("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=or("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Lc=function Hg(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,f,c){var l={};if(!s)return l;s=s.replace(//gm,"").replace(//gm,"");var o;if(o=s.match(e))Oc(o,l,c);if(o=s.match(a))Rc(o,l,f,c);if(o=s.match(t))Cc(o,l,f,c);if(o=s.match(n))Ac(o,l,f,c);if(o=s.match(r))Dc(o,l,c);return l}}();function Mc(e,r){var t=[Oe,or("styleSheet",null,{xmlns:mr[0],"xmlns:vt":pr.vt})],a;if(e.SSF&&(a=Ic(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=Pc(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Uc(e,r){var t=e._R(2);var a=It(e,r-2);return[t,a]}function Bc(e,r,t){if(!t)t=tt(6+4*r.length);t._W(2,e);Nt(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function Wc(e,r,t){var a={};a.sz=e._R(2)/20;var n=sa(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var c=e._R(1);if(c>0)a.charset=c;e.l++;a.color=na(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=It(e,r-21);return a}function Hc(e,r){if(!r)r=tt(25+4*32);r._W(2,e.sz*20);fa(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);ia(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);Nt(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var zc=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Vc;var Gc=rt;function jc(e,r){if(!r)r=tt(4*3+8*7+16*1);if(!Vc)Vc=J(zc);var t=Vc[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){ia({auto:1},r);ia({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function Xc(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function $c(e,r,t){if(!t)t=tt(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function Yc(e,r){if(!r)r=tt(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var Kc=rt;function Jc(e,r){if(!r)r=tt(51);r._W(1,0);Yc(null,r);Yc(null,r);Yc(null,r);Yc(null,r);Yc(null,r);return r.length>r.l?r.slice(0,r.l):r}function qc(e,r){if(!r)r=tt(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);Xt(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function Zc(e,r,t){var a=tt(4+256*2*4);a._W(4,e);Xt(r,a);Xt(t,a);return a.length>a.l?a.slice(0,a.l):a}function Qc(e,r,t){var a={};a.NumberFmt=[];for(var n in D._table)a.NumberFmt[n]=D._table[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;at(e,function f(e,n,c){switch(c){case 44:a.NumberFmt[e[0]]=e[1];D.load(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=uc(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==617){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(c);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(c);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+c.toString(16));}});return a}function el(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;it(e,615,Ot(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)it(e,44,Bc(a,r[a]))});it(e,616)}function rl(e){var r=1;if(r==0)return;it(e,611,Ot(r));it(e,43,Hc({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));it(e,612)}function tl(e){var r=2;if(r==0)return;it(e,603,Ot(r));it(e,45,jc({patternType:"none"}));it(e,45,jc({patternType:"gray125"}));it(e,604)}function al(e){var r=1;if(r==0)return;it(e,613,Ot(r));it(e,46,Jc({}));it(e,614)}function nl(e){var r=1;it(e,626,Ot(r));it(e,47,$c({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));it(e,627)}function il(e,r){it(e,617,Ot(r.length));r.forEach(function(r){it(e,47,$c(r,0))});it(e,618)}function sl(e){var r=1;it(e,619,Ot(r));it(e,48,qc({xfId:0,builtinId:0,name:"Normal"}));it(e,620)}function fl(e){var r=0;it(e,505,Ot(r));it(e,506)}function cl(e){var r=0;it(e,508,Zc(r,"TableStyleMedium9","PivotStyleMedium4"));it(e,509)}function ll(){return}function ol(e,r){var t=nt();it(t,278);el(t,e.SSF);rl(t,e);tl(t,e);al(t,e);nl(t,e);il(t,r.cellXfs);sl(t,e);fl(t,e);cl(t,e);ll(t,e);it(t,279);return t.end()}var ul=["","","","","","","","","","","",""];function hl(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Ne)||[]).forEach(function(e){var n=Pe(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[ul.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function dl(){}function vl(){}var pl=/]*)>[\s\S]*<\/a:clrScheme>/;var ml=/]*)>[\s\S]*<\/a:fontScheme>/;var bl=/]*)>[\s\S]*<\/a:fmtScheme>/;function gl(e,r,t){r.themeElements={};var a;[["clrScheme",pl,hl],["fontScheme",ml,dl],["fmtScheme",bl,vl]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var wl=/]*)>[\s\S]*<\/a:themeElements>/;function kl(e,r){if(!e||e.length===0)e=Tl();var t;var a={};if(!(t=e.match(wl)))throw new Error("themeElements not found in theme");gl(t[0],a,r);a.raw=e;return a}function Tl(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Oe];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function El(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=Ce(i,{type:"array"})}catch(f){return}var c=Se(s,"theme/theme/theme1.xml",true);if(!c)return;return kl(c,t)}function Sl(e){return e._R(4)}function yl(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=_l(e,4);break;case 2:r.xclrValue=ui(e,4);break;case 3:r.xclrValue=Sl(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function _l(e,r){return rt(e,r)}function xl(e,r){return rt(e,r)}function Al(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=yl(e,t);break;case 6:a[1]=xl(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function Cl(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Al(e,t-e.l));return{ixfe:a,ext:i}}function Rl(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function Ol(e,r){return{flags:e._R(4),version:e._R(4),name:It(e,r-8)}}function Il(e){var r=tt(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);Nt(e.name,r);return r.slice(0,r.l)}function Nl(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function Fl(e){var r=tt(4+8*e.length);r._W(4,e.length);for(var t=0;t":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":i=2;break;case"":i=2;break;case"":;case"":;case"":break;case"":n=false;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+r[0]+" in metadata");}return e});return a}function Wl(){var e=[Oe];e.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); +return e.join("")}function Hl(e){var r=[];if(!e)return r;var t=1;(e.match(Ne)||[]).forEach(function(e){var a=Pe(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var $l=1024;function Yl(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[or("xml",null,{"xmlns:v":br.v,"xmlns:o":br.o,"xmlns:x":br.x,"xmlns:mv":br.mv}).replace(/\/>/,">"),or("o:shapelayout",or("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),or("v:shapetype",[or("v:stroke",null,{joinstyle:"miter"}),or("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while($l",i,or("v:shadow",null,s),or("v:path",null,{"o:connecttype":"none"}),'
','',"","",cr("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),cr("x:AutoFill","False"),cr("x:Row",String(r.r)),cr("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}function Kl(e,r,t,a){var n=Array.isArray(e);var i;r.forEach(function(r){var s=wt(r.ref);if(n){if(!e[s.r])e[s.r]=[];i=e[s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e[s.r][s.c]=i;else e[r.ref]=i;var f=St(e["!ref"]||"BDWGO1000001:A1");if(f.s.r>s.r)f.s.r=s.r;if(f.e.rs.c)f.s.c=s.c;if(f.e.c=0;--o){if(!t&&i.c[o].T)return;if(t&&!i.c[o].T)i.c.splice(o,1)}if(t&&a)for(o=0;o/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Pe(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=wt(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var c=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var l=!!c&&!!c[1]&&_f(c[1])||{r:"",t:"",h:""};s.r=l.r;if(l.r=="")l.t=l.h="";s.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=l.h;a.push(s)});return a}function ql(e){var r=[Oe,or("comments",null,{xmlns:mr[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=ze(e.a);if(t.indexOf(a)==-1){t.push(a);r.push(""+a+"")}if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);r.push(""+"tc="+e.ID+"")}})});if(t.length==0){t.push("SheetJ5");r.push("SheetJ5")}r.push("");r.push("");e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);else e[1].forEach(function(e){if(e.a)a=t.indexOf(ze(e.a));n.push(e.t||"")});r.push('');if(n.length<=1)r.push(cr("t",ze(n[0]||"")));else{var i="Comment:\n "+n[0]+"\n";for(var s=1;s")});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Zl(e,r){var t=[];var a=false,n={},i=0;e.replace(Ne,function s(f,c){var l=Pe(f);switch(Le(l[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,c).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":a=true;break;case"":a=false;break;case"":;case"
":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+l[0]+" in threaded comments");}return f});return t}function Ql(e,r,t){var a=[Oe,or("ThreadedComments",null,{xmlns:pr.TCMNT}).replace(/[\/]>/,">")];e.forEach(function(e){var n="";(e[1]||[]).forEach(function(i,s){if(!i.T){delete i.ID;return}if(i.a&&r.indexOf(i.a)==-1)r.push(i.a);var f={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+t.tcid++).slice(-12)+"}"};if(s==0)n=f.id;else f.parentId=n;i.ID=f.id;if(i.a)f.personId="{54EE7950-7262-4200-6969-"+("000000000000"+r.indexOf(i.a)).slice(-12)+"}";a.push(or("threadedComment",cr("text",i.t||""),f))})});a.push("");return a.join("")}function eo(e,r){var t=[];var a=false;e.replace(Ne,function n(e){var n=Pe(e);switch(Le(n[0])){case"":break;case"":break;case"":;case"":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments");}return e});return t}function ro(e){var r=[Oe,or("personList",null,{xmlns:pr.TCMNT,"xmlns:x":mr[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(or("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function to(e){var r={};r.iauthor=e._R(4);var t=ea(e,16);r.rfx=t.s;r.ref=kt(t.s);e.l+=16;return r}function ao(e,r){if(r==null)r=tt(36);r._W(4,e[1].iauthor);ra(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var no=It;function io(e){return Nt(e.slice(0,54))}function so(e,r){var t=[];var a=[];var n={};var i=false;at(e,function s(e,f,c){switch(c){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if(f.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+c.toString(16));}});return t}function fo(e){var r=nt();var t=[];it(r,628);it(r,630);e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));it(r,632,io(e.a))})});it(r,631);it(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:wt(e[0]),e:wt(e[0])};it(r,635,ao([n,a]));if(a.t&&a.t.length>0)it(r,637,Ut(a));it(r,636);delete a.iauthor})});it(r,634);it(r,629);return r.end()}var co="application/vnd.ms-office.vbaProject";function lo(e){var r=z.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");z.utils.cfb_add(r,n,e.FileIndex[a].content)});return z.write(r)}function oo(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")z.utils.cfb_add(e,n,r.FileIndex[a].content)})}var uo=["xlsb","xlsm","xlam","biff8","xla"];function ho(){return{"!type":"dialog"}}function vo(){return{"!type":"dialog"}}function po(){return{"!type":"macro"}}function mo(){return{"!type":"macro"}}var bo=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,c=n.length>0?parseInt(n,10)|0:0;if(i)c+=r.c;else--c;if(s)f+=r.r;else--f;return t+(i?"":"$")+pt(c)+(s?"":"$")+ut(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var go=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var wo=function(){return function e(r,t){return r.replace(go,function(e,r,a,n,i,s){var f=vt(n)-(a?0:t.c);var c=ot(s)-(i?0:t.r);var l=c==0?"":!i?"["+c+"]":c+1;var o=f==0?"":!a?"["+f+"]":f+1;return r+"R"+l+"C"+o})}}();function ko(e,r){return e.replace(go,function(e,t,a,n,i,s){return t+(a=="$"?a+n:pt(vt(n)+r.c))+(i=="$"?i+s:ut(ot(s)+r.r))})}function To(e,r,t){var a=Tt(r),n=a.s,i=wt(t);var s={r:i.r-n.r,c:i.c-n.c};return ko(e,s)}function Eo(e){if(e.length==1)return false;return true}function So(e){return e.replace(/_xlfn\./g,"")}function yo(e){e.l+=1;return}function _o(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function xo(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Ao(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=_o(e,2);var f=_o(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function Ao(e){var r=_o(e,2),t=_o(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function Co(e,r,t){if(t.biff<8)return Ao(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=_o(e,2);var s=_o(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function Ro(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Oo(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=_o(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Oo(e){var r=_o(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Io(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function No(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Fo(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function Fo(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Do(e,r,t){var a=(e[e.l++]&96)>>5;var n=xo(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Po(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=xo(e,i,t);return[a,n,s]}function Lo(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Mo(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function Uo(e,r,t){var a=(e[e.l++]&96)>>5;var n=Co(e,r-1,t);return[a,n]}function Bo(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Wo(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Ho(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function zo(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Vo(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Go(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function jo(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Xo(e){var r=e._R(1),t=e._R(1);return[r,t]}function $o(e){e._R(2);return Xo(e,2)}function Yo(e){e._R(2);return Xo(e,2)}function Ko(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Ro(e,0,t);return[a,n]}function Jo(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=No(e,0,t);return[a,n]}function qo(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Ro(e,0,t);return[a,n,i]}function Zo(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[ph[n],vh[n],a]}function Qo(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:eu(e);return[n,(i[0]===0?vh:dh)[i[1]]]}function eu(e){return[e[e.l+1]>>7,e._R(2)&32767]}function ru(e,r,t){e.l+=t&&t.biff==2?3:4;return}function tu(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function au(e){e.l++;return Ia[e._R(1)]}function nu(e){e.l++;return e._R(2)}function iu(e){e.l++;return e._R(1)!==0}function su(e){e.l++;return ta(e,8)}function fu(e,r,t){e.l++;return Jn(e,r-1,t)}function cu(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Vn(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=Ia[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=ta(e,8);break;case 2:t[1]=ri(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function lu(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?ea:ki)(e,8));return n}function ou(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=cu(e,t.biff);return s}function uu(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function hu(e,r,t){if(t.biff==5)return du(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function du(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function vu(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function pu(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function mu(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function bu(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var gu=rt;var wu=rt;var ku=rt;function Tu(e,r,t){e.l+=2;return[Io(e,4,t)]}function Eu(e){e.l+=6;return[]}var Su=Tu;var yu=Eu;var _u=Eu;var xu=Tu;function Au(e){e.l+=2;return[jn(e),e._R(2)&1]}var Cu=Tu;var Ru=Au;var Ou=Eu;var Iu=Tu;var Nu=Tu;var Fu=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function Du(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=Fu[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Pu(e){e.l+=2;return[e._R(4)]}function Lu(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Mu(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function Uu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Bu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Wu(e){e.l+=4;return[0,0]}var Hu={1:{n:"PtgExp",f:tu},2:{n:"PtgTbl",f:ku},3:{n:"PtgAdd",f:yo},4:{n:"PtgSub",f:yo},5:{n:"PtgMul",f:yo},6:{n:"PtgDiv",f:yo},7:{n:"PtgPower",f:yo},8:{n:"PtgConcat",f:yo},9:{n:"PtgLt",f:yo},10:{n:"PtgLe",f:yo},11:{n:"PtgEq",f:yo},12:{n:"PtgGe",f:yo},13:{n:"PtgGt",f:yo},14:{n:"PtgNe",f:yo},15:{n:"PtgIsect",f:yo},16:{n:"PtgUnion",f:yo},17:{n:"PtgRange",f:yo},18:{n:"PtgUplus",f:yo},19:{n:"PtgUminus",f:yo},20:{n:"PtgPercent",f:yo},21:{n:"PtgParen",f:yo},22:{n:"PtgMissArg",f:yo},23:{n:"PtgStr",f:fu},26:{n:"PtgSheet",f:Lu},27:{n:"PtgEndSheet",f:Mu},28:{n:"PtgErr",f:au},29:{n:"PtgBool",f:iu},30:{n:"PtgInt",f:nu},31:{n:"PtgNum",f:su},32:{n:"PtgArray",f:Bo},33:{n:"PtgFunc",f:Zo},34:{n:"PtgFuncVar",f:Qo},35:{n:"PtgName",f:uu},36:{n:"PtgRef",f:Ko},37:{n:"PtgArea",f:Do},38:{n:"PtgMemArea",f:vu},39:{n:"PtgMemErr",f:gu},40:{n:"PtgMemNoMem",f:wu},41:{n:"PtgMemFunc",f:pu},42:{n:"PtgRefErr",f:mu},43:{n:"PtgAreaErr",f:Lo},44:{n:"PtgRefN",f:Jo},45:{n:"PtgAreaN",f:Uo},46:{n:"PtgMemAreaN",f:Uu},47:{n:"PtgMemNoMemN",f:Bu},57:{n:"PtgNameX",f:hu},58:{n:"PtgRef3d",f:qo},59:{n:"PtgArea3d",f:Po},60:{n:"PtgRefErr3d",f:bu},61:{n:"PtgAreaErr3d",f:Mo},255:{}};var zu={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};var Vu={1:{n:"PtgElfLel",f:Au},2:{n:"PtgElfRw",f:Iu},3:{n:"PtgElfCol",f:Su},6:{n:"PtgElfRwV",f:Nu},7:{n:"PtgElfColV",f:xu},10:{n:"PtgElfRadical",f:Cu},11:{n:"PtgElfRadicalS",f:Ou},13:{n:"PtgElfColS",f:yu},15:{n:"PtgElfColSV",f:_u},16:{n:"PtgElfRadicalLel",f:Ru},25:{n:"PtgList",f:Du},29:{n:"PtgSxName",f:Pu},255:{}};var Gu={0:{n:"PtgAttrNoop",f:Wu},1:{n:"PtgAttrSemi",f:jo},2:{n:"PtgAttrIf",f:Vo},4:{n:"PtgAttrChoose",f:Ho},8:{n:"PtgAttrGoto",f:zo},16:{n:"PtgAttrSum",f:ru},32:{n:"PtgAttrBaxcel",f:Wo},33:{n:"PtgAttrBaxcel",f:Wo},64:{n:"PtgAttrSpace",f:$o},65:{n:"PtgAttrSpaceSemi",f:Yo},128:{n:"PtgAttrIfError",f:Go},255:{}};function ju(e,r,t,a){if(a.biff<8)return rt(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=ou(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=lu(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(rt(e,r));return i}function Xu(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=Hu[i]||Hu[zu[i]];if(i===24||i===25)n=(i===24?Vu:Gu)[e[e.l+1]];if(!n||!n.f){rt(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function $u(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};var Ku=new RegExp(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/);function Ju(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(Ku.test(e))return"'"+e+"'";return e}function qu(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function Zu(e,r,t){var a=qu(e,r,t);return a=="#REF"?a:Ju(a,t)}function Qu(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],c,l,o,u=0,h=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,m="";for(var b=0,g=e[0].length;b=0){switch(e[0][p][1][0]){case 0:m=ue(" ",e[0][p][1][1]);break;case 1:m=ue("\r",e[0][p][1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}l=l+m;p=-1}f.push(l+Yu[w[0]]+c);break;case"PtgIsect":c=f.pop();l=f.pop();f.push(l+" "+c);break;case"PtgUnion":c=f.pop();l=f.pop();f.push(l+","+c);break;case"PtgRange":c=f.pop();l=f.pop();f.push(l+":"+c);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":o=st(w[1][1],s,n);f.push(ct(o,i));break;case"PtgRefN":o=t?st(w[1][1],t,n):w[1][1];f.push(ct(o,i));break;case"PtgRef3d":u=w[1][1];o=st(w[1][2],s,n);v=Zu(a,u,n);var k=v;f.push(v+"!"+ct(o,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],E=w[1][1];if(!T)T=0;T&=127;var S=T==0?[]:f.slice(-T);f.length-=T;if(E==="User")E=S.shift();f.push(E+"("+S.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=ft(w[1][1],t?{s:t}:s,n);f.push(lt(d,n));break;case"PtgArea":d=ft(w[1][1],s,n);f.push(lt(d,n));break;case"PtgArea3d":u=w[1][1];d=w[1][2];v=Zu(a,u,n);f.push(v+"!"+lt(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":h=w[1][2];var y=(a.names||[])[h-1]||(a[0]||[])[h];var _=y?y.Name:"SH33TJSNAME"+String(h);if(_&&_.slice(0,6)=="_xlfn."&&!n.xlfn)_=_.slice(6);f.push(_);break;case"PtgNameX":var x=w[1][1];h=w[1][2];var A;if(n.biff<=5){if(x<0)x=-x;if(a[x])A=a[x][h]}else{var C="";if(((a[x]||[])[0]||[])[0]==14849){}else if(((a[x]||[])[0]||[])[0]==1025){if(a[x][h]&&a[x][h].itab>0){C=a.SheetNames[a[x][h].itab-1]+"!"}}else C=a.SheetNames[h-1]+"!";if(a[x]&&a[x][h])C+=a[x][h].Name;else if(a[0]&&a[0][h])C+=a[0][h].Name;else{var R=(qu(a,x,n)||"").split(";;");if(R[h-1])C=R[h-1];else C+="SH33TJSERRX"}f.push(C);break}if(!A)A={Name:"SH33TJSERRY"};f.push(A.Name);break;case"PtgParen":var O="(",I=")";if(p>=0){m="";switch(e[0][p][1][0]){case 2:O=ue(" ",e[0][p][1][1])+O;break;case 3:O=ue("\r",e[0][p][1][1])+O;break;case 4:I=ue(" ",e[0][p][1][1])+I;break;case 5:I=ue("\r",e[0][p][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(O+f.pop()+I);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":o={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[kt(o)]){var F=a.sharedf[kt(o)];f.push(Qu(F,s,N,a,n))}else{var D=false;for(c=0;c!=a.arrayf.length;++c){l=a.arrayf[c];if(o.cl[0].e.c)continue;if(o.rl[0].e.r)continue;f.push(Qu(l[1],s,N,a,n));D=true;break}if(!D)f.push(w[1])}break;case"PtgArray":f.push("{"+$u(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=b;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var P=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][b][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:m=ue(" ",w[1][1]);break;case 5:L=false;case 1:m=ue("\r",w[1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((L?m:"")+f.pop()+(L?"":m));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");return f[0]}function eh(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Xu(e,s,t);if(r!==s+n)i=ju(e,r-s-n,f,t);e.l=a;return[f,i]}function rh(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Xu(e,s,t);if(r!==s+n)i=ju(e,r-s-n,f,t);e.l=a;return[f,i]}function th(e,r,t,a){var n=e.l+r;var i=Xu(e,a,t);var s;if(n!==e.l)s=ju(e,n-e.l,i,t);return[i,s]}function ah(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Xu(e,i,t);if(i==65535)return[[],rt(e,r-2)];if(r!==i+2)n=ju(e,a-i-2,s,t);return[s,n]}function nh(e){var r;if(Vr(e,e.l+6)!==65535)return[ta(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function ih(e){if(e==null){var r=tt(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return aa(e);return aa(0)}function sh(e,r,t){var a=e.l+r;var n=di(e,6);if(t.biff==2)++e.l;var i=nh(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=rh(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function fh(e,r,t,a,n){var i=vi(r,t,n);var s=ih(e.v);var f=tt(6);var c=1|32;f._W(2,c);f._W(4,0);var l=tt(e.bf.length);for(var o=0;o0?ju(e,i,n,t):null;return[n,s]}var lh=ch;var oh=ch;var uh=ch;var hh=ch;var dh={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE", +330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var vh={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var ph={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function mh(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function bh(e){var r="of:="+e.replace(go,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function gh(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function wh(e){return e.replace(/\./,"!")}var kh={};var Th={};var Eh=typeof Map!=="undefined";function Sh(e,r,t){var a=0,n=e.length;if(t){if(Eh?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Eh?t.get(r):t[r];for(;a-1){t.width=gc(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function _h(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function xh(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){D.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Ah(e,r,t,a,n,i){try{if(a.cellNF)e.z=D._table[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=ce(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(D._table[r]==null)D.load(M[r]||"General",r);if(e.t==="e")e.w=e.w||Ia[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else if(e.t==="d"){var f=ee(e.v);if((f|0)===f)e.w=D._general_int(f);else e.w=D._general_num(f)}else if(e.v===undefined)return"";else e.w=D._general(e.v,Th)}else if(e.t==="d")e.w=D.format(r,ee(e.v),Th);else e.w=D.format(r,e.v,Th)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=uc(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=uc(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function Ch(e,r,t){if(e&&e["!ref"]){var a=St(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Et(t)}var Oh=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Ih=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Nh=/<(?:\w:)?hyperlink [^>]*>/gm;var Fh=/"(\w*:\w*)"/;var Dh=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Ph=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Lh=/<(?:\w:)?pageMargins[^>]*\/>/g;var Mh=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Uh=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Bh=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Wh(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(m!=null&&r.dense==null)r.dense=m;var f=r.dense?[]:{};var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l="",o="";var u=e.match(Ih);if(u){l=e.slice(0,u.index);o=e.slice(u.index+u[0].length)}else l=o=e;var h=l.match(Mh);if(h)zh(h[0],f,n,t);else if(h=l.match(Uh))Vh(h[0],h[1]||"",f,n,t,s,i);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=l.slice(d,d+50).match(Fh);if(v)Rh(f,v[1])}var p=l.match(Bh);if(p&&p[1])td(p[1],n);var b=[];if(r.cellStyles){var g=l.match(Dh);if(g)qh(b,g)}if(u)id(u[1],f,r,c,i,s);var w=o.match(Ph);if(w)f["!autofilter"]=Qh(w[0]);var k=[];var T=o.match(Oh);if(T)for(d=0;d!=T.length;++d)k[d]=St(T[d].slice(T[d].indexOf('"')+1));var E=o.match(Nh);if(E)Yh(f,E,a);var S=o.match(Lh);if(S)f["!margins"]=Kh(Pe(S[0]));if(!f["!ref"]&&c.e.c>=c.s.c&&c.e.r>=c.s.r)f["!ref"]=Et(c);if(r.sheetRows>0&&f["!ref"]){var y=St(f["!ref"]);if(r.sheetRows<=+y.e.r){y.e.r=r.sheetRows-1;if(y.e.r>c.e.r)y.e.r=c.e.r;if(y.e.rc.e.c)y.e.c=c.e.c;if(y.e.c0)f["!cols"]=b;if(k.length>0)f["!merges"]=k;return f}function Hh(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function zh(e,r,t,a){var n=Pe(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Be(Je(n.codeName))}function Vh(e,r,t,a,n){zh(e.slice(0,e.indexOf(">")),t,a,n)}function Gh(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var c=r.SheetNames[t];try{if(r.Workbook)c=r.Workbook.Sheets[t].CodeName||c}catch(l){}i=true;s.codeName=qe(ze(c))}if(e&&e["!outline"]){var o={summaryBelow:1,summaryRight:1};if(e["!outline"].above)o.summaryBelow=0;if(e["!outline"].left)o.summaryRight=0;f=(f||"")+or("outlinePr",null,o)}if(!i&&!f)return;n[n.length]=or("sheetPr",f,s)}var jh=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Xh=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function $h(e){var r={sheet:1};jh.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Xh.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=Qf(e.password).toString(16).toUpperCase();return or("sheetProtection",null,r)}function Yh(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Pe(Je(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Be(i.location)}else{i.Target="#"+Be(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=St(i.ref);for(var c=f.s.r;c<=f.e.r;++c)for(var l=f.s.c;l<=f.e.c;++l){var o=kt({c:l,r:c});if(a){if(!e[c])e[c]=[];if(!e[c][l])e[c][l]={t:"z",v:undefined};e[c][l].l=i}else{if(!e[o])e[o]={t:"z",v:undefined};e[o].l=i}}}}function Kh(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Jh(e){_h(e);return or("pageMargins",null,e)}function qh(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Pe(r[a],true);if(n.hidden)n.hidden=Ke(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;kc(n.width)}Tc(n);while(i<=s)e[i++]=oe(n)}}function Zh(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=or("col",null,yh(n,a))}t[t.length]="";return t.join("")}function Qh(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function ed(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Et(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Tt(n);if(s.s.r==s.e.r){s.e.r=Tt(r["!ref"]).e.r;n=Et(s)}for(var f=0;fa-z][^>]*)?\/?>/;function td(e,r){if(!r.Views)r.Views=[{}];(e.match(rd)||[]).forEach(function(e,t){var a=Pe(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(Ke(a.rightToLeft))r.Views[t].RTL=true})}function ad(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return or("sheetViews",or("sheetView",null,n),{})}function nd(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if(e.v===undefined&&typeof e.f!=="string"||e.t==="z"&&!e.f)return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Ia[e.v];break;case"d":if(a&&a.cellDates)n=ce(e.v,-1).toISOString();else{e=oe(e);e.t="n";n=""+(e.v=ee(ce(e.v)))}if(typeof e.z==="undefined")e.z=D._table[14];break;default:n=e.v;break;}var f=cr("v",ze(n)),c={r:r};var l=xh(a.cellXfs,e,a);if(l!==0)c.s=l;switch(e.t){case"n":break;case"d":c.t="d";break;case"b":c.t="b";break;case"e":c.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){f=cr("v",""+Sh(a.Strings,e.v,a.revStrings));c.t="s";break}c.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var o=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;f=or("f",ze(e.f),o)+(e.v!=null?f:"")}if(e.l)t["!links"].push([r,e.l]);if(e.D)c.cm=1;return or("c",f,c)}var id=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=rr("v"),s=rr("f");return function f(c,l,o,u,h,d){var v=0,p="",m=[],b=[],g=0,w=0,k=0,T="",E;var S,y=0,_=0;var x,A;var C=0,R=0;var O=Array.isArray(d.CellXf),I;var N=[];var F=[];var P=Array.isArray(l);var L=[],M={},U=false;var B=!!o.sheetStubs;for(var W=c.split(r),H=0,z=W.length;H!=z;++H){p=W[H].trim();var V=p.length;if(V===0)continue;var G=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(o&&o.cellStyles){S=Pe(p.slice(G,v),true);y=S.r!=null?parseInt(S.r,10):y+1;_=-1;if(o.sheetRows&&o.sheetRows=v)break;S=Pe(p.slice(G,v),true);y=S.r!=null?parseInt(S.r,10):y+1;_=-1;if(o.sheetRows&&o.sheetRowsy-1)u.s.r=y-1;if(u.e.r":"")+p;if(b!=null&&b.length===2){g=0;T=b[1];for(w=0;w!=T.length;++w){if((k=T.charCodeAt(w)-64)<1||k>26)break;g=26*g+k}--g;_=g}else++_;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;S=Pe(p.slice(0,w),true);if(!S.r)S.r=kt({r:y-1,c:_});T=p.slice(w);E={t:""};if((b=T.match(i))!=null&&b[1]!=="")E.v=Be(b[1]);if(o.cellFormula){if((b=T.match(s))!=null&&b[1]!==""){E.f=Be(Je(b[1])).replace(/\r\n/g,"\n");if(!o.xlfn)E.f=So(E.f);if(b[0].indexOf('t="array"')>-1){E.F=(T.match(n)||[])[1];if(E.F.indexOf(":")>-1)N.push([St(E.F),E.F])}else if(b[0].indexOf('t="shared"')>-1){A=Pe(b[0]);var X=Be(Je(b[1]));if(!o.xlfn)X=So(X);F[parseInt(A.si,10)]=[A,X,S.r]}}else if(b=T.match(/]*\/>/)){A=Pe(b[0]);if(F[A.si])E.f=To(F[A.si][1],F[A.si][2],S.r)}var $=wt(S.r);for(w=0;w=N[w][0].s.r&&$.r<=N[w][0].e.r)if($.c>=N[w][0].s.c&&$.c<=N[w][0].e.c)E.F=N[w][1]}if(S.t==null&&E.v===undefined){if(E.f||E.F){E.v=0;E.t="n"}else if(!B)continue;else E.t="z"}else E.t=S.t||"n";if(u.s.c>_)u.s.c=_;if(u.e.c<_)u.e.c=_;switch(E.t){case"n":if(E.v==""||E.v==null){if(!B)continue;E.t="z"}else E.v=parseFloat(E.v);break;case"s":if(typeof E.v=="undefined"){if(!B)continue;E.t="z"}else{x=kh[parseInt(E.v,10)];E.v=x.t;E.r=x.r;if(o.cellHTML)E.h=x.h}break;case"str":E.t="s";E.v=E.v!=null?Je(E.v):"";if(o.cellHTML)E.h=je(E.v);break;case"inlineStr":b=T.match(a);E.t="s";if(b!=null&&(x=_f(b[1]))){E.v=x.t;if(o.cellHTML)E.h=x.h}else E.v="";break;case"b":E.v=Ke(E.v);break;case"d":if(o.cellDates)E.v=ce(E.v,1);else{E.v=ee(ce(E.v,1));E.t="n"}break;case"e":if(!o||o.cellText!==false)E.w=E.v;E.v=Na[E.v];break;}C=R=0;I=null;if(O&&S.s!==undefined){I=d.CellXf[S.s];if(I!=null){if(I.numFmtId!=null)C=I.numFmtId;if(o.cellStyles){if(I.fillId!=null)R=I.fillId}}}Ah(E,C,R,o,h,d);if(o.cellDates&&O&&E.t=="n"&&D.is_date(D._table[C])){E.t="d";E.v=ne(E.v)}if(S.cm&&o.xlmeta){var Y=(o.xlmeta.Cell||[])[+S.cm-1];if(Y&&Y.type=="XLDAPR")E.D=true}if(P){var K=wt(S.r);if(!l[K.r])l[K.r]=[];l[K.r][K.c]=E}else l[S.r]=E}}if(L.length>0)l["!rows"]=L}}();function sd(e,r,t,a){var n=[],i=[],s=St(e["!ref"]),f="",c,l="",o=[],u=0,h=0,d=e["!rows"];var v=Array.isArray(e);var p={r:l},m,b=-1;for(h=s.s.c;h<=s.e.c;++h)o[h]=pt(h);for(u=s.s.r;u<=s.e.r;++u){i=[];l=ut(u);for(h=s.s.c;h<=s.e.c;++h){c=o[h]+l;var g=v?(e[u]||[])[h]:e[c];if(g===undefined)continue;if((f=nd(g,c,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[u]){p={r:l};if(d&&d[u]){m=d[u];if(m.hidden)p.hidden=1;b=-1;if(m.hpx)b=yc(m.hpx);else if(m.hpt)b=m.hpt;if(b>-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}}n[n.length]=or("row",i.join(""),p)}}if(d)for(;u-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}n[n.length]=or("row","",p)}}return n.join("")}function fd(e,r,t,a){var n=[Oe,or("worksheet",null,{xmlns:mr[0],"xmlns:r":pr.r})];var i=t.SheetNames[e],s=0,f="";var c=t.Sheets[i];if(c==null)c={};var l=c["!ref"]||"A1";var o=St(l);if(o.e.c>16383||o.e.r>1048575){if(r.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");o.e.c=Math.min(o.e.c,16383);o.e.r=Math.min(o.e.c,1048575);l=Et(o)}if(!a)a={};c["!comments"]=[];var u=[];Gh(c,t,e,r,n);n[n.length]=or("dimension",null,{ref:l});n[n.length]=ad(c,r,e,t);if(r.sheetFormat)n[n.length]=or("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(c["!cols"]!=null&&c["!cols"].length>0)n[n.length]=Zh(c,c["!cols"]);n[s=n.length]="";c["!links"]=[];if(c["!ref"]!=null){f=sd(c,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(c["!protect"])n[n.length]=$h(c["!protect"]);if(c["!autofilter"]!=null)n[n.length]=ed(c["!autofilter"],c,t,e);if(c["!merges"]!=null&&c["!merges"].length>0)n[n.length]=Hh(c["!merges"]);var h=-1,d,v=-1;if(c["!links"].length>0){n[n.length]="";c["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=ja(a,-1,ze(e[1].Target).replace(/#.*$/,""),Ba.HLINK);d["r:id"]="rId"+v}if((h=e[1].Target.indexOf("#"))>-1)d.location=ze(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=ze(e[1].Tooltip);n[n.length]=or("hyperlink",null,d)});n[n.length]=""}delete c["!links"];if(c["!margins"]!=null)n[n.length]=Jh(c["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=cr("ignoredErrors",or("ignoredError",null,{numberStoredAsText:1,sqref:l}));if(u.length>0){v=ja(a,-1,"../drawings/drawing"+(e+1)+".xml",Ba.DRAW);n[n.length]=or("drawing",null,{"r:id":"rId"+v});c["!drawing"]=u}if(c["!comments"].length>0){v=ja(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Ba.VML);n[n.length]=or("legacyDrawing",null,{"r:id":"rId"+v});c["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function cd(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function ld(e,r,t){var a=tt(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=yc(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,c=a.l;a.l+=4;var l={r:e,c:0};for(var o=0;o<16;++o){if(r.s.c>o+1<<10||r.e.ca.l?a.slice(0,a.l):a}function od(e,r,t,a){var n=ld(a,t,r);if(n.length>17||(r["!rows"]||[])[a])it(e,0,n)}var ud=ea;var hd=ra;function dd(){}function vd(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Vt(e,r-19);return t}function pd(e,r,t){if(t==null)t=tt(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);ia({auto:1},t);t._W(-4,-1);t._W(-4,-1);Gt(e,t);return t.slice(0,t.l)}function md(e){var r=Bt(e);return[r]}function bd(e,r,t){if(t==null)t=tt(8);return Wt(r,t)}function gd(e){var r=Ht(e);return[r]}function wd(e,r,t){if(t==null)t=tt(4);return zt(r,t)}function kd(e){var r=Bt(e);var t=e._R(1);return[r,t,"b"]}function Td(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v?1:0);return t}function Ed(e){var r=Ht(e);var t=e._R(1);return[r,t,"b"]}function Sd(e,r,t){if(t==null)t=tt(5);zt(r,t);t._W(1,e.v?1:0);return t}function yd(e){var r=Bt(e);var t=e._R(1);return[r,t,"e"]}function _d(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v);return t}function xd(e){var r=Ht(e);var t=e._R(1);return[r,t,"e"]}function Ad(e,r,t){if(t==null)t=tt(8);zt(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Cd(e){var r=Bt(e);var t=e._R(4);return[r,t,"s"]}function Rd(e,r,t){if(t==null)t=tt(12);Wt(r,t);t._W(4,r.v);return t}function Od(e){var r=Ht(e);var t=e._R(4);return[r,t,"s"]}function Id(e,r,t){if(t==null)t=tt(8);zt(r,t);t._W(4,r.v);return t}function Nd(e){var r=Bt(e);var t=ta(e);return[r,t,"n"]}function Fd(e,r,t){if(t==null)t=tt(16);Wt(r,t);aa(e.v,t);return t}function Dd(e){var r=Ht(e);var t=ta(e);return[r,t,"n"]}function Pd(e,r,t){if(t==null)t=tt(12);zt(r,t);aa(e.v,t);return t}function Ld(e){var r=Bt(e);var t=Jt(e);return[r,t,"n"]}function Md(e,r,t){if(t==null)t=tt(12);Wt(r,t);qt(e.v,t);return t}function Ud(e){var r=Ht(e);var t=Jt(e);return[r,t,"n"]}function Bd(e,r,t){if(t==null)t=tt(8);zt(r,t);qt(e.v,t);return t}function Wd(e){var r=Bt(e);var t=Pt(e);return[r,t,"is"]}function Hd(e){var r=Bt(e);var t=It(e);return[r,t,"str"]}function zd(e,r,t){if(t==null)t=tt(12+4*e.v.length);Wt(r,t);Nt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Vd(e){var r=Ht(e);var t=It(e);return[r,t,"str"]}function Gd(e,r,t){if(t==null)t=tt(8+4*e.v.length);zt(r,t);Nt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function jd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=oh(e,a-e.l,t);s[3]=Qu(f,null,n,t.supbooks,t)}else e.l=a;return s}function Xd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=oh(e,a-e.l,t);s[3]=Qu(f,null,n,t.supbooks,t)}else e.l=a;return s}function $d(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=ta(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=oh(e,a-e.l,t);s[3]=Qu(f,null,n,t.supbooks,t)}else e.l=a;return s}function Yd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=It(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=oh(e,a-e.l,t);s[3]=Qu(f,null,n,t.supbooks,t)}else e.l=a;return s}var Kd=ea;var Jd=ra;function qd(e,r){if(r==null)r=tt(4);r._W(4,e);return r}function Zd(e,r){var t=e.l+r;var a=ea(e,16);var n=jt(e);var i=It(e);var s=It(e);var f=It(e);e.l=t;var c={rfx:a,relId:n,loc:i,display:f};if(s)c.Tooltip=s;return c}function Qd(e,r){var t=tt(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));ra({s:wt(e[0]),e:wt(e[0])},t);Kt("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);Nt(n||"",t);Nt(e[1].Tooltip||"",t);Nt("",t);return t.slice(0,t.l)}function ev(){}function rv(e,r,t){var a=e.l+r;var n=Zt(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=lh(e,a-e.l,t);s[1]=f}else e.l=a;return s}function tv(e,r,t){var a=e.l+r;var n=ea(e,16);var i=[n];if(t.cellFormula){var s=hh(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function av(e,r,t){if(t==null)t=tt(18);var a=yh(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var nv=["left","right","top","bottom","header","footer"];function iv(e){var r={};nv.forEach(function(t){r[t]=ta(e,8)});return r}function sv(e,r){if(r==null)r=tt(6*8); +_h(e);nv.forEach(function(t){aa(e[t],r)});return r}function fv(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function cv(e,r,t){if(t==null)t=tt(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function lv(e){var r=tt(24);r._W(4,4);r._W(4,1);ra(e,r);return r}function ov(e,r){if(r==null)r=tt(16*4+2);r._W(2,e.password?Qf(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function uv(){}function hv(){}function dv(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(m!=null&&f.dense==null)f.dense=m;var c=f.dense?[]:{};var l;var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var u=[];var h=false,d=false;var v,p,b,g,w,k,T,E,S;var y=[];f.biff=12;f["!row"]=0;var _=0,x=false;var A=[];var C={};var R=f.supbooks||n.supbooks||[[]];R.sharedf=C;R.arrayf=A;R.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=R;if(n.Names)for(var O=0;O=O[0].s.r&&v.r<=O[0].e.r)if(w>=O[0].s.c&&w<=O[0].e.c){p.F=Et(O[0]);x=true}}if(!x&&e.length>3)p.f=e[3]}if(o.s.r>v.r)o.s.r=v.r;if(o.s.c>w)o.s.c=w;if(o.e.rv.r)o.s.r=v.r;if(o.s.c>w)o.s.c=w;if(o.e.r=e.s){I[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!F){F=true;kc(e.w/256)}Tc(I[e.e+1])}break;case 161:c["!autofilter"]={ref:Et(e)};break;case 476:c["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)c["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:h=true;break;case 36:h=false;break;case 37:u.push(m);h=true;break;case 38:u.pop();h=false;break;default:if(r.T){}else if(!h||f.WTF)throw new Error("Unexpected record 0x"+m.toString(16));}},f);delete f.supbooks;delete f["!row"];if(!c["!ref"]&&(o.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0)))c["!ref"]=Et(l||o);if(f.sheetRows&&c["!ref"]){var M=St(c["!ref"]);if(f.sheetRows<=+M.e.r){M.e.r=f.sheetRows-1;if(M.e.r>o.e.r)M.e.r=o.e.r;if(M.e.ro.e.c)M.e.c=o.e.c;if(M.e.c0)c["!merges"]=y;if(I.length>0)c["!cols"]=I;if(N.length>0)c["!rows"]=N;return c}function vv(e,r,t,a,n,i,s){if(r.v===undefined)return false;var f="";switch(r.t){case"b":f=r.v?"1":"0";break;case"d":r=oe(r);r.z=r.z||D._table[14];r.v=ee(ce(r.v));r.t="n";break;case"n":;case"e":f=""+r.v;break;default:f=r.v;break;}var c={r:t,c:a};c.s=xh(n.cellXfs,r,n);if(r.l)i["!links"].push([kt(c),r.l]);if(r.c)i["!comments"].push([kt(c),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){f=Sh(n.Strings,r.v,n.revStrings);c.t="s";c.v=f;if(s)it(e,18,Id(r,c));else it(e,7,Rd(r,c))}else{c.t="str";if(s)it(e,17,Gd(r,c));else it(e,6,zd(r,c))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)it(e,13,Bd(r,c));else it(e,2,Md(r,c))}else{if(s)it(e,16,Pd(r,c));else it(e,5,Fd(r,c))}return true;case"b":c.t="b";if(s)it(e,15,Sd(r,c));else it(e,4,Td(r,c));return true;case"e":c.t="e";if(s)it(e,14,Ad(r,c));else it(e,3,_d(r,c));return true;}if(s)it(e,12,wd(r,c));else it(e,1,bd(r,c));return true}function pv(e,r,t,a){var n=St(r["!ref"]||"A1"),i,s="",f=[];it(e,145);var c=Array.isArray(r);var l=n.e.r;if(r["!rows"])l=Math.max(n.e.r,r["!rows"].length-1);for(var o=n.s.r;o<=l;++o){s=ut(o);od(e,r,n,o);var u=false;if(o<=n.e.r)for(var h=n.s.c;h<=n.e.c;++h){if(o===n.s.r)f[h]=pt(h);i=f[h]+s;var d=c?(r[o]||[])[h]:r[i];if(!d){u=false;continue}u=vv(e,d,o,h,a,r,u)}}it(e,146)}function mv(e,r){if(!r||!r["!merges"])return;it(e,177,qd(r["!merges"].length));r["!merges"].forEach(function(r){it(e,176,Jd(r))});it(e,178)}function bv(e,r){if(!r||!r["!cols"])return;it(e,390);r["!cols"].forEach(function(r,t){if(r)it(e,60,av(t,r))});it(e,391)}function gv(e,r){if(!r||!r["!ref"])return;it(e,648);it(e,649,lv(St(r["!ref"])));it(e,650)}function wv(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ja(t,-1,r[1].Target.replace(/#.*$/,""),Ba.HLINK);it(e,494,Qd(r,a))});delete r["!links"]}function kv(e,r,t,a){if(r["!comments"].length>0){var n=ja(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",Ba.VML);it(e,551,Kt("rId"+n));r["!legacy"]=n}}function Tv(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Et(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Tt(i);if(f.s.r==f.e.r){f.e.r=Tt(r["!ref"]).e.r;i=Et(f)}for(var c=0;c16383||l.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");l.e.c=Math.min(l.e.c,16383);l.e.r=Math.min(l.e.c,1048575)}s["!links"]=[];s["!comments"]=[];it(n,129);if(t.vbaraw||s["!outline"])it(n,147,pd(f,s["!outline"]));it(n,148,hd(l));Ev(n,s,t.Workbook);Sv(n,s);bv(n,s,e,r,t);pv(n,s,e,r,t);yv(n,s);Tv(n,s,t,e);mv(n,s);wv(n,s,a);if(s["!margins"])it(n,476,sv(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)gv(n,s);kv(n,s,e,a);it(n,130);return n.end()}function xv(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Be((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function Av(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,c=0,l="A";var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=xv(e);o.s.r=o.s.c=0;o.e.c=f;l=pt(f);r[0].forEach(function(e,t){s[l+ut(t)]={t:"n",v:e,z:r[1]};c=t});if(o.e.r0)s["!ref"]=Et(o);return s}function Cv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(Mh);if(f)zh(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Rv(e,r,t,a){var n=[Oe,or("chartsheet",null,{xmlns:mr[0],"xmlns:r":pr.r})];n[n.length]=or("drawing",null,{"r:id":"rId1"});ja(a,-1,"../drawings/drawing"+(e+1)+".xml",Ba.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Ov(e,r){e.l+=10;var t=It(e,r-10);return{name:t}}function Iv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;at(e,function c(e,a,l){switch(l){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(l);break;case 38:s.pop();break;default:if(a.T>0)s.push(l);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Nv(){var e=nt();it(e,129);it(e,130);return e.end()}var Fv=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var Dv=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var Pv=[];var Lv=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Mv(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Ke(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Uv(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Ke(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Bv(e){Uv(e.WBProps,Fv);Uv(e.CalcPr,Lv);Mv(e.WBView,Dv);Mv(e.Sheets,Pv);Th.date1904=Ke(e.WBProps.date1904)}function Wv(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Ke(e.Workbook.WBProps.date1904)?"true":"false"}var Hv="][*?/\\".split("");function zv(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;Hv.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function Vv(e,r,t){e.forEach(function(a,n){zv(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Gv(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];Vv(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Fv.forEach(function(e){if(o[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Ke(o[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(o[e[0]],10);break;default:t.WBProps[e[0]]=o[e[0]];}});if(o.codeName)t.WBProps.CodeName=Je(o.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete o[0];t.WBView.push(o);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Be(Je(e.slice(s,l)));t.Names.push(i)}break;case"":break;case"":delete o[0];t.CalcPr=o;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Fv.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=or("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:ze(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=or("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=or("definedName",ze(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Yv(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Yt(e,r-8);t.name=It(e);return t}function Kv(e,r){if(!r)r=tt(127);r._W(4,e.Hidden);r._W(4,e.iTabID);Kt(e.strRelID,r);Nt(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function Jv(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?It(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function qv(e,r){if(!r)r=tt(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);Gt(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Zv(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Qv(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=$t(e);var s=uh(e,0,t);var f=jt(e);e.l=a;var c={Name:i,Ptg:s};if(n<268435455)c.Sheet=n;if(f)c.Comment=f;return c}function ep(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];fm[16]={n:"BrtFRTArchID$",f:Zv};at(e,function f(e,c,l){switch(l){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=Qu(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[l,e];else s.push([l,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a.push(l);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(l);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(c.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+l.toString(16));}},r);Bv(t);t.Names=i;t.supbooks=s;return t}function rp(e,r){it(e,143);for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};it(e,156,Kv(n))}it(e,144)}function tp(r,t){if(!t)t=tt(127);for(var a=0;a!=4;++a)t._W(4,0);Nt("SheetJS",t);Nt(e.version,t);Nt(e.version,t);Nt("7262",t);return t.length>t.l?t.slice(0,t.l):t}function ap(e,r){if(!r)r=tt(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function np(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;it(e,135);it(e,158,ap(n));it(e,136)}function ip(e,r){var t=nt();it(t,131);it(t,128,tp());it(t,153,qv(e.Workbook&&e.Workbook.WBProps||null));np(t,e,r);rp(t,e,r);it(t,132);return t.end()}function sp(e,r,t){if(r.slice(-4)===".bin")return ep(e,t);return Xv(e,t)}function fp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return dv(e,a,t,n,i,s,f);return Wh(e,a,t,n,i,s,f)}function cp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Iv(e,a,t,n,i,s,f);return Cv(e,a,t,n,i,s,f)}function lp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return po(e,a,t,n,i,s,f);return mo(e,a,t,n,i,s,f)}function op(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return ho(e,a,t,n,i,s,f);return vo(e,a,t,n,i,s,f)}function up(e,r,t,a){if(r.slice(-4)===".bin")return Qc(e,t,a);return Lc(e,t,a)}function hp(e,r,t){return kl(e,t)}function dp(e,r,t){if(r.slice(-4)===".bin")return Ff(e,t);return Rf(e,t)}function vp(e,r,t){if(r.slice(-4)===".bin")return so(e,t);return Jl(e,t)}function pp(e,r,t){if(r.slice(-4)===".bin")return Vl(e,r,t);return Hl(e,r,t)}function mp(e,r,t,a){if(t.slice(-4)===".bin")return jl(e,r,t,a);return Gl(e,r,t,a)}function bp(e,r,t){if(r.slice(-4)===".bin")return Ml(e,r,t);return Bl(e,r,t)}function gp(e,r,t){return(r.slice(-4)===".bin"?ip:$v)(e,t)}function wp(e,r,t,a,n){return(r.slice(-4)===".bin"?_v:fd)(e,t,a,n)}function kp(e,r,t,a,n){return(r.slice(-4)===".bin"?Nv:Rv)(e,t,a,n)}function Tp(e,r,t){return(r.slice(-4)===".bin"?ol:Mc)(e,t)}function Ep(e,r,t){return(r.slice(-4)===".bin"?Lf:If)(e,t)}function Sp(e,r,t){return(r.slice(-4)===".bin"?fo:ql)(e,t)}function yp(e){return(e.slice(-4)===".bin"?Ul:Wl)()}var _p=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var xp=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function Ap(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(_p),i,s,f,c;if(n)for(c=0;c!=n.length;++c){i=n[c].match(xp);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")f="xmlns"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function Cp(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(_p),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(xp);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}function Rp(e,r){var t=L[e]||Be(e);if(t==="General")return D._general(r);return D.format(t,r)}function Op(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Ke(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=ce(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[Be(r)]=n}function Ip(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Ia[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else e.w=D._general(e.v)}else e.w=Rp(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=L[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&D.is_date(n)){var i=D.parse_date_code(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function Np(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=xc[a.Pattern]||a.Pattern}}e[r.ID]=r}function Fp(e,r,t,a,n,i,s,f,c,l){var o="General",u=a.StyleID,h={};l=l||{};var d=[];var v=0;if(u===undefined&&f)u=f.StyleID;if(u===undefined&&s)u=s.StyleID;while(i[u]!==undefined){if(i[u].nf)o=i[u].nf;if(i[u].Interior)d.push(i[u].Interior);if(!i[u].Parent)break;u=i[u].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=Ke(e);break;case"String":a.t="s";a.r=$e(Be(e));a.v=e.indexOf("<")>-1?Be(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(ce(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=Be(e);else if(a.v<60)a.v=a.v-1;if(!o||o=="General")o="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=Na[e];if(l.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=$e(r||e)}break;}Ip(a,o,l);if(l.cellFormula!==false){if(a.Formula){var p=Be(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=bo(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=bo("RC:RC",n);else if(a.ArrayRange){a.F=bo(a.ArrayRange,n);c.push([St(a.F),a.F])}}else{for(v=0;v=c[v][0].s.r&&n.r<=c[v][0].e.r)if(n.c>=c[v][0].s.c&&n.c<=c[v][0].e.c)a.F=c[v][1]}}if(l.cellStyles){d.forEach(function(e){if(!h.patternType&&e.patternType)h.patternType=e.patternType});a.s=h}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Dp(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Pp(e,r){var t=r||{};P(D);var n=d(dr(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,o(n));else n=Je(n)}var i=n.slice(0,1024).toLowerCase(),s=false;i=i.replace(/".*?"/g,"");if((i.indexOf(">")&1023)>Math.min(i.indexOf(",")&1023,i.indexOf(";")&1023)){var f=oe(t);f.type="string";return mf.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return Cm.to_workbook(n,t);var c;var l=[],u;if(m!=null&&t.dense==null)t.dense=m;var h={},v=[],p=t.dense?[]:{},b="";var g={},w={};var k=Ap(''),T=0;var E=0,S=0;var y={s:{r:2e6,c:2e6},e:{r:0,c:0}};var _={},x={};var A="",C=0;var R=[];var O={},I={},N=0,F=[];var M=[],U={};var B=[],W,H=false;var z=[];var V=[],G={},j=0,X=0;var $={Sheets:[],WBProps:{date1904:false}},Y={};vr.lastIndex=0;n=n.replace(//gm,"");var K="";while(c=vr.exec(n))switch(c[3]=(K=c[3]).toLowerCase()){case"data":if(K=="data"){if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"))}else if(c[0].charAt(c[0].length-2)!=="/")l.push([c[3],true]);break}if(l[l.length-1][1])break;if(c[1]==="/")Fp(n.slice(T,c.index),A,k,l[l.length-1][0]=="comment"?U:g,{c:E,r:S},_,B[E],w,z,t);else{A="";k=Ap(c[0]);T=c.index+c[0].length}break;case"cell":if(c[1]==="/"){if(M.length>0)g.c=M;if((!t.sheetRows||t.sheetRows>S)&&g.v!==undefined){if(t.dense){if(!p[S])p[S]=[];p[S][E]=g}else p[pt(E)+ut(S)]=g}if(g.HRef){g.l={Target:Be(g.HRef)};if(g.HRefScreenTip)g.l.Tooltip=g.HRefScreenTip;delete g.HRef;delete g.HRefScreenTip}if(g.MergeAcross||g.MergeDown){j=E+(parseInt(g.MergeAcross,10)|0);X=S+(parseInt(g.MergeDown,10)|0);R.push({s:{c:E,r:S},e:{c:j,r:X}})}if(!t.sheetStubs){if(g.MergeAcross)E=j+1;else++E}else if(g.MergeAcross||g.MergeDown){for(var J=E;J<=j;++J){for(var q=S;q<=X;++q){if(J>E||q>S){if(t.dense){if(!p[q])p[q]=[];p[q][J]={t:"z"}}else p[pt(J)+ut(q)]={t:"z"}}}}E=j+1}else++E}else{g=Cp(c[0]);if(g.Index)E=+g.Index-1;if(Ey.e.c)y.e.c=E;if(c[0].slice(-2)==="/>")++E;M=[]}break;case"row":if(c[1]==="/"||c[0].slice(-2)==="/>"){if(Sy.e.r)y.e.r=S;if(c[0].slice(-2)==="/>"){w=Ap(c[0]);if(w.Index)S=+w.Index-1}E=0;++S}else{w=Ap(c[0]);if(w.Index)S=+w.Index-1;G={};if(w.AutoFitHeight=="0"||w.Height){G.hpx=parseInt(w.Height,10);G.hpt=yc(G.hpx);V[S]=G}if(w.Hidden=="1"){G.hidden=true;V[S]=G}}break;case"worksheet":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"));v.push(b);if(y.s.r<=y.e.r&&y.s.c<=y.e.c){p["!ref"]=Et(y);if(t.sheetRows&&t.sheetRows<=y.e.r){p["!fullref"]=p["!ref"];y.e.r=t.sheetRows-1;p["!ref"]=Et(y)}}if(R.length)p["!merges"]=R;if(B.length>0)p["!cols"]=B;if(V.length>0)p["!rows"]=V;h[b]=p}else{y={s:{r:2e6,c:2e6},e:{r:0,c:0}};S=E=0;l.push([c[3],false]);u=Ap(c[0]);b=Be(u.Name);p=t.dense?[]:{};R=[];z=[];V=[];Y={name:b,Hidden:0};$.Sheets.push(Y)}break;case"table":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"))}else if(c[0].slice(-2)=="/>")break;else{l.push([c[3],false]);B=[];H=false}break;case"style":if(c[1]==="/")Np(_,x,t);else x=Ap(c[0]);break;case"numberformat":x.nf=Be(Ap(c[0]).Format||"General");if(L[x.nf])x.nf=L[x.nf];for(var Z=0;Z!=392;++Z)if(D._table[Z]==x.nf)break;if(Z==392)for(Z=57;Z!=392;++Z)if(D._table[Z]==null){D.load(x.nf,Z);break}break;case"column":if(l[l.length-1][0]!=="table")break;W=Ap(c[0]);if(W.Hidden){W.hidden=true;delete W.Hidden}if(W.Width)W.wpx=parseInt(W.Width,10);if(!H&&W.wpx>10){H=true;pc=hc;for(var Q=0;Q0)te.Sheet=$.Sheets.length-1;$.Names.push(te);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(c[0].slice(-2)==="/>")break;else if(c[1]==="/")A+=n.slice(C,c.index);else C=c.index+c[0].length;break;case"interior":if(!t.cellStyles)break;x.Interior=Ap(c[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(c[0].slice(-2)==="/>")break;else if(c[1]==="/")pn(O,K,n.slice(N,c.index));else N=c.index+c[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"))}else l.push([c[3],false]);break;case"comment":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"));Dp(U);M.push(U)}else{l.push([c[3],false]);u=Ap(c[0]);U={a:u.Author}}break;case"autofilter":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"))}else if(c[0].charAt(c[0].length-2)!=="/"){var ae=Ap(c[0]);p["!autofilter"]={ref:bo(ae.Range).replace(/\$/g,"") +};l.push([c[3],true])}break;case"name":break;case"datavalidation":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"))}else{if(c[0].charAt(c[0].length-2)!=="/")l.push([c[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(c[1]==="/"){if((u=l.pop())[0]!==c[3])throw new Error("Bad state: "+u.join("|"))}else if(c[0].charAt(c[0].length-2)!=="/")l.push([c[3],true]);break;case"null":break;default:if(l.length==0&&c[3]=="document")return Um(n,t);if(l.length==0&&c[3]=="uof")return Um(n,t);var ne=true;switch(l[l.length-1][0]){case"officedocumentsettings":switch(c[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:ne=false;}break;case"componentoptions":switch(c[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:ne=false;}break;case"excelworkbook":switch(c[3]){case"date1904":$.WBProps.date1904=true;break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex":break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:ne=false;}break;case"workbookoptions":switch(c[3]){case"owcversion":break;case"height":break;case"width":break;default:ne=false;}break;case"worksheetoptions":switch(c[3]){case"visible":if(c[0].slice(-2)==="/>"){}else if(c[1]==="/")switch(n.slice(N,c.index)){case"SheetHidden":Y.Hidden=1;break;case"SheetVeryHidden":Y.Hidden=2;break;}else N=c.index+c[0].length;break;case"header":if(!p["!margins"])_h(p["!margins"]={},"xlml");if(!isNaN(+Pe(c[0]).Margin))p["!margins"].header=+Pe(c[0]).Margin;break;case"footer":if(!p["!margins"])_h(p["!margins"]={},"xlml");if(!isNaN(+Pe(c[0]).Margin))p["!margins"].footer=+Pe(c[0]).Margin;break;case"pagemargins":var ie=Pe(c[0]);if(!p["!margins"])_h(p["!margins"]={},"xlml");if(!isNaN(+ie.Top))p["!margins"].top=+ie.Top;if(!isNaN(+ie.Left))p["!margins"].left=+ie.Left;if(!isNaN(+ie.Right))p["!margins"].right=+ie.Right;if(!isNaN(+ie.Bottom))p["!margins"].bottom=+ie.Bottom;break;case"displayrighttoleft":if(!$.Views)$.Views=[];if(!$.Views[0])$.Views[0]={};$.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:ne=false;}break;case"pivottable":;case"pivotcache":switch(c[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:ne=false;}break;case"pagebreaks":switch(c[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:ne=false;}break;case"autofilter":switch(c[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:ne=false;}break;case"querytable":switch(c[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:ne=false;}break;case"datavalidation":switch(c[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:ne=false;}break;case"sorting":;case"conditionalformatting":switch(c[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:ne=false;}break;case"mapinfo":;case"schema":;case"data":switch(c[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:ne=false;}break;case"smarttags":break;default:ne=false;break;}if(ne)break;if(c[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+c[3]+"|"+l.join("|");if(l[l.length-1][0]==="customdocumentproperties"){if(c[0].slice(-2)==="/>")break;else if(c[1]==="/")Op(I,K,F,n.slice(N,c.index));else{F=c;N=c.index+c[0].length}break}if(t.WTF)throw"Unrecognized tag: "+c[3]+"|"+l.join("|");}var se={};if(!t.bookSheets&&!t.bookProps)se.Sheets=h;se.SheetNames=v;se.Workbook=$;se.SSF=D.get_table();se.Props=O;se.Custprops=I;return se}function Lp(e,r){db(r=r||{});switch(r.type||"base64"){case"base64":return Pp(g.decode(e),r);case"binary":;case"buffer":;case"file":return Pp(e,r);case"array":return Pp(A(e),r);}}function Mp(e,r){var t=[];if(e.Props)t.push(mn(e.Props,r));if(e.Custprops)t.push(bn(e.Props,e.Custprops,r));return t.join("")}function Up(){return""}function Bp(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(or("NumberFormat",null,{"ss:Format":ze(D._table[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(or("Style",a.join(""),n))});return or("Styles",t.join(""))}function Wp(e){return or("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+wo(e.Ref,{r:0,c:0})})}function Hp(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(or("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(or("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(or("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(or("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(cr("ProtectContents","True"));if(e["!protect"].objects)n.push(cr("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(cr("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(cr("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(cr("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return or("WorksheetOptions",n.join(""),{xmlns:br.x})}function Gp(e){return e.map(function(e){var r=Ye(e.t||"");var t=or("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return or("Comment",t,{"ss:Author":e.a})}).join("")}function jp(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+ze(wo(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var c=wt(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(c.r==s.r?"":"["+(c.r-s.r)+"]")+"C"+(c.c==s.c?"":"["+(c.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=ze(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=ze(e.l.Tooltip)}if(t["!merges"]){var l=t["!merges"];for(var o=0;o!=l.length;++o){if(l[o].s.c!=s.c||l[o].s.r!=s.r)continue;if(l[o].e.c>l[o].s.c)f["ss:MergeAcross"]=l[o].e.c-l[o].s.c;if(l[o].e.r>l[o].s.r)f["ss:MergeDown"]=l[o].e.r-l[o].s.r}}var u="",h="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":u="Number";h=String(e.v);break;case"b":u="Boolean";h=e.v?"1":"0";break;case"e":u="Error";h=Ia[e.v];break;case"d":u="DateTime";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||D._table[14];break;case"s":u="String";h=Xe(e.v||"");break;}var d=xh(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?h:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Gp(e.c);return or("Cell",p,f)}function Xp(e,r){var t='"}function $p(e,r,t,a){if(!e["!ref"])return"";var n=St(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){Tc(e);var t=!!e.width;var a=yh(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=mc(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(or("Column",null,n))});var c=Array.isArray(e);for(var l=n.s.r;l<=n.e.r;++l){var o=[Xp(l,(e["!rows"]||[])[l])];for(var u=n.s.c;u<=n.e.c;++u){var h=false;for(s=0;s!=i.length;++s){if(i[s].s.c>u)continue;if(i[s].s.r>l)continue;if(i[s].e.c");if(o.length>2)f.push(o.join(""))}return f.join("")}function Yp(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?zp(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?$p(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Vp(i,r,e,t));return a.join("")}function Kp(e,r){if(!r)r={};if(!e.SSF)e.SSF=D.get_table();if(e.SSF){P(D);D.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];xh(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(Mp(e,r));t.push(Up(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=oa(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var qp=[60,1084,2066,2165,2175];function Zp(e,r,t,a,n){var i=a;var s=[];var f=t.slice(t.l,t.l+i);if(n&&n.enc&&n.enc.insitu&&f.length>0)switch(e){case 9:;case 521:;case 1033:;case 2057:;case 47:;case 405:;case 225:;case 406:;case 312:;case 404:;case 10:break;case 133:break;default:n.enc.insitu(f);}s.push(f);t.l+=i;var c=Vr(t,t.l),l=cm[c];var o=0;while(l!=null&&qp.indexOf(c)>-1){i=Vr(t,t.l+2);o=t.l+4;if(c==2066)o+=4;else if(c==2165||c==2175){o+=12}f=t.slice(o,t.l+4+i);s.push(f);t.l+=4+i;l=cm[c=Vr(t,t.l)]}var u=I(s);et(u,0);var h=0;u.lens=[];for(var d=0;d1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)C(e,r,t);delete r.ixfe;delete r.XF;h=e;d=kt(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==$)throw new Error("rt mismatch: "+q+"!="+$);if(J.r==12){e.l+=10;K-=10}}var Z={};if($===10)Z=J.f(e,K,O);else Z=Zp($,J,e,K,O);if(W==0&&[9,521,1033,2057].indexOf(B)===-1)continue;switch($){case 34:t.opts.Date1904=_.WBProps.date1904=Z;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!O.enc)e.l=0;O.enc=Z;if(!r.password)throw new Error("File is password-protected");if(Z.valid==null)throw new Error("Encryption scheme unsupported");if(!Z.valid)throw new Error("Password is incorrect");break;case 92:O.lastuser=Z;break;case 66:var Q=Number(Z);switch(Q){case 21010:Q=1200;break;case 32768:Q=1e4;break;case 32769:Q=1252;break;}c(O.codepage=Q);j=true;break;case 317:O.rrtabid=Z;break;case 25:O.winlocked=Z;break;case 439:t.opts["RefreshAll"]=Z;break;case 12:t.opts["CalcCount"]=Z;break;case 16:t.opts["CalcDelta"]=Z;break;case 17:t.opts["CalcIter"]=Z;break;case 13:t.opts["CalcMode"]=Z;break;case 14:t.opts["CalcPrecision"]=Z;break;case 95:t.opts["CalcSaveRecalc"]=Z;break;case 15:O.CalcRefMode=Z;break;case 2211:t.opts.FullCalc=Z;break;case 129:if(Z.fDialog)n["!type"]="dialog";if(!Z.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!Z.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 224:S.push(Z);break;case 430:U.push([Z]);U[U.length-1].XTI=[];break;case 35:;case 547:U[U.length-1].push(Z);break;case 24:;case 536:G={Name:Z.Name,Ref:Qu(Z.rgce,s,null,U,O)};if(Z.itab>0)G.Sheet=Z.itab-1;U.names.push(G);if(!U[0]){U[0]=[];U[0].XTI=[]}U[U.length-1].push(Z);if(Z.Name=="_xlnm._FilterDatabase"&&Z.itab>0)if(Z.rgce&&Z.rgce[0]&&Z.rgce[0][0]&&Z.rgce[0][0][0]=="PtgArea3d")V[Z.itab-1]={ref:Et(Z.rgce[0][0][1][2])};break;case 22:O.ExternCount=Z;break;case 23:if(U.length==0){U[0]=[];U[0].XTI=[]}U[U.length-1].XTI=U[U.length-1].XTI.concat(Z);U.XTI=U.XTI.concat(Z);break;case 2196:if(O.biff<8)break;if(G!=null)G.Comment=Z[1];break;case 18:n["!protect"]=Z;break;case 19:if(Z!==0&&O.WTF)console.error("Password verifier: "+Z);break;case 133:{i[Z.pos]=Z;O.snames.push(Z.name)}break;case 10:{if(--W)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Et(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var ee=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=Et(s);s.e.r=ee}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(F.length>0)n["!objects"]=F;if(P.length>0)n["!cols"]=P;if(L.length>0)n["!rows"]=L;_.Sheets.push(x)}if(o==="")u=n;else a[o]=n;n=r.dense?[]:{}}break;case 9:;case 521:;case 1033:;case 2057:{if(O.biff===8)O.biff={9:2,521:3,1033:4}[$]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[Z.BIFFVer]||8;O.biffguess=Z.BIFFVer==0;if(Z.BIFFVer==0&&Z.dt==4096){O.biff=5;j=true;c(O.codepage=28591)}if(O.biff==8&&Z.BIFFVer==0&&Z.dt==16)O.biff=2;if(W++)break;n=r.dense?[]:{};if(O.biff<8&&!j){j=true;c(O.codepage=r.codepage||1252)}if(O.biff<5||Z.BIFFVer==0&&Z.dt==4096){if(o==="")o="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var re={pos:e.l-K,name:o};i[re.pos]=re;O.snames.push(o)}else o=(i[X]||{name:""}).name;if(Z.dt==32)n["!type"]="chart";if(Z.dt==64)n["!type"]="macro";N=[];F=[];O.arrayf=k=[];P=[];L=[];M=false;x={Hidden:(i[X]||{hs:0}).hs,name:o}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n[Z.r]||[])[Z.c]:n[kt({c:Z.c,r:Z.r})])++Z.c;T={ixfe:Z.ixfe,XF:S[Z.ixfe]||{},v:Z.val,t:"n"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:Z.c,r:Z.r},T,r)}break;case 5:;case 517:{T={ixfe:Z.ixfe,XF:S[Z.ixfe],v:Z.val,t:Z.t};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:Z.c,r:Z.r},T,r)}break;case 638:{T={ixfe:Z.ixfe,XF:S[Z.ixfe],v:Z.rknum,t:"n"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:Z.c,r:Z.r},T,r)}break;case 189:{for(var te=Z.c;te<=Z.C;++te){var ae=Z.rkrec[te-Z.c][0];T={ixfe:ae,XF:S[ae],v:Z.rkrec[te-Z.c][1],t:"n"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:te,r:Z.r},T,r)}}break;case 6:;case 518:;case 1030:{if(Z.val=="String"){f=Z;break}T=em(Z.val,Z.cell.ixfe,Z.tt);T.XF=S[T.ixfe];if(r.cellFormula){var ne=Z.formula;if(ne&&ne[0]&&ne[0][0]&&ne[0][0][0]=="PtgExp"){var ie=ne[0][0][1][0],se=ne[0][0][1][1];var fe=kt({r:ie,c:se});if(w[fe])T.f=""+Qu(Z.formula,s,Z.cell,U,O);else T.F=((r.dense?(n[ie]||[])[se]:n[fe])||{}).F}else T.f=""+Qu(Z.formula,s,Z.cell,U,O)}if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R(Z.cell,T,r);f=Z}break;case 7:;case 519:{if(f){f.val=Z;T=em(Z,f.cell.ixfe,"s");T.XF=S[T.ixfe];if(r.cellFormula){T.f=""+Qu(f.formula,s,f.cell,U,O)}if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R(f.cell,T,r);f=null}else throw new Error("String record expects Formula")}break;case 33:;case 545:{k.push(Z);var ce=kt(Z[0].s);v=r.dense?(n[Z[0].s.r]||[])[Z[0].s.c]:n[ce];if(r.cellFormula&&v){if(!f)break;if(!ce||!v)break;v.f=""+Qu(Z[1],s,Z[0],U,O);v.F=Et(Z[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[kt(f.cell)]=Z[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[kt(f.cell)];(v||{}).f=""+Qu(Z[0],s,h,U,O)}}break;case 253:T=em(l[Z.isst].t,Z.ixfe,"s");if(l[Z.isst].h)T.h=l[Z.isst].h;T.XF=S[T.ixfe];if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:Z.c,r:Z.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:Z.ixfe,XF:S[Z.ixfe],t:"z"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:Z.c,r:Z.r},T,r)}break;case 190:if(r.sheetStubs){for(var le=Z.c;le<=Z.C;++le){var oe=Z.ixfe[le-Z.c];T={ixfe:oe,XF:S[oe],t:"z"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:le,r:Z.r},T,r)}}break;case 214:;case 516:;case 4:T=em(Z.val,Z.ixfe,"s");T.XF=S[T.ixfe];if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);R({c:Z.c,r:Z.r},T,r);break;case 0:;case 512:{if(W===1)s=Z}break;case 252:{l=Z}break;case 1054:{if(O.biff==4){z[H++]=Z[1];for(var ue=0;ue=163)D.load(Z[1],H+163)}else D.load(Z[1],Z[0])}break;case 30:{z[H++]=Z;for(var he=0;he=163)D.load(Z,H+163)}break;case 229:N=N.concat(Z);break;case 93:F[Z.cmo[0]]=O.lastobj=Z;break;case 438:O.lastobj.TxO=Z;break;case 127:O.lastobj.ImData=Z;break;case 440:{for(g=Z[0].s.r;g<=Z[0].e.r;++g)for(b=Z[0].s.c;b<=Z[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[kt({c:b,r:g})];if(v)v.l=Z[1]}}break;case 2048:{for(g=Z[0].s.r;g<=Z[0].e.r;++g)for(b=Z[0].s.c;b<=Z[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[kt({c:b,r:g})];if(v&&v.l)v.l.Tooltip=Z[1]}}break;case 28:{if(O.biff<=5&&O.biff>=2)break;v=r.dense?(n[Z[0].r]||[])[Z[0].c]:n[kt(Z[0])];var de=F[Z[2]];if(!v){if(r.dense){if(!n[Z[0].r])n[Z[0].r]=[];v=n[Z[0].r][Z[0].c]={t:"z"}}else{v=n[kt(Z[0])]={t:"z"}}s.e.r=Math.max(s.e.r,Z[0].r);s.s.r=Math.min(s.s.r,Z[0].r);s.e.c=Math.max(s.e.c,Z[0].c);s.s.c=Math.min(s.s.c,Z[0].c)}if(!v.c)v.c=[];p={a:Z[1],t:de.TxO.t};v.c.push(p)}break;case 2173:Rl(S[Z.ixfe],Z.ext);break;case 125:{if(!O.cellStyles)break;while(Z.e>=Z.s){P[Z.e--]={width:Z.w/256,level:Z.level||0,hidden:!!(Z.flags&1)};if(!M){M=true;kc(Z.w/256)}Tc(P[Z.e+1])}}break;case 520:{var ve={};if(Z.level!=null){L[Z.r]=ve;ve.level=Z.level}if(Z.hidden){L[Z.r]=ve;ve.hidden=true}if(Z.hpt){L[Z.r]=ve;ve.hpt=Z.hpt;ve.hpx=_c(Z.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])_h(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[$]]=Z;break;case 161:if(!n["!margins"])_h(n["!margins"]={});n["!margins"].header=Z.header;n["!margins"].footer=Z.footer;break;case 574:if(Z.RTL)_.Views[0].RTL=true;break;case 146:y=Z;break;case 2198:I=Z;break;case 140:E=Z;break;case 442:{if(!o)_.WBProps.CodeName=Z||"ThisWorkbook";else x.CodeName=Z||x.name}break;case 85:;case 549:;case 94:;case 431:;case 444:;case 91:;case 255:;case 2147:;case 2214:;case 233:;case 96:;case 218:;case 352:;case 2202:;case 11:;case 523:;case 4188:;case 29:;case 20:;case 21:;case 131:;case 132:;case 77:;case 171:;case 148:;case 215:;case 450:;case 176:;case 177:;case 178:;case 256:;case 180:;case 205:;case 151:;case 135:;case 197:;case 181:;case 241:;case 2050:;case 2152:;case 2151:;case 2161:;case 2162:;case 2168:;case 2167:;case 449:;case 153:;case 4192:;case 4200:;case 4198:;case 49:;case 2172:;case 659:;case 2194:;case 221:;case 99:;case 2169:;case 566:;case 2190:;case 2191:;case 2192:;case 213:;case 227:;case 81:;case 2148:;case 437:;case 82:;case 182:;case 251:;case 247:;case 240:;case 242:;case 245:;case 244:;case 174:;case 80:;case 2156:;case 42:;case 43:;case 51:;case 89:;case 90:;case 160:;case 2146:;case 445:;case 211:;case 2199:;case 2059:;case 239:;case 222:;case 2189:;case 446:;case 434:;case 4177:;case 4099:;case 4109:;case 2166:;case 220:;case 2051:;case 2058:;case 2052:;case 4174:;case 432:;case 433:;case 2170:;case 2171:;case 448:;case 4097:;case 225:;case 193:;case 226:;case 353:;case 156:break;case 61:;case 141:;case 130:;case 128:;case 425:;case 426:;case 427:;case 65:;case 4195:;case 4147:;case 4148:;case 2130:;case 2131:;case 4146:;case 4122:;case 4125:;case 4129:;case 4126:;case 4166:;case 2205:;case 2215:;case 4130:;case 4124:;case 2206:;case 2207:;case 4103:;case 4106:;case 4098:;case 4154:;case 4191:;case 4116:;case 2128:;case 4149:;case 4196:;case 4118:;case 4170:;case 4171:;case 4102:;case 4165:;case 4134:;case 4128:;case 4194:;case 4189:;case 4164:;case 4132:;case 4133:;case 2134:;case 2155:;case 4117:;case 4163:;case 4121:;case 4123:;case 4107:;case 4105:;case 2132:;case 2133:;case 4176:;case 4135:;case 4197:;case 4108:;case 2135:;case 4120:;case 4119:;case 4159:;case 4161:;case 4175:;case 4127:;case 2064:;case 2136:;case 2137:;case 4168:;case 2213:;case 2249:;case 2250:;case 2251:;case 429:;case 2055:;case 2054:;case 2053:;case 155:;case 158:;case 157:;case 2174:;case 2164:;case 144:;case 2197:;case 2212:;case 236:;case 235:;case 237:;case 2049:;case 2240:;case 2204:;case 2150:;case 2187:;case 27:;case 26:;case 64:;case 2203:;case 2188:;case 60:;case 2175:;case 2138:;case 2129:;case 234:;case 4158:;case 4160:;case 4157:;case"Intl":;case"CoordList":;case"SerAuxErrBar":;case 69:;case 31:;case 50:;case 67:;case 579:;case 1091:;case 68:;case 86:;case 8:;case 62:;case 175:;case 4156:;case 2154:;case 441:;case 4193:;case 4199:;case 2067:;case 149:;case 154:;case 194:;case 152:;case 2241:;case 2242:;case 319:;case 1048:;case 191:;case 192:;case 52:;case 2262:break;default:if(r.WTF)throw"Unrecognized Record 0x"+$.toString(16);}}else e.l+=K}t.SheetNames=Y(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&u["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=u}else t.Preamble=u;if(t.Sheets)V.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=l;t.SSF=D.get_table();if(O.enc)t.Encryption=O.enc;if(I)t.Themes=I;t.Metadata={};if(E!==undefined)t.Metadata.Country=E;if(U.names.length>0)_.Names=U.names;t.Workbook=_;return t}var tm={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function am(e,r,t){var a=z.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Un(a,ya,tm.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=z.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var c=Un(f,_a,tm.SI);for(var l in c)if(r[l]==null)r[l]=c[l]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){fn(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function nm(e,r){var t=[],a=[],n=[];var i=0,s;var f=K(ya,"n");var c=K(_a,"n");if(e.Props){s=Y(e.Props);for(i=0;i-1||sn.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;l.push(n[i])}if(a.length)z.utils.cfb_add(r,"/SummaryInformation",Bn(a,tm.SI,c,_a));if(t.length||l.length)z.utils.cfb_add(r,"/DocumentSummaryInformation",Bn(t,tm.DSI,f,ya,l.length?l:null,tm.UDI))}function im(e,r){if(!r)r={};db(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(z.find(e,"/encryption"))throw new Error("File is password-protected");t=z.find(e,"!CompObj");a=z.find(e,"/Workbook")||z.find(e,"/Book")}else{switch(r.type){case"base64":e=_(g.decode(e));break;case"binary":e=_(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}et(e,0);a={content:e}}var n;var i;if(t)Jp(t);if(r.bookProps&&!r.bookSheets)n={};else{ +var f=w?"buffer":"array";if(a&&a.content)n=rm(a.content,r);else if((i=z.find(e,"PerfectOffice_MAIN"))&&i.content)n=gf.to_workbook(i.content,(r.type=f,r));else if((i=z.find(e,"NativeContent_MAIN"))&&i.content)n=gf.to_workbook(i.content,(r.type=f,r));else if((i=z.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&z.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=lo(e)}var c={};if(e.FullPaths)am(e,c,r);n.Props=n.Custprops=c;if(r.bookFiles)n.cfb=e;return n}function sm(e,r){var t=r||{};var a=z.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}z.utils.cfb_add(a,n,Am(e,t));if(t.biff==8&&(e.Props||e.Custprops))nm(e,a);if(t.biff==8&&e.vbaraw)oo(a,z.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var fm={0:{f:cd},1:{f:md},2:{f:Ld},3:{f:yd},4:{f:kd},5:{f:Nd},6:{f:Hd},7:{f:Cd},8:{f:Yd},9:{f:$d},10:{f:jd},11:{f:Xd},12:{f:gd},13:{f:Ud},14:{f:xd},15:{f:Ed},16:{f:Dd},17:{f:Vd},18:{f:Od},19:{f:Pt},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:Qv},40:{},42:{},43:{f:Wc},44:{f:Uc},45:{f:Gc},46:{f:Kc},47:{f:Xc},48:{},49:{f:Rt},50:{},51:{f:Nl},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:$s},62:{f:Wd},63:{f:zl},64:{f:uv},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:rt,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:fv},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:vd},148:{f:ud,p:16},151:{f:ev},152:{},153:{f:Jv},154:{},155:{},156:{f:Yv},157:{},158:{},159:{T:1,f:Nf},160:{T:-1},161:{T:1,f:ea},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Kd},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Ol},336:{T:-1},337:{f:Pl,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Yt},357:{},358:{},359:{},360:{T:1},361:{},362:{f:ys},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:rv},427:{f:tv},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:iv},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:dd},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:Zd},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Yt},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:no},633:{T:1},634:{T:-1},635:{T:1,f:to},636:{T:-1},637:{f:Mt},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:Ov},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:hv},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}};var cm={6:{f:sh},10:{f:Wn},12:{f:jn},13:{f:jn},14:{f:Vn},15:{f:Vn},16:{f:ta},17:{f:Vn},18:{f:Vn},19:{f:jn},20:{f:ws},21:{f:ws},23:{f:ys},24:{f:Ss},25:{f:Vn},26:{},27:{},28:{f:Is},29:{},34:{f:Vn},35:{f:Ts},38:{f:ta},39:{f:ta},40:{f:ta},41:{f:ta},42:{f:Vn},43:{f:Vn},47:{f:ic},49:{f:Ji},51:{f:jn},60:{},61:{f:ji},64:{f:Vn},65:{f:Ki},66:{f:jn},77:{},80:{},81:{},82:{},85:{f:jn},89:{},90:{},91:{},92:{f:Fi},93:{f:Ds},94:{},95:{f:Vn},96:{},97:{},99:{f:Vn},125:{f:$s},128:{f:ds},129:{f:Pi},130:{f:jn},131:{f:Vn},132:{f:Vn},133:{f:Li},134:{},140:{f:zs},141:{f:jn},144:{},146:{f:js},151:{},152:{},153:{},154:{},155:{},156:{f:jn},157:{},158:{},160:{f:Qs},161:{f:Ks},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:cs},190:{f:ls},193:{f:Wn},197:{},198:{},199:{},200:{},201:{},202:{f:Vn},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:jn},220:{},221:{f:Vn},222:{},224:{f:us},225:{f:Ni},226:{f:Wn},227:{},229:{f:Ns},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:Ui},253:{f:Zi},255:{f:Wi},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:$n},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:Vn},353:{f:Wn},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:ks},431:{f:Vn},432:{},433:{},434:{},437:{},438:{f:Ms},439:{f:Vn},440:{f:Us},441:{},442:{f:ei},443:{},444:{f:jn},445:{},446:{},448:{f:Wn},449:{f:Vi,r:2},450:{f:Wn},512:{f:is},513:{f:Zs},515:{f:bs},516:{f:es},517:{f:ps},519:{f:ef},520:{f:Hi},523:{},545:{f:Cs},549:{f:Gi},566:{},574:{f:$i},638:{f:fs},659:{},1048:{},1054:{f:ts},1084:{},1212:{f:As},2048:{f:Ws},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Oi},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Wn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Xs,r:12},2173:{f:Cl,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Vn,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:xs,r:12},2197:{},2198:{f:El,r:12},2199:{},2200:{},2201:{},2202:{f:Rs,r:12},2203:{f:Wn},2204:{},2205:{},2206:{},2207:{},2211:{f:zi},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:jn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:Js},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:Gs},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:is},1:{},2:{f:sf},3:{f:af},4:{f:tf},5:{f:ps},7:{f:cf},8:{},9:{f:Oi},11:{},22:{f:jn},30:{f:ns},31:{},32:{},33:{f:Cs},36:{},37:{f:Gi},50:{f:lf},62:{},52:{},67:{},68:{f:jn},69:{},86:{},126:{},127:{f:rf},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:of},223:{},234:{},354:{},421:{},518:{f:sh},521:{f:Oi},536:{f:Ss},547:{f:Ts},561:{},579:{},1030:{f:sh},1033:{f:Oi},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function lm(e,r,t,a){var n=r;if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Wr(t))e.push(t)}function om(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return lm(e,r,t,n);var i=r;if(isNaN(i))return;var s=t.parts||[],f=0;var c=0,l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}var o=e.next(4);o._W(2,i);o._W(2,l);e.push(t.slice(c,c+l));c+=l;while(c=0&&n<65536)lm(e,2,ff(t,a,n));else lm(e,3,nf(t,a,n));return;case"b":;case"e":lm(e,5,hm(t,a,r.v,r.t));return;case"s":;case"str":lm(e,4,dm(t,a,(r.v||"").slice(0,255)));return;}lm(e,1,um(null,t,a))}function pm(e,r,t,a){var n=Array.isArray(r);var i=St(r["!ref"]||"A1"),s,f="",c=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=Et(i)}for(var l=i.s.r;l<=i.e.r;++l){f=ut(l);for(var o=i.s.c;o<=i.e.c;++o){if(l===i.s.r)c[o]=pt(o);s=c[o]+f;var u=n?(r[l]||[])[o]:r[s];if(!u)continue;vm(e,u,l,o,a)}}}function mm(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=nt();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV16384");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}lm(a,2057,Ii(t,16,r));lm(a,13,Xn(1));lm(a,12,Xn(100));lm(a,15,Gn(true));lm(a,17,Gn(false));lm(a,16,aa(.001));lm(a,95,Gn(true));lm(a,42,Gn(false));lm(a,43,Gn(false));lm(a,130,Xn(1));lm(a,128,vs([0,0]));lm(a,131,Gn(false));lm(a,132,Gn(false));if(l)Em(a,i["!cols"]);lm(a,512,ss(d,r));if(l)i["!links"]=[];for(var p=d.s.r;p<=d.e.r;++p){u=ut(p);for(var m=d.s.c;m<=d.e.c;++m){if(p===d.s.r)h[m]=pt(m);o=h[m]+u;var b=c?(i[p]||[])[m]:i[o];if(!b)continue;Sm(a,b,p,m,r);if(l&&b.l)i["!links"].push([o,b.l])}}var g=f.CodeName||f.name||n;if(l)lm(a,574,Yi((s.Views||[])[0]));if(l&&(i["!merges"]||[]).length)lm(a,229,Fs(i["!merges"]));if(l)Tm(a,i);lm(a,442,ti(g,r));if(l)wm(a,i);lm(a,10);return a.end()}function _m(e,r,t){var a=nt();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,c=t.biff==5;lm(a,2057,Ii(e,5,t));if(t.bookType=="xla")lm(a,135);lm(a,225,f?Xn(1200):null);lm(a,193,Hn(2));if(c)lm(a,191);if(c)lm(a,192);lm(a,226);lm(a,92,Di("SheetJS",t));lm(a,66,Xn(f?1200:1252));if(f)lm(a,353,Xn(0));if(f)lm(a,448);lm(a,317,qs(e.SheetNames.length));if(f&&e.vbaraw)lm(a,211);if(f&&e.vbaraw){var l=s.CodeName||"ThisWorkbook";lm(a,442,ti(l,t))}lm(a,156,Xn(17));lm(a,25,Gn(false));lm(a,18,Gn(false));lm(a,19,Xn(0));if(f)lm(a,431,Gn(false));if(f)lm(a,444,Xn(0));lm(a,61,Xi(t));lm(a,64,Gn(false));lm(a,141,Xn(0));lm(a,34,Gn(Wv(e)=="true"));lm(a,14,Gn(true));if(f)lm(a,439,Gn(false));lm(a,218,Xn(0));bm(a,e,t);gm(a,e.SSF,t);km(a,t);if(f)lm(a,352,Gn(false));var o=a.end();var u=nt();if(f)lm(u,140,Vs());if(f&&t.Strings)om(u,252,Bi(t.Strings,t));lm(u,10);var h=u.end();var d=nt();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return xm(e,r);case 4:;case 3:;case 2:return mm(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}var Cm=function(){function e(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,f=i&&i.index||e.length;var c=me(e.slice(s,f),/(:?]*>)/i,"");var l=-1,o=0,u=0,h=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(f=0;f"))>-1)k=k.slice(T+1);for(var E=0;E")));h=y.colspan?+y.colspan:1;if((u=+y.rowspan)>1||h>1)v.push({s:{r:l,c:o},e:{r:l+(u||1)-1,c:o+h-1}});var _=y.t||y["data-t"]||"";if(!k.length){o+=h;continue}k=tr(k);if(d.s.r>l)d.s.r=l;if(d.e.ro)d.s.c=o;if(d.e.c[\s\S]*?<\/table>/gi);if(!a||a.length==0)throw new Error("Invalid HTML: could not find
");if(a.length==1)return xt(e(a[0],t),t);var n=ig();a.forEach(function(r,a){sg(n,e(r,t),"Sheet"+(a+1))});return n}function t(e,r,t,a){var n=e["!merges"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var f=0,c=0;for(var l=0;lt||n[l].s.c>s)continue;if(n[l].e.r1)d.rowspan=f;if(c>1)d.colspan=c;if(a.editable)h=''+h+"";else if(u){d["data-t"]=u&&u.t||"z";if(u.v!=null)d["data-v"]=u.v;if(u.z!=null)d["data-z"]=u.z;if(u.l&&(u.l.Target||"#").charAt(0)!="#")h=''+h+""}d.id=(a.id||"sjs")+"-"+o;i.push(or("td",h,d))}var v="";return v+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var f=s.header!=null?s.header:n;var c=s.footer!=null?s.footer:i;var l=[f];var o=Tt(e["!ref"]);s.dense=Array.isArray(e);l.push(a(e,o,s));for(var u=o.s.r;u<=o.e.r;++u)l.push(t(e,o,u,s));l.push("
"+c);return l.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function Rm(e,r,t){var a=t||{};if(m!=null)a.dense=m;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?wt(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName("tr");var c=Math.min(a.sheetRows||1e7,f.length);var l={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var o=Tt(e["!ref"]);l.s.r=Math.min(l.s.r,o.s.r);l.s.c=Math.min(l.s.c,o.s.c);l.e.r=Math.max(l.e.r,o.e.r);l.e.c=Math.max(l.e.c,o.e.c);if(n==-1)l.e.r=n=o.e.r+1}var u=[],h=0;var d=e["!rows"]||(e["!rows"]=[]);var v=0,p=0,b=0,g=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)u.push({s:{r:p+n,c:g+i},e:{r:p+n+(w||1)-1,c:g+i+(k||1)-1}});var A={t:"s",v:y};var C=S.getAttribute("data-t")||S.getAttribute("t")||"";if(y!=null){if(y.length==0)A.t=C||"z";else if(a.raw||y.trim().length==0||C=="s"){}else if(y==="TRUE")A={t:"b",v:true};else if(y==="FALSE")A={t:"b",v:false};else if(!isNaN(he(y)))A={t:"n",v:he(y)};else if(!isNaN(ve(y).getDate())){A={t:"d",v:ce(y)};if(!a.cellDates)A={t:"n",v:ee(A.v)};A.z=a.dateNF||D._table[14]}}if(A.z===undefined&&_!=null)A.z=_;var R="",O=S.getElementsByTagName("A");if(O&&O.length)for(var I=0;I=c)e["!fullref"]=Et((l.e.r=f.length-v+p-1+n,l));return e}function Om(e,r){var t=r||{};var a=t.dense?[]:{};return Rm(a,e,r)}function Im(e,r){return xt(Om(e,r),r)}function Nm(e){var r="";var t=Fm(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Fm(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Dm(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Be(r.replace(/<[^>]*>/g,""));return[t]}var Pm={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Lm(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=dr(e);var n=[],i;var s;var f={name:""},c="",l=0;var o;var u;var h={},d=[];var v=t.dense?[]:{};var p,b;var g={value:""};var w="",k=0,T;var E=[];var S=-1,y=-1,_={s:{r:1e6,c:1e7},e:{r:0,c:0}};var x=0;var A={};var C=[],R={},O=0,I=0;var N=[],F=1,D=1;var P=[];var L={Names:[]};var M={};var U=["",""];var B=[],W={};var H="",z=0;var V=false,G=false;var j=0;vr.lastIndex=0;a=a.replace(//gm,"").replace(//gm,"");while(p=vr.exec(a))switch(p[3]=p[3].replace(/_.*$/,"")){case"table":;case"工作表":if(p[1]==="/"){if(_.e.c>=_.s.c&&_.e.r>=_.s.r)v["!ref"]=Et(_);else v["!ref"]="A1:A1";if(t.sheetRows>0&&t.sheetRows<=_.e.r){v["!fullref"]=v["!ref"];_.e.r=t.sheetRows-1;v["!ref"]=Et(_)}if(C.length)v["!merges"]=C;if(N.length)v["!rows"]=N;o.name=o["名称"]||o.name;if(typeof JSON!=="undefined")JSON.stringify(o);d.push(o.name);h[o.name]=v;G=false}else if(p[0].charAt(p[0].length-2)!=="/"){o=Pe(p[0],false);S=y=-1;_.s.r=_.s.c=1e7;_.e.r=_.e.c=0;v=t.dense?[]:{};C=[];N=[];G=true}break;case"table-row-group":if(p[1]==="/")--x;else++x;break;case"table-row":;case"行":if(p[1]==="/"){S+=F;F=1;break}u=Pe(p[0],false);if(u["行号"])S=u["行号"]-1;else if(S==-1)S=0;F=+u["number-rows-repeated"]||1;if(F<10)for(j=0;j0)N[S+j]={level:x};y=-1;break;case"covered-table-cell":if(p[1]!=="/")++y;if(t.sheetStubs){if(t.dense){if(!v[S])v[S]=[];v[S][y]={t:"z"}}else v[kt({r:S,c:y})]={t:"z"}}w="";E=[];break;case"table-cell":;case"数据":if(p[0].charAt(p[0].length-2)==="/"){++y;g=Pe(p[0],false);D=parseInt(g["number-columns-repeated"]||"1",10);b={t:"z",v:null};if(g.formula&&t.cellFormula!=false)b.f=mh(Be(g.formula));if((g["数据类型"]||g["value-type"])=="string"){b.t="s";b.v=Be(g["string-value"]||"");if(t.dense){if(!v[S])v[S]=[];v[S][y]=b}else{v[kt({r:S,c:y})]=b}}y+=D-1}else if(p[1]!=="/"){++y;w="";k=0;E=[];D=1;var X=F?S+F-1:S;if(y>_.e.c)_.e.c=y;if(y<_.s.c)_.s.c=y;if(S<_.s.r)_.s.r=S;if(X>_.e.r)_.e.r=X;g=Pe(p[0],false);B=[];W={};b={t:g["数据类型"]||g["value-type"],v:null};if(t.cellFormula){if(g.formula)g.formula=Be(g.formula);if(g["number-matrix-columns-spanned"]&&g["number-matrix-rows-spanned"]){O=parseInt(g["number-matrix-rows-spanned"],10)||0;I=parseInt(g["number-matrix-columns-spanned"],10)||0;R={s:{r:S,c:y},e:{r:S+O-1,c:y+I-1}};b.F=Et(R);P.push([R,b.F])}if(g.formula)b.f=mh(g.formula);else for(j=0;j=P[j][0].s.r&&S<=P[j][0].e.r)if(y>=P[j][0].s.c&&y<=P[j][0].e.c)b.F=P[j][1]}if(g["number-columns-spanned"]||g["number-rows-spanned"]){O=parseInt(g["number-rows-spanned"],10)||0;I=parseInt(g["number-columns-spanned"],10)||0;R={s:{r:S,c:y},e:{r:S+O-1,c:y+I-1}};C.push(R)}if(g["number-columns-repeated"])D=parseInt(g["number-columns-repeated"],10);switch(b.t){case"boolean":b.t="b";b.v=Ke(g["boolean-value"]);break;case"float":b.t="n";b.v=parseFloat(g.value);break;case"percentage":b.t="n";b.v=parseFloat(g.value);break;case"currency":b.t="n";b.v=parseFloat(g.value);break;case"date":b.t="d";b.v=ce(g["date-value"]);if(!t.cellDates){b.t="n";b.v=ee(b.v)}b.z="m/d/yy";break;case"time":b.t="n";b.v=ie(g["time-value"])/86400;if(t.cellDates){b.t="d";b.v=ne(b.v)}b.z="HH:MM:SS";break;case"number":b.t="n";b.v=parseFloat(g["数据数值"]);break;default:if(b.t==="string"||b.t==="text"||!b.t){b.t="s";if(g["string-value"]!=null){w=Be(g["string-value"]);E=[]}}else throw new Error("Unsupported value type "+b.t);}}else{V=false;if(b.t==="s"){b.v=w||"";if(E.length)b.R=E;V=k==0}if(M.Target)b.l=M;if(B.length>0){b.c=B;B=[]}if(w&&t.cellText!==false)b.w=w;if(V){b.t="z";delete b.v}if(!V||t.sheetStubs){if(!(t.sheetRows&&t.sheetRows<=S)){for(var $=0;$0)v[S+$][y+D]=oe(b)}else{v[kt({r:S+$,c:y})]=b;while(--D>0)v[kt({r:S+$,c:y+D})]=oe(b)}if(_.e.c<=y)_.e.c=y}}}D=parseInt(g["number-columns-repeated"]||"1",10);y+=D-1;D=0;b={};w="";E=[]}M={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],true]);break;case"annotation":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i;W.t=w;if(E.length)W.R=E;W.a=H;B.push(W)}else if(p[0].charAt(p[0].length-2)!=="/"){n.push([p[3],false])}H="";z=0;w="";k=0;E=[];break;case"creator":if(p[1]==="/"){H=a.slice(z,p.index)}else z=p.index+p[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],false]);w="";k=0;E=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(p[1]==="/"){A[f.name]=c;if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/"){c="";f=Pe(p[0],false);n.push([p[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(p[0],false);c+=Pm[p[3]][s.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(p[0],false); +c+=Pm[p[3]][s.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(p[0].slice(-2)==="/>")break;else if(p[1]==="/")switch(n[n.length-1][0]){case"number-style":;case"date-style":;case"time-style":c+=a.slice(l,p.index);break;}else l=p.index+p[0].length;break;case"named-range":s=Pe(p[0],false);U=gh(s["cell-range-address"]);var Y={Name:s.name,Ref:U[0]+"!"+U[1]};if(G)Y.Sheet=d.length;L.Names.push(Y);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(n[n.length-1][0])>-1)break;if(p[1]==="/"&&(!g||!g["string-value"])){var K=Dm(a.slice(k,p.index),T);w=(w.length>0?w+"\n":"")+K[0]}else{T=Pe(p[0],false);k=p.index+p[0].length}break;case"s":break;case"database-range":if(p[1]==="/")break;try{U=gh(Pe(p[0])["target-range-address"]);h[U[0]]["!autofilter"]={ref:U[1]}}catch(J){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(p[1]!=="/"){M=Pe(p[0],false);if(!M.href)break;M.Target=Be(M.href);delete M.href;if(M.Target.charAt(0)=="#"&&M.Target.indexOf(".")>-1){U=gh(M.Target.slice(1));M.Target="#"+U[0]+"!"+U[1]}else if(M.Target.match(/^\.\.[\\\/]/))M.Target=M.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(p[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(t.WTF)throw new Error(p);};}var q={Sheets:h,SheetNames:d,Workbook:L};if(t.bookSheets)delete q.Sheets;return q}function Mm(e,r){r=r||{};if(ke(e,"META-INF/manifest.xml"))$a(Ee(e,"META-INF/manifest.xml"),r);var t=Se(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=Lm(Je(t),r);if(ke(e,"meta.xml"))a.Props=rn(Ee(e,"meta.xml"));return a}function Um(e,r){return Lm(e,r)}var Bm=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Oe+r}}();var Wm=function(){var e=function(e){return ze(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var f=0,c=0,l=Tt(a["!ref"]||"A1");var o=a["!merges"]||[],u=0;var h=Array.isArray(a);if(a["!cols"]){for(c=0;c<=l.e.c;++c)s.push(" \n")}var d="",v=a["!rows"]||[];for(f=0;f\n")}for(;f<=l.e.r;++f){d=v[f]?' table:style-name="ro'+v[f].ods+'"':"";s.push(" \n");for(c=0;cc)continue;if(o[u].s.r>f)continue;if(o[u].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Oe];var i=lr({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=lr({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(Za().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function Hm(e,r){if(r.bookType=="fods")return Wm(e,r);var t=Ae();var a="";var n=[];var i=[];a="mimetype";xe(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";xe(t,a,Wm(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";xe(t,a,Bm(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";xe(t,a,Oe+Za());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";xe(t,a,qa(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";xe(t,a,Ya(n));return t}var zm=function(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)};var Vm=function(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):Je(A(e))};var Gm=function(e){var r=e.reduce(function(e,r){return e+r.length},0);var t=new Uint8Array(r);var a=0;e.forEach(function(e){t.set(e,a);a+=e.length});return t};var jm=function(e){e-=e>>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24};var Xm=function(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)};function $m(e,r){var t=r?r[0]:0;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}if(r)r[0]=t;return a}function Ym(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28}return t}function Km(e){var r=[],t=[0];while(t[0]=128);f=e.slice(c,t[0])}break;case 5:s=4;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 1:s=8;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 2:s=$m(e,t);f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 3:;case 4:;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var l={offset:a,data:f,type:i};if(r[n]==null)r[n]=[l];else r[n].push(l)}return r}function Jm(e,r){if(!e)return[];return e.map(function(e){var t;try{return r(e.data)}catch(a){var n=(t=a.message)==null?void 0:t.match(/at offset (\d+)/);if(n)a.message=a.message.replace(/at offset (\d+)/,"at offset "+(+n[1]+e.offset));throw a}})}function qm(e){var r=[],t=[0];while(t[0]>2;if(s<60)++s;else{var f=s-59;s=r[t[0]];if(f>1)s|=r[t[0]+1]<<8;if(f>2)s|=r[t[0]+2]<<16;if(f>3)s|=r[t[0]+3]<<24;s>>>=0;s++;t[0]+=f}n.push(r.slice(t[0],t[0]+s));t[0]+=s;continue}else{var c=0,l=0;if(i==1){l=(r[t[0]]>>2&7)+4;c=(r[t[0]++]&224)<<3;c|=r[t[0]++]}else{l=(r[t[0]++]>>2)+1;if(i==2){c=r[t[0]]|r[t[0]+1]<<8;t[0]+=2}else{c=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0;t[0]+=4}}n=[Gm(n)];if(c==0)throw new Error("Invalid offset 0");if(c>n[0].length)throw new Error("Invalid offset beyond length");if(l>=c){n.push(n[0].slice(-c));l-=c;while(l>=n[n.length-1].length){n.push(n[n.length-1]);l-=n[n.length-1].length}}n.push(n[0].slice(-c,-c+l))}}var o=Gm(n);if(o.length!=a)throw new Error("Unexpected length: ".concat(o.length," != ").concat(a));return o}function Qm(e){var r=[];var t=0;while(t0};break;case 7:u={t:"n",v:l};break;case 8:u={t:"e",v:0};break;case 9:{if(f>-1)u={t:"s",v:t[f]};else if(c>-1)u={t:"s",v:r[c]};else if(!isNaN(l))u={t:"n",v:l};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)));}return u}function rb(e,r,t){var a=zm(e);var n=e[1];var i=a.getUint32(8,true);var s=12;var f=-1,c=-1,l=NaN,o=NaN,u=new Date(2001,0,1);if(i&1){l=Xm(e,s);s+=16}if(i&2){o=a.getFloat64(s,true);s+=8}if(i&4){u.setTime(u.getTime()+a.getFloat64(s,true)*1e3);s+=8}if(i&8){c=a.getUint32(s,true);s+=4}if(i&16){f=a.getUint32(s,true);s+=4}var h;switch(n){case 0:break;case 2:h={t:"n",v:l};break;case 3:h={t:"s",v:r[c]};break;case 5:h={t:"d",v:u};break;case 6:h={t:"b",v:o>0};break;case 7:h={t:"n",v:o};break;case 8:h={t:"e",v:0};break;case 9:{if(f>-1)h={t:"s",v:t[f]};else throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)))}break;case 10:h={t:"n",v:l};break;default:throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)));}return h}function tb(e,r,t){switch(e[0]){case 3:;case 4:return eb(e,r,t);case 5:return rb(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function ab(e){var r=Km(e);return $m(r[1][0].data)}function nb(e,r){var t=Km(r.data);var a=Ym(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=Km(r.data);var n=Ym(t[1][0].data)>>>0;switch(a){case 1:i[n]=Vm(t[3][0].data);break;case 8:{var s=e[ab(t[9][0].data)][0];var f=Km(s.data);var c=e[ab(f[1][0].data)][0];var l=Ym(c.meta[1][0].data);if(l!=2001)throw new Error("2000 unexpected reference to ".concat(l));var o=Km(c.data);i[n]=o[3].map(function(e){return Vm(e.data)}).join("")}break;}});return i}function ib(e){var r,t,a,n,i,s,f,c,l,o;var u=Km(e);var h=Ym(u[1][0].data)>>>0;var d=(t=(r=u[3])==null?void 0:r[0])==null?void 0:t.data;var v=((n=(a=u[4])==null?void 0:a[0])==null?void 0:n.data)&&zm(u[4][0].data);var p=(s=(i=u[6])==null?void 0:i[0])==null?void 0:s.data;var m=((c=(f=u[7])==null?void 0:f[0])==null?void 0:c.data)&&zm(u[7][0].data);var b=((o=(l=u[8])==null?void 0:l[0])==null?void 0:o.data)&&Ym(u[8][0].data)>0||false;var g=b?4:1;var w=[];var k=0;for(var T=0;T>>0)-1;if(i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=Et(i);{var s=Km(n[4][0].data);var f=nb(e,e[ab(s[4][0].data)][0]);var c=((a=s[17])==null?void 0:a[0])?nb(e,e[ab(s[17][0].data)][0]):[];{var l=Km(s[3][0].data);var o=[];l[1].forEach(function(r){var t=Km(r.data);var a=e[ab(t[2][0].data)][0];var n=Ym(a.meta[1][0].data);if(n!=6002)throw new Error("6001 unexpected reference to ".concat(n));o.push({id:Ym(t[1][0].data),ref:sb(e,a)})});o.forEach(function(e){e.ref.forEach(function(e,r){e.forEach(function(e,a){var n=kt({r:r,c:a});var i=tb(e,f,c);if(i)t[n]=i})})})}}}function cb(e,r){var t=Km(r.data);var a={"!ref":"A1"};var n=e[ab(t[2][0].data)];var i=Ym(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));fb(e,n[0],a);return a}function lb(e,r){var t;var a=Km(r.data);var n={name:((t=a[1])==null?void 0:t[0])?Vm(a[1][0].data):"",sheets:[]};var i=Jm(a[2],ab);i.forEach(function(r){e[r].forEach(function(r){var t=Ym(r.meta[1][0].data);if(t==6e3)n.sheets.push(cb(e,r))})});return n}function ob(e,r){var t=ig();var a=Km(r.data);var n=Jm(a[1],ab);n.forEach(function(r){e[r].forEach(function(r){var a=Ym(r.meta[1][0].data);if(a==2){var n=lb(e,r);n.sheets.forEach(function(e){sg(t,e,n.name)})}})});if(t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}function ub(e){var r=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;var t;try{t=Qm(e.content)}catch(a){return console.log("?? "+e.content.length+" "+(a.message||a))}var n;try{n=qm(t)}catch(a){return console.log("## "+(a.message||a))}n.forEach(function(e){r[+e.id]=e.messages})});if(!r.length)throw new Error("File has no messages");var t;r.forEach(function(e){e.forEach(function(e){var r=Ym(e.meta[1][0].data)>>>0;if(r==1){if(!t)t=e;else throw new Error("Document has multiple roots")}})});if(!t)throw new Error("Cannot find Document root");return ob(r,t)}function hb(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}function db(e){hb([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)}function vb(e){hb([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function pb(e){if(Ba.WS.indexOf(e)>-1)return"sheet";if(Ba.CS&&e==Ba.CS)return"chart";if(Ba.DS&&e==Ba.DS)return"dialog";if(Ba.MS&&e==Ba.MS)return"macro";return e&&e.length?e:"sheet"}function mb(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,pb(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function bb(e,r,t,a,n,i,s,f,c,l,o,u){try{i[a]=Ha(Se(e,t,true),r);var h=Ee(e,r);var d;switch(f){case"sheet":d=fp(h,r,n,c,i[a],l,o,u);break;case"chart":d=cp(h,r,n,c,i[a],l,o,u);if(!d||!d["!drawel"])break;var v=Re(d["!drawel"].Target,r);var p=Wa(v);var m=Xl(Se(e,v,true),Ha(Se(e,p,true),v));var b=Re(m,v);var g=Wa(b);d=Av(Se(e,b,true),b,c,Ha(Se(e,g,true),b),l,d);break;case"macro":d=lp(h,r,n,c,i[a],l,o,u);break;case"dialog":d=op(h,r,n,c,i[a],l,o,u);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[];if(i&&i[a])Y(i[a]).forEach(function(t){var n="";if(i[a][t].Type==Ba.CMNT){n=Re(i[a][t].Target,r);var s=vp(Ee(e,n,true),n,c);if(!s||!s.length)return;Kl(d,s,false)}if(i[a][t].Type==Ba.TCMNT){n=Re(i[a][t].Target,r);w=w.concat(Zl(Ee(e,n,true),c))}});if(w&&w.length)Kl(d,w,true,c.people||[])}catch(k){if(c.WTF)throw k}}function gb(e){return e.charAt(0)=="/"?e.slice(1):e}function wb(e,r){P(D);r=r||{};db(r);if(ke(e,"META-INF/manifest.xml"))return Mm(e,r);if(ke(e,"objectdata.xml"))return Mm(e,r);if(ke(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof ub!="undefined"){if(e.FileIndex)return ub(e);var t=z.utils.cfb_new();_e(e).forEach(function(r){xe(t,r,ye(e,r))});return ub(t)}throw new Error("Unsupported NUMBERS file")}if(!ke(e,"[Content_Types].xml")){if(ke(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(ke(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=_e(e);var n=La(Se(e,"[Content_Types].xml"));var i=false;var s,f;if(n.workbooks.length===0){f="xl/workbook.xml";if(Ee(e,f,true))n.workbooks.push(f)}if(n.workbooks.length===0){f="xl/workbook.bin";if(!Ee(e,f,true))throw new Error("Could not find workbook");n.workbooks.push(f);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var c={};var l={};if(!r.bookSheets&&!r.bookProps){kh=[];if(n.sst)try{kh=dp(Ee(e,gb(n.sst)),n.sst,r)}catch(o){if(r.WTF)throw o}if(r.cellStyles&&n.themes.length)c=hp(Se(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)l=up(Ee(e,gb(n.style)),n.style,c,r)}n.links.map(function(t){try{var a=Ha(Se(e,Wa(gb(t))),t);return mp(Ee(e,gb(t)),a,t,r)}catch(n){}});var u=sp(Ee(e,gb(n.workbooks[0])),n.workbooks[0],r);var h={},d="";if(n.coreprops.length){d=Ee(e,gb(n.coreprops[0]),true);if(d)h=rn(d);if(n.extprops.length!==0){d=Ee(e,gb(n.extprops[0]),true);if(d)cn(d,h,r)}}var v={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=Se(e,gb(n.custprops[0]),true);if(d)v=un(d,r)}}var p={};if(r.bookSheets||r.bookProps){if(u.Sheets)s=u.Sheets.map(function I(e){return e.name});else if(h.Worksheets&&h.SheetNames.length>0)s=h.SheetNames;if(r.bookProps){p.Props=h;p.Custprops=v}if(r.bookSheets&&typeof s!=="undefined")p.SheetNames=s;if(r.bookSheets?p.SheetNames:r.bookProps)return p}s={};var m={};if(r.bookDeps&&n.calcchain)m=pp(Ee(e,gb(n.calcchain)),n.calcchain,r);var b=0;var g={};var w,k;{var T=u.Sheets;h.Worksheets=T.length;h.SheetNames=[];for(var E=0;E!=T.length;++E){h.SheetNames[E]=T[E].name}}var S=i?"bin":"xml";var y=n.workbooks[0].lastIndexOf("/");var _=(n.workbooks[0].slice(0,y+1)+"_rels/"+n.workbooks[0].slice(y+1)+".rels").replace(/^\//,"");if(!ke(e,_))_="xl/_rels/workbook."+S+".rels";var x=Ha(Se(e,_,true),_.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=bp(Ee(e,gb(n.metadata[0])),n.metadata[0],r)}if((n.people||[]).length>=1){r.people=eo(Ee(e,gb(n.people[0])),r)}if(x)x=mb(x,u.Sheets);var A=Ee(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=h.Worksheets;++b){var C="sheet";if(x&&x[b]){w="xl/"+x[b][1].replace(/[\/]?xl\//,"");if(!ke(e,w))w=x[b][1];if(!ke(e,w))w=_.replace(/_rels\/.*$/,"")+x[b][1];C=x[b][2]}else{w="xl/worksheets/sheet"+(b+1-A)+"."+S;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(b!=r.sheets)continue e;break;case"string":if(h.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var R=false;for(var O=0;O!=r.sheets.length;++O){if(typeof r.sheets[O]=="number"&&r.sheets[O]==b)R=1;if(typeof r.sheets[O]=="string"&&r.sheets[O].toLowerCase()==h.SheetNames[b].toLowerCase())R=1}if(!R)continue e};}bb(e,w,k,h.SheetNames[b],b,g,s,C,r,u,c,l)}p={Directory:n,Workbook:u,Props:h,Custprops:v,Deps:m,Sheets:s,SheetNames:h.SheetNames,Strings:kh,Styles:l,Themes:c,SSF:D.get_table()};if(r&&r.bookFiles){if(e.files){p.keys=a;p.files=e.files}else{p.keys=[];p.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");p.keys.push(r);p.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)p.vbaraw=Ee(e,gb(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===co)p.vbaraw=Ee(e,"xl/vbaProject.bin",true)}return p}function kb(e,r){var t=r||{};var a="Workbook",n=z.find(e,a);try{a="/!DataSpaces/Version";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Bf(n.content);a="/!DataSpaces/DataSpaceMap";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=Hf(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=zf(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Gf(n.content)}catch(f){}a="/EncryptionInfo";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var c=$f(n.content);a="/EncryptedPackage";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(c[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(c[1],n.content,t.password||"",t);if(c[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(c[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function Tb(e,r){if(r.bookType=="ods")return Hm(e,r);if(r.bookType=="xlsb")return Eb(e,r);return Sb(e,r)}function Eb(e,r){$l=1024;if(e&&!e.SSF){e.SSF=D.get_table()}if(e&&e.SSF){P(D);D.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Eh)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=uo.indexOf(r.bookType)>-1;var n=Pa();vb(r=r||{});var i=Ae();var s="",f=0;r.cellXfs=[];xh(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";xe(i,s,an(e.Props,r));n.coreprops.push(s);ja(r.rels,2,s,Ba.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var c=[];for(var l=0;l0){s="docProps/custom.xml";xe(i,s,hn(e.Custprops,r));n.custprops.push(s);ja(r.rels,4,s,Ba.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var o={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var h=(u||{})["!type"]||"sheet";switch(h){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;xe(i,s,wp(f-1,s,r,e,o));n.sheets.push(s);ja(r.wbrels,-1,"worksheets/sheet"+f+"."+t,Ba.WS[0]);}if(u){var d=u["!comments"];var v=false;var p="";if(d&&d.length>0){p="xl/comments"+f+"."+t;xe(i,p,Sp(d,p,r));n.comments.push(p);ja(o,-1,"../comments"+f+"."+t,Ba.CMNT);v=true}if(u["!legacy"]){if(v)xe(i,"xl/drawings/vmlDrawing"+f+".vml",Yl(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(o["!id"].rId1)xe(i,Wa(s),Va(o))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;xe(i,s,Ep(r.Strings,s,r));n.strs.push(s);ja(r.wbrels,-1,"sharedStrings."+t,Ba.SST)}s="xl/workbook."+t;xe(i,s,gp(e,s,r));n.workbooks.push(s);ja(r.rels,1,s,Ba.WB);s="xl/theme/theme1.xml";xe(i,s,Tl(e.Themes,r));n.themes.push(s);ja(r.wbrels,-1,"theme/theme1.xml",Ba.THEME);s="xl/styles."+t;xe(i,s,Tp(e,s,r));n.styles.push(s);ja(r.wbrels,-1,"styles."+t,Ba.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";xe(i,s,e.vbaraw);n.vba.push(s);ja(r.wbrels,-1,"vbaProject.bin",Ba.VBA)}s="xl/metadata."+t;xe(i,s,yp(s));n.metadata.push(s);ja(r.wbrels,-1,"metadata."+t,Ba.XLMETA);xe(i,"[Content_Types].xml",Ua(n,r));xe(i,"_rels/.rels",Va(r.rels));xe(i,"xl/_rels/workbook."+t+".rels",Va(r.wbrels));delete r.revssf;delete r.ssf;return i}function Sb(e,r){$l=1024;if(e&&!e.SSF){e.SSF=D.get_table()}if(e&&e.SSF){P(D);D.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Eh)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=uo.indexOf(r.bookType)>-1; +var n=Pa();vb(r=r||{});var i=Ae();var s="",f=0;r.cellXfs=[];xh(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";xe(i,s,an(e.Props,r));n.coreprops.push(s);ja(r.rels,2,s,Ba.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var c=[];for(var l=0;l0){s="docProps/custom.xml";xe(i,s,hn(e.Custprops,r));n.custprops.push(s);ja(r.rels,4,s,Ba.CUST_PROPS)}var o=["SheetJ5"];r.tcid=0;for(f=1;f<=e.SheetNames.length;++f){var u={"!id":{}};var h=e.Sheets[e.SheetNames[f-1]];var d=(h||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;xe(i,s,fd(f-1,r,e,u));n.sheets.push(s);ja(r.wbrels,-1,"worksheets/sheet"+f+"."+t,Ba.WS[0]);}if(h){var v=h["!comments"];var p=false;var m="";if(v&&v.length>0){var b=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)b=true})});if(b){m="xl/threadedComments/threadedComment"+f+"."+t;xe(i,m,Ql(v,o,r));n.threadedcomments.push(m);ja(u,-1,"../threadedComments/threadedComment"+f+"."+t,Ba.TCMNT)}m="xl/comments"+f+"."+t;xe(i,m,ql(v,r));n.comments.push(m);ja(u,-1,"../comments"+f+"."+t,Ba.CMNT);p=true}if(h["!legacy"]){if(p)xe(i,"xl/drawings/vmlDrawing"+f+".vml",Yl(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)xe(i,Wa(s),Va(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;xe(i,s,If(r.Strings,r));n.strs.push(s);ja(r.wbrels,-1,"sharedStrings."+t,Ba.SST)}s="xl/workbook."+t;xe(i,s,$v(e,r));n.workbooks.push(s);ja(r.rels,1,s,Ba.WB);s="xl/theme/theme1.xml";xe(i,s,Tl(e.Themes,r));n.themes.push(s);ja(r.wbrels,-1,"theme/theme1.xml",Ba.THEME);s="xl/styles."+t;xe(i,s,Mc(e,r));n.styles.push(s);ja(r.wbrels,-1,"styles."+t,Ba.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";xe(i,s,e.vbaraw);n.vba.push(s);ja(r.wbrels,-1,"vbaProject.bin",Ba.VBA)}s="xl/metadata."+t;xe(i,s,Wl());n.metadata.push(s);ja(r.wbrels,-1,"metadata."+t,Ba.XLMETA);if(o.length>1){s="xl/persons/person.xml";xe(i,s,ro(o,r));n.people.push(s);ja(r.wbrels,-1,"persons/person.xml",Ba.PEOPLE)}xe(i,"[Content_Types].xml",Ua(n,r));xe(i,"_rels/.rels",Va(r.rels));xe(i,"xl/_rels/workbook."+t+".rels",Va(r.wbrels));delete r.revssf;delete r.ssf;return i}function yb(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=g.decode(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function _b(e,r){if(z.find(e,"EncryptedPackage"))return kb(e,r);return im(e,r)}function xb(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=w&&Buffer.isBuffer(e)?"buffer":"base64";t=Ce(a,n);return wb(t,n)}function Ab(e,r){var t=0;e:while(t=2&&n[3]===0)return gf.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return gf.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return hf.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return sc.to_workbook(a,t);break;case 10:;case 13:;case 32:return Cb(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(uf.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return hf.to_workbook(a,t);return Ib(e,a,t,i)}function Fb(e,r){var t=r||{};t.type="file";return Nb(e,t)}function Db(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return j(r.file,z.write(e,{type:w?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return z.write(e,r)}function Pb(e,r){var t=oe(r||{});var a=Tb(e,t);return Mb(a,t)}function Lb(e,r){var t=oe(r||{});var a=Sb(e,t);return Mb(a,t)}function Mb(e,r){var t={};var a=w?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?z.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(x(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return Db(encrypt_agile(n,r.password),r);if(r.type==="file")return j(r.file,n);return r.type=="string"?Je(n):n}function Ub(e,r){var t=r||{};var a=sm(e,t);return Db(a,t)}function Bb(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return g.encode(qe(a));case"binary":return qe(a);case"string":return e;case"file":return j(r.file,a,"utf8");case"buffer":{if(w)return k(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Bb(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Wb(e,r){switch(r.type){case"base64":return g.encode(e);case"binary":return e;case"string":return e;case"file":return j(r.file,e,"binary");case"buffer":{if(w)return k(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Hb(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=ut(c.s.r);var h=[];var d=[];var v=0,p=0;var m=Array.isArray(e);var b=c.s.r,g=0;var w={};if(m&&!e[b])e[b]=[];var k=l.skipHidden&&e["!cols"]||[];var T=l.skipHidden&&e["!rows"]||[];for(g=c.s.c;g<=c.e.c;++g){if((k[g]||{}).hidden)continue;h[g]=pt(g);t=m?e[b][g]:e[h[g]+u];switch(a){case 1:i[g]=g-c.s.c;break;case 2:i[g]=h[g];break;case 3:i[g]=l.header[g-c.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=_t(t,null,l);p=w[s]||0;if(!p)w[s]=1;else{do{f=s+"_"+p++}while(w[f]);w[s]=p;w[f]=1}i[g]=f;}}for(b=c.s.r+n;b<=c.e.r;++b){if((T[b]||{}).hidden)continue;var E=Yb(e,c,b,h,a,i,m,l);if(E.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[v++]=E.row}d.length=v;return d}var Jb=/"/g;function qb(e,r,t,a,n,i,s,f){var c=true;var l=[],o="",u=ut(t);for(var h=r.s.c;h<=r.e.c;++h){if(!a[h])continue;var d=f.dense?(e[t]||[])[h]:e[a[h]+u];if(d==null)o="";else if(d.v!=null){c=false;o=""+(f.rawNumbers&&d.t=="n"?d.v:_t(d,null,f));for(var v=0,p=0;v!==o.length;++v)if((p=o.charCodeAt(v))===n||p===i||p===34||f.forceQuotes){o='"'+o.replace(Jb,'""')+'"';break}if(o=="ID")o='"ID"'}else if(d.f!=null&&!d.F){c=false;o="="+d.f;if(o.indexOf(",")>=0)o='"'+o.replace(Jb,'""')+'"'}else o="";l.push(o)}if(f.blankrows===false&&c)return null;return l.join(s)}function Zb(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=St(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",c=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var o="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=pt(v);var p=0;for(var m=n.s.r;m<=n.e.r;++m){if((d[m]||{}).hidden)continue;o=qb(e,n,m,u,s,c,i,a);if(o==null){continue}if(a.strip)o=o.replace(l,"");if(o||a.blankrows!==false)t.push((p++?f:"")+o)}delete a.dense;return t.join("")}function Qb(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=Zb(e,r);if(typeof a=="undefined"||r.type=="string")return t;var n=a.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+n}function eg(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=St(e["!ref"]),i="",s=[],f;var c=[];var l=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=pt(f);for(var o=n.s.r;o<=n.e.r;++o){i=ut(o);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e[o]||[])[f]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;c[c.length]=r+"="+a}}return c}function rg(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var c=typeof a.origin=="string"?wt(a.origin):a.origin;s=c.r;f=c.c}}var l;var o={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i["!ref"]){var u=St(i["!ref"]);o.e.c=Math.max(o.e.c,u.e.c);o.e.r=Math.max(o.e.r,u.e.r);if(s==-1){s=u.e.r+1;o.e.r=s+r.length-1+n}}else{if(s==-1){s=0;o.e.r=r.length-1+n}}var h=a.header||[],d=0;r.forEach(function(e,r){Y(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var c=e[t];var o="z";var u="";var v=kt({c:f+d,r:s+r+n});l=ag(i,v);if(c&&typeof c==="object"&&!(c instanceof Date)){i[v]=c}else{if(typeof c=="number")o="n";else if(typeof c=="boolean")o="b";else if(typeof c=="string")o="s";else if(c instanceof Date){o="d";if(!a.cellDates){o="n";c=ee(c)}u=a.dateNF||D._table[14]}else if(c===null&&a.nullError){o="e";c=0}if(!l)i[v]=l={t:o,v:c};else{l.t=o;l.v=c;delete l.w;delete l.R;if(u)l.z=u}if(u)l.z=u}})});o.e.c=Math.max(o.e.c,f+h.length-1);var v=ut(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function ig(){return{SheetNames:[],Sheets:{}}}function sg(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");zv(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r}function fg(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=ng(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function cg(e,r){e.z=r;return e}function lg(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function og(e,r,t){return lg(e,"#"+r,t)}function ug(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function hg(e,r,t,a){var n=typeof r!="string"?r:St(r);var i=typeof r=="string"?r:Et(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var c=ag(e,s,f);c.t="n";c.F=i;delete c.v;if(s==n.s.r&&f==n.s.c){c.f=t;if(a)c.D=true}}return e}var dg={encode_col:pt,encode_row:ut,encode_cell:kt,encode_range:Et,decode_col:vt,decode_row:ot,split_cell:gt,decode_cell:wt,decode_range:Tt,format_cell:_t,sheet_add_aoa:At,sheet_add_json:rg,sheet_add_dom:Rm,aoa_to_sheet:Ct,json_to_sheet:tg,table_to_sheet:Om,table_to_book:Im,sheet_to_csv:Zb,sheet_to_txt:Qb,sheet_to_json:Kb,sheet_to_html:Cm.from_sheet,sheet_to_formulae:eg,sheet_to_row_object_array:Kb,sheet_get_cell:ag,book_new:ig,book_append_sheet:sg,book_set_sheet_visibility:fg,cell_set_number_format:cg,cell_set_hyperlink:lg,cell_set_internal_link:og,cell_add_comment:ug,sheet_set_array_formula:hg,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var vg;function pg(e){vg=e}function mg(e,r){var t=vg();var a=r==null?{}:r;if(e==null||e["!ref"]==null){t.push(null);return t}var n=St(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",c=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var o="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=pt(v);var p=n.s.r;var m=false,b=0;t._read=function(){if(!m){m=true;return t.push("\ufeff")}while(p<=n.e.r){++p;if((d[p-1]||{}).hidden)continue;o=qb(e,n,p-1,u,s,c,i,a);if(o!=null){if(a.strip)o=o.replace(l,"");if(o||a.blankrows!==false)return t.push((b++?f:"")+o)}}return t.push(null)};return t}function bg(e,r){var t=vg();var a=r||{};var n=a.header!=null?a.header:Cm.BEGIN;var i=a.footer!=null?a.footer:Cm.END;t.push(n);var s=Tt(e["!ref"]);a.dense=Array.isArray(e);t.push(Cm._preamble(e,s,a));var f=s.s.r;var c=false;t._read=function(){if(f>s.e.r){if(!c){c=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(Cm._row(e,s,f,a));++f;break}};return t}function gg(e,r){var t=vg({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,c="";var l={s:{r:0,c:0},e:{r:0,c:0}};var o=r||{};var u=o.range!=null?o.range:e["!ref"];if(o.header===1)n=1;else if(o.header==="A")n=2;else if(Array.isArray(o.header))n=3;switch(typeof u){case"string":l=St(u);break;case"number":l=St(e["!ref"]);l.s.r=u;break;default:l=u;}if(n>0)i=0;var h=ut(l.s.r);var d=[];var v=0;var p=Array.isArray(e);var m=l.s.r,b=0;var g={};if(p&&!e[m])e[m]=[];var w=o.skipHidden&&e["!cols"]||[];var k=o.skipHidden&&e["!rows"]||[];for(b=l.s.c;b<=l.e.c;++b){if((w[b]||{}).hidden)continue;d[b]=pt(b);a=p?e[m][b]:e[d[b]+h];switch(n){case 1:s[b]=b-l.s.c;break;case 2:s[b]=d[b];break;case 3:s[b]=o.header[b-l.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};c=f=_t(a,null,o);v=g[f]||0;if(!v)g[f]=1;else{do{c=f+"_"+v++}while(g[c]);g[f]=v;g[c]=1}s[b]=c;}}m=l.s.r+i;t._read=function(){while(m<=l.e.r){if((k[m-1]||{}).hidden)continue;var r=Yb(e,l,m,d,n,s,p,o);++m;if(r.isempty===false||(n===1?o.blankrows!==false:!!o.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var wg={to_json:gg,to_html:bg,to_csv:mg,set_readable:pg};if(typeof im!=="undefined")e.parse_xlscfb=im;e.parse_zip=wb;e.read=Nb;e.readFile=Fb;e.readFileSync=Fb;e.write=Vb;e.writeFile=jb;e.writeFileSync=jb;e.writeFileAsync=$b;e.utils=dg;e.writeXLSX=zb;e.writeFileXLSX=Xb;e.SSF=D;if(typeof wg!=="undefined")e.stream=wg;if(typeof z!=="undefined")e.CFB=z;if(typeof require!=="undefined"){var kg=undefined;if((kg||{}).Readable)pg(kg.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} diff --git a/dist/xlsx.core.min.map b/dist/xlsx.core.min.map index b597bf0..508ae5d 100644 --- a/dist/xlsx.core.min.map +++ b/dist/xlsx.core.min.map @@ -1 +1 @@ -{"version":3,"sources":["dist/xlsx.js"],"names":["XLSX","make_xlsx_lib","version","current_codepage","current_ansi","module","require","cptable","global","undefined","window","VALID_ANSI","i","push","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","data","o","len","length","charCodeAt","utf16leread","String","fromCharCode","join","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","utils","decode","_gc2","_ga2","DENSE","DIF_XL","Base64","map","encode","input","c3","e1","e2","e3","e4","isNaN","charAt","replace","has_buf","Buffer","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","n","allocUnsafe","new_raw_buf","Uint8Array","Array","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","utf8decode","content","out","widx","L","ridx","d","bconcat","bufs","maxlen","set","concat","apply","call","chr0","chr1","SSF","make_ssf","_strrev","fill","l","pad0","v","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","make_general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","w","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","_general_num","general_fmt","format","_general","write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","5","6","7","8","23","24","25","26","27","28","29","30","31","32","33","34","35","36","41","42","43","44","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","DO_NOT_EXPORT_CFB","CRC32","factory","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","C","crc32_buf","crc32_str","CFB","_CFB","exports","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","fs","get_fs","parse","file","options","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","isBuffer","init_cfb","cfb","root","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","_fs","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","xlml_normalize","xlmlregex","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","cpdoit","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","ba_push","_bufs","write_record","ba","XLSBRE","make_XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","parse_Int32LE","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","4","9","10","11","12","13","15","16","17","19","22","2147483648","2147483651","1919054434","SummaryPIDSI","18","DocSummaryRE","SummaryRE","CountryEnum","20","39","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","RBErr","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","type2ct","CT","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","wmo","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecLpwstrValue","ret","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","cAnti","preamble","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","write_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","21","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","fBelow","fRight","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","write_SST","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","write_LabelSst","os","parse_Label","biffguess","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","parse_HLink","hlink","write_HLink","O","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","write_ColInfo","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","37","38","87","88","89","108","135","dbf_reverse_map","DBF_SUPPORTED_VERSIONS","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","versions","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","B ","!","\"","#","(","%","'","H ","+",";","<","=",">","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","!ref","sheet_to_wk1","write_biff_rec","write_BOF_WK1","write_RANGE","max_R","write_INTEGER","write_NUMBER","write_LABEL","book_to_wk3","write_BOF_WK3","write_XFORMAT_SHEETNAME","wsidx","write_NUMBER_17","write_LABEL_16","wscnt","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","oprec","FuncTab","83","111","BinOpTab","argc","argL","argR","args","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","log2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_SHEETNAMECS","parse_SHEETNAMELP","parse_SHEETINFOQP","parse_XFORMAT","40","142","147","153","154","155","156","174","175","176","184","185","187","188","195","205","206","207","208","256","259","260","261","262","263","265","266","267","268","270","271","384","389","390","393","396","512","514","513","516","517","640","641","642","643","644","645","646","647","648","658","659","660","661","662","665","666","768","772","1537","1600","1602","1793","1794","1795","1796","1920","2048","2049","2052","2688","10998","12849","28233","28484","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","hopper_sst","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","lastIndex","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","STY","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","update_xfext","xfext","xfe","XLMETA","parse_xlmeta_xml","Types","write_xlmeta_xml","parse_BrtMdtinfo","write_BrtMdtinfo","write_BrtMdb","mdb","write_BrtBeginEsfmd","write_BrtBeginEsmdb","cm","parse_xlmeta_bin","write_xlmeta_bin","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","IMG","DRAW","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","CMNT","sheet_insert_comments","author","parse_comments_xml","authors","commentList","authtag","cmnttag","authorId","textMatch","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","96","97","98","99","109","110","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","bookidx","externbook","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","85","94","95","112","113","114","115","116","117","118","119","127","131","132","133","137","138","139","140","143","144","145","146","148","149","159","164","166","167","168","169","170","171","172","173","189","190","191","192","193","194","196","197","198","199","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","385","386","388","391","392","394","395","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","518","519","520","521","522","523","545","546","547","548","549","620","621","653","667","673","753","755","808","141","157","158","160","165","179","180","181","182","183","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","264","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtShortBlank","write_BrtShortBlank","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtShortBool","write_BrtShortBool","parse_BrtCellError","bError","write_BrtCellError","parse_BrtShortError","write_BrtShortError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtShortIsst","write_BrtShortIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtShortReal","write_BrtShortReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtShortRk","write_BrtShortRk","parse_BrtCellRString","parse_BrtCellSt","write_BrtCellSt","parse_BrtShortSt","write_BrtShortSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","vm","ws_parse","aii","_d","write_ws_bin_cell","last_seen","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","CHART","CHARTEX","parse_Cache","nf","parse_chart","csheet","nc","cache","CS","CS_XML_ROOT","parse_cs_xml","!drawel","!rel","write_cs_xml","parse_BrtCsProp","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","write_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","HTML_","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","skip","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","defwidth","defheight","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","RecordType","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","1033","1024","1280","1536","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","DSEntries","SEntries","CEntries","Keys","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","515","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","649","650","651","652","654","655","656","657","663","664","668","669","671","672","674","675","676","677","678","679","680","681","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2050","2051","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","3072","3073","4096","4097","5002","5003","5081","5082","5083","5084","5085","5086","5087","5088","5089","5090","5092","5093","5094","5095","5096","5097","5099","1212","2059","2061","2062","2063","2064","2066","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","XLSRE","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_cols_biff8","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_content_xml","parse_text_p","fixed","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","ods","ROWS","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","NUMBERS","defineProperty","__defProp","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","__markAsModule","__export","all","enumerable","__reExport","copyDefault","__toCommonJS","temp","WeakMap","numbers_exports","parse_numbers","numbers_default","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","TextDecoder","u8concat","u8a","reduce","acc","popcnt","readDecimal128LE","exp","mantissa","parse_varint49","ptr","varint","varint_to_i32","i32","parse_shallow","mappa","_a","deframe","parse_snappy_chunk","chunks","parse_iwa","messages","parse_old_storage","rsst","dv","getUint32","data_offset","ieee","getFloat64","parse_storage","d128","packets","packet","docroot","iwams","iwam","mtype","parse_docroot","parse_Reference","pb","parse_TST_TableDataList","le","rtp","rtpref","tswpsa","parse_TST_TileRowInfo","_b","_c","_e","_g","_h","_i","pre_bnc","pre_bnc_offsets","storage_offsets","wide_offsets","getUint16","parse_TST_Tile","parse_TST_TableModelArchive","store","tile","tiles","tl","tile2","parse_TST_TableInfoArchive","tableref","parse_sheetroot","shapeoffs","sheetoffs","root2","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","_zip","dir","binname","link","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsxb","foo","vbafmt","_sn","wsrels","_type","need_vml","rId1","write_zip_xlsx","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_obj_str","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","write_wk1_buf","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","__rowNum__","rawNumbers","outi","counter","CC","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","sheet_get_cell","json_to_sheet","table_to_sheet","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","_Readable","set_readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","__stream","to_json","to_html","to_csv","readFile","writeXLSX","writeFileXLSX","strmod","Readable","define","amd"],"mappings":"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,IAAK,WACLlzD,IAAK,eACLmzD,IAAK,YACLC,IAAK,WACLC,IAAK,WACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,WACLC,IAAK,gBACLpL,IAAK,YACLqL,IAAK,kBACLC,IAAK,eACLrL,IAAK,gBACLC,IAAK,mBACLC,IAAK,cACLC,IAAK,gBACLC,IAAK,cACLC,IAAK,WACLC,IAAK,MACLC,IAAK,YACLC,IAAK,aACLC,IAAK,qBACLC,IAAK,mBACLluB,IAAK,UACLmuB,IAAK,UACLC,IAAK,UACL0K,IAAK,UACLzK,IAAK,UACLpuB,IAAK,UACLC,IAAK,UACLouB,IAAK,UACLC,IAAK,UACLpuB,IAAK,UACLquB,IAAK,UACLC,IAAK,UACLruB,IAAK,QACLsuB,IAAK,QACLC,IAAK,UACLC,IAAK,QACLC,IAAK,SACLkK,IAAK,OACLC,IAAK,SACLC,IAAK,UACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,aACLC,IAAK,cACLC,IAAK,YACLC,IAAK,SACLC,IAAK,UACL3K,IAAK,QACLC,IAAK,YACLC,IAAK,YACLC,IAAK,aACLC,IAAK,SACLC,IAAK,WACLuK,IAAK,QACLC,IAAK,SACL50D,IAAK,SACLqqD,IAAK,QACLC,IAAK,SACLC,IAAK,MACLC,IAAK,OACLC,IAAK,UACLoK,IAAK,UACLC,IAAK,UACLC,IAAK,UACLC,IAAK,OACLtK,IAAK,OACLC,IAAK,WACLC,IAAK,WACLC,IAAK,UACLC,IAAK,WACLC,IAAK,OACLC,IAAK,YACLC,IAAK,YACLC,IAAK,UACLC,IAAK,aACLC,IAAK,aACLC,IAAK,QACLC,IAAK,QACLC,IAAK,WACLC,IAAK,WACLC,IAAK,UACLC,IAAK,SACLC,IAAK,WACLC,IAAK,UACLC,IAAK,QACLC,IAAK,UACLC,IAAK,WACLC,IAAK,YACLC,IAAK,WACLC,IAAK,aACLC,IAAK,UACLC,IAAK,UACL6I,IAAK,UACL5I,IAAK,WACLC,IAAK,YACLC,IAAK,YACLC,IAAK,YACLC,I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","file":"dist/xlsx.core.min.js"} \ No newline at end of file +{"version":3,"sources":["dist/xlsx.js"],"names":["XLSX","make_xlsx_lib","version","current_codepage","current_ansi","$cptable","cptable","module","require","undefined","VALID_ANSI","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","data","o","i","len","length","charCodeAt","utf16leread","String","fromCharCode","join","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","utils","decode","_gc2","_ga2","DENSE","DIF_XL","Base64","map","encode","input","c3","e1","e2","e3","e4","isNaN","charAt","replace","has_buf","Buffer","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","n","allocUnsafe","new_raw_buf","Uint8Array","Array","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","utf8decode","content","out","widx","L","ridx","d","push","bconcat","bufs","maxlen","set","concat","apply","call","chr0","chr1","SSF","make_ssf","_strrev","fill","l","pad0","v","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","5","63","6","64","7","65","8","66","41","42","43","44","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","make_general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","w","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","_general_num","general_fmt","format","_general","write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","23","24","25","26","27","28","29","30","31","32","33","34","35","36","50","51","52","53","54","55","56","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","CRC32","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","C","crc32_buf","crc32_str","CFB","_CFB","exports","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","fs","get_fs","parse","file","options","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","isBuffer","init_cfb","cfb","root","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","_fs","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","xlml_normalize","xlmlregex","XMLNS","CORE_PROPS","CUST_PROPS","EXT_PROPS","CT","RELS","TCMNT","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","XMLNS_main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","cpdoit","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","ba_push","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","parse_Int32LE","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","4","9","10","11","12","13","15","16","17","19","22","2147483648","2147483651","1919054434","SummaryPIDSI","18","CountryEnum","20","39","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","RBErr","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.sheet.macroEnabled.main+xml","application/vnd.ms-excel.sheet.binary.macroEnabled.main","application/vnd.ms-excel.addin.macroEnabled.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","application/vnd.ms-excel.worksheet","application/vnd.ms-excel.binIndexWs","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.chartsheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","application/vnd.ms-excel.sharedStrings","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","application/vnd.ms-excel.styles","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.comments","application/vnd.ms-excel.threadedcomments+xml","application/vnd.ms-excel.person+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","new_ct","rels","threadedcomments","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","people","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","write_ct","type2ct","f1","bookType","f2","f3","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","Props","CreatedDate","xsi:type","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","write_ext_props","W","Application","xmlns:vt","custregex","parse_cust_props","toks","warn","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecLpwstrValue","ret","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","cAnti","preamble","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","write_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","21","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","fBelow","fRight","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","write_SST","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","write_LabelSst","os","parse_Label","biffguess","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","parse_HLink","hlink","write_HLink","O","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","write_ColInfo","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","37","38","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","B ","!","\"","#","(","%","'","H ","+",";","<","=",">","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","!ref","sheet_to_wk1","write_biff_rec","write_BOF_WK1","write_RANGE","max_R","write_INTEGER","write_NUMBER","write_LABEL","book_to_wk3","write_BOF_WK3","write_XFORMAT_SHEETNAME","wsidx","write_NUMBER_17","write_LABEL_16","wscnt","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","111","BinOpTab","argc","argL","argR","args","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","log2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_SHEETNAMECS","parse_SHEETNAMELP","parse_SHEETINFOQP","parse_XFORMAT","40","142","147","153","154","155","156","174","175","176","184","185","187","188","195","205","206","207","208","256","259","260","261","262","263","265","266","267","268","270","271","384","389","390","393","396","512","514","513","516","517","640","641","642","643","644","645","646","647","648","658","659","660","661","662","665","666","768","772","1537","1600","1602","1793","1794","1795","1796","1920","2048","2049","2052","2688","10998","12849","28233","28484","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","lastIndex","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","update_xfext","xfext","xfe","parse_BrtMdtinfo","write_BrtMdtinfo","parse_BrtMdb","write_BrtMdb","mdb","write_BrtBeginEsfmd","parse_BrtBeginEsmdb","write_BrtBeginEsmdb","cm","parse_xlmeta_bin","Types","Cell","metatype","write_xlmeta_bin","parse_xlmeta_xml","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","sheet_insert_comments","threaded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","authorId","textMatch","write_comments_xml","iauthor","ID","lastauthor","ts","parse_tcmnt_xml","tidx","xml_tcmnt","personId","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","parse_people_xml","displayname","write_people_xml","person","userId","providerId","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","96","97","98","99","109","110","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","bookidx","externbook","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","85","94","95","112","113","114","115","116","117","118","119","127","131","132","133","137","138","139","140","143","144","145","146","148","149","159","164","166","167","168","169","170","171","172","173","189","190","191","192","193","194","196","197","198","199","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","385","386","388","391","392","394","395","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","518","519","520","521","522","523","545","546","547","548","549","620","621","653","667","673","753","755","808","141","157","158","160","165","179","180","181","182","183","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","264","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","write_ws_xml","xmlns:r","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtShortBlank","write_BrtShortBlank","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtShortBool","write_BrtShortBool","parse_BrtCellError","bError","write_BrtCellError","parse_BrtShortError","write_BrtShortError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtShortIsst","write_BrtShortIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtShortReal","write_BrtShortReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtShortRk","write_BrtShortRk","parse_BrtCellRString","parse_BrtCellSt","write_BrtCellSt","parse_BrtShortSt","write_BrtShortSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","vm","ws_parse","RR","aii","_d","write_ws_bin_cell","last_seen","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_Cache","nf","parse_chart","csheet","nc","cache","parse_cs_xml","!drawel","!rel","write_cs_xml","parse_BrtCsProp","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","write_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","HTML_","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","skip","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","CONTINUE_RT","slurp","RecordType","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","1033","1024","1280","1536","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","DSEntries","SEntries","CEntries","Keys","DocSummaryRE","SummaryRE","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","515","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","649","650","651","652","654","655","656","657","663","664","668","669","671","672","674","675","676","677","678","679","680","681","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2050","2051","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","3072","3073","4096","4097","5002","5003","5081","5082","5083","5084","5085","5086","5087","5088","5089","5090","5092","5093","5094","5095","5096","5097","5099","1212","2059","2061","2062","2063","2064","2066","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_cols_biff8","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","parse_content_xml","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","ods","ROWS","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","TextDecoder","u8concat","u8a","reduce","acc","popcnt","readDecimal128LE","exp","mantissa","parse_varint49","ptr","varint","varint_to_i32","i32","parse_shallow","mappa","_a","parse_iwa_file","messages","parse_snappy_chunk","chunks","deframe","parse_old_storage","rsst","dv","getUint32","data_offset","ieee","getFloat64","parse_storage","d128","parse_cell_storage","parse_TSP_Reference","pb","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","parse_TST_TileRowInfo","_b","_c","_e","_g","_h","_i","pre_bnc","pre_bnc_offsets","storage_offsets","wide_offsets","getUint16","parse_TST_Tile","parse_TST_TableModelArchive","store","tile","tiles","tl","tile2","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","packets","packet","docroot","iwams","iwam","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","tcomments","strip_front_slash","_zip","dir","binname","link","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsxb","write_zip_xlsx","foo","vbafmt","_sn","wsrels","_type","need_vml","rId1","needtc","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","sheet_to_txt","sheet_to_csv","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","json_to_sheet","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","table_to_sheet","sheet_to_row_object_array","sheet_get_cell","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","_Readable","set_readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","__stream","to_json","to_html","to_csv","readFile","writeXLSX","writeFileXLSX","strmod","Readable","define","amd","window"],"mappings":"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","file":"dist/xlsx.core.min.js"} \ No newline at end of file diff --git a/dist/xlsx.extendscript.js b/dist/xlsx.extendscript.js index 51a63c2..16c699d 100644 --- a/dist/xlsx.extendscript.js +++ b/dist/xlsx.extendscript.js @@ -157,21 +157,19 @@ var DO_NOT_EXPORT_CODEPAGE = true; /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */ +/*global exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; var current_codepage = 1200, current_ansi = 1252; /*global cptable:true, window */ -if(typeof module !== "undefined" && typeof require !== 'undefined') { - if(typeof cptable === 'undefined') { - if(typeof global !== 'undefined') global.cptable = undefined; - else if(typeof window !== 'undefined') window.cptable = undefined; - } +var $cptable; +if(typeof cptable !== 'undefined') $cptable = cptable; +else if(typeof module !== "undefined" && typeof require !== 'undefined') { + $cptable = undefined; } -var VALID_ANSI = [ 874, 932, 936, 949, 950, 10000 ]; -for(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i); +var VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ]; /* ECMA-376 Part I 18.4.1 charset to codepage mapping */ var CS2CP = ({ 0: 1252, /* ANSI */ @@ -225,18 +223,18 @@ var debom = function(data) { var _getchar = function _gc1(x) { return String.fromCharCode(x); }; var _getansi = function _ga1(x) { return String.fromCharCode(x); }; -if(typeof cptable !== 'undefined') { +if(typeof $cptable !== 'undefined') { set_cp = function(cp) { current_codepage = cp; set_ansi(cp); }; debom = function(data) { - if(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.slice(2))); } + if(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); } return data; }; _getchar = function _gc2(x) { if(current_codepage === 1200) return String.fromCharCode(x); - return cptable.utils.decode(current_codepage, [x&255,x>>8])[0]; + return $cptable.utils.decode(current_codepage, [x&255,x>>8])[0]; }; _getansi = function _ga2(x) { - return cptable.utils.decode(current_ansi, [x])[0]; + return $cptable.utils.decode(current_ansi, [x])[0]; }; } var DENSE = null; @@ -397,7 +395,7 @@ var chr0 = /\u0000/g, chr1 = /[\u0001-\u0006]/g; /* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W041 */ var SSF = ({}); -var make_ssf = function make_ssf(SSF){ +function make_ssf(SSF){ SSF.version = '0.11.2'; function _strrev(x) { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } @@ -502,25 +500,36 @@ for(defi = 79; defi <= 81; ++defi) default_map[defi] = defi - 34; // 82 -> 0 ... 65536 -> 0 (omitted) /* These formats technically refer to Accounting formats with no equivalent */ -var default_str = []; +var default_str = { + // 5 -- Currency, 0 decimal, black negative + 5: '"$"#,##0_);\\("$"#,##0\\)', + 63: '"$"#,##0_);\\("$"#,##0\\)', -// 5 -- Currency, 0 decimal, black negative -default_str[5] = default_str[63] = '"$"#,##0_);\\("$"#,##0\\)'; -// 6 -- Currency, 0 decimal, red negative -default_str[6] = default_str[64] = '"$"#,##0_);[Red]\\("$"#,##0\\)'; -// 7 -- Currency, 2 decimal, black negative -default_str[7] = default_str[65] = '"$"#,##0.00_);\\("$"#,##0.00\\)'; -// 8 -- Currency, 2 decimal, red negative -default_str[8] = default_str[66] = '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)'; + // 6 -- Currency, 0 decimal, red negative + 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', + 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', + + // 7 -- Currency, 2 decimal, black negative + 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', + 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', + + // 8 -- Currency, 2 decimal, red negative + 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + + // 41 -- Accounting, 0 decimal, No Symbol + 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', + + // 42 -- Accounting, 0 decimal, $ Symbol + 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', + + // 43 -- Accounting, 2 decimal, No Symbol + 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', + + // 44 -- Accounting, 2 decimal, $ Symbol + 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' +}; -// 41 -- Accounting, 0 decimal, No Symbol -default_str[41] = '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)'; -// 42 -- Accounting, 0 decimal, $ Symbol -default_str[42] = '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)'; -// 43 -- Accounting, 2 decimal, No Symbol -default_str[43] = '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)'; -// 44 -- Accounting, 2 decimal, $ Symbol -default_str[44] = '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'; function frac(x, D, mixed) { var sgn = x < 0 ? -1 : 1; var B = x * sgn; @@ -1355,7 +1364,7 @@ SSF.load_table = function load_table(tbl) { }; SSF.init_table = init_table; SSF.format = format; -}; +} make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap/*{[string]:string}*/ = ({ @@ -1444,24 +1453,17 @@ function dateNF_fix(str, dateNF, match) { return datestr + "T" + timestr; } -var DO_NOT_EXPORT_CFB = true; /* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*jshint eqnull:true */ /*exported CFB */ -/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */ +/*global Uint8Array:false, Uint16Array:false */ /* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported CRC32 */ -var CRC32; -(function (factory) { - /*jshint ignore:start */ - /*eslint-disable */ - factory(CRC32 = {}); - /*eslint-enable */ - /*jshint ignore:end */ -}(function(CRC32) { +var CRC32 = (function() { +var CRC32 = {}; CRC32.version = '1.2.0'; /* see perf/crc32table.js */ /*global Int32Array */ @@ -1549,7 +1551,8 @@ CRC32.table = T0; CRC32.bstr = crc32_bstr; CRC32.buf = crc32_buf; CRC32.str = crc32_str; -})); +return CRC32; +})(); /* [MS-CFB] v20171201 */ var CFB = (function _CFB(){ var exports = {}; @@ -3254,7 +3257,6 @@ exports.utils = { return exports; })(); -if(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; } var _fs; if(typeof require !== 'undefined') try { _fs = undefined; } catch(e) {} @@ -3452,8 +3454,7 @@ function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } /* TODO: stress test */ function fuzzynum(s) { var v = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); @@ -3673,9 +3674,7 @@ var xlml_fixstr = (function() { function entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str) { return str.replace(entregex,entrepl); }; })(); -var xlml_unfixstr = (function() { - return function xlml_unfixstr(str) { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; -})(); +function xlml_unfixstr(str) { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value) { switch(value) { @@ -3842,6 +3841,12 @@ var xlmlregex = /<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/mg; //var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; var XMLNS = ({ + CORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties', + CUST_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties", + EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", + CT: 'http://schemas.openxmlformats.org/package/2006/content-types', + RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', + TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -3853,7 +3858,7 @@ var XMLNS = ({ 'xsd': 'http://www.w3.org/2001/XMLSchema' }); -XMLNS.main = [ +var XMLNS_main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', 'http://purl.oclc.org/ooxml/spreadsheetml/main', 'http://schemas.microsoft.com/office/excel/2006/main', @@ -3935,15 +3940,15 @@ if(has_buf) { /* from js-xls */ function cpdoit() { - __utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; - __utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); }; - __lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; - __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; - __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; - __lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; - __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; + __utf16le = function(b,s,e) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; + __utf8 = function(b,s,e) { return $cptable.utils.decode(65001, b.slice(s,e)); }; + __lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; + __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; + __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; + __lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; + __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; } -if(typeof cptable !== 'undefined') cpdoit(); +if(typeof $cptable !== 'undefined') cpdoit(); var __readUInt8 = function(b, idx) { return b[idx]; }; var __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; }; @@ -3966,7 +3971,7 @@ function ReadShift(size, t) { case 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break; case 'wstr': - if(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); + if(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); else return ReadShift.call(this, size, 'dbcs'); size = 2 * size; break; @@ -4001,8 +4006,8 @@ function ReadShift(size, t) { } o = oo.join(""); size *= 2; break; case 'cpstr': - if(typeof cptable !== 'undefined') { - o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); + if(typeof $cptable !== 'undefined') { + o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); break; } /* falls through */ @@ -4047,10 +4052,10 @@ function WriteShift(t, val, f) { for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; } else if(f === 'sbcs') { - if(typeof cptable !== 'undefined' && current_ansi == 874) { + if(typeof $cptable !== 'undefined' && current_ansi == 874) { /* TODO: use tables directly, don't encode */ for(i = 0; i != val.length; ++i) { - var cppayload = cptable.utils.encode(current_ansi, val.charAt(i)); + var cppayload = $cptable.utils.encode(current_ansi, val.charAt(i)); this[this.l + i] = cppayload[0]; } } else { @@ -4121,7 +4126,7 @@ function recordhopper(data, cb, opts) { tgt = data.l + length; var d = R.f && R.f(data, length, opts); data.l = tgt; - if(cb(d, R.n, RT)) return; + if(cb(d, R, RT)) return; } } @@ -4160,8 +4165,7 @@ function buf_array() { } function write_record(ba, type, payload, length) { - if(!XLSBRE) make_XLSBRE(); - var t = +XLSBRE[type], l; + var t = +type, l; if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/; @@ -4802,9 +4806,6 @@ var SummaryPIDSI = { 0x72627262: {} }; -var DocSummaryRE = evert_key(DocSummaryPIDDSI, "n"); -var SummaryRE = evert_key(SummaryPIDSI, "n"); - /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { 0x0001: "US", // United States @@ -5000,14 +5001,38 @@ var RBErr = evert_num(BErr); var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", + "application/vnd.ms-excel.addin.macroEnabled.main+xml": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "workbooks", /* Worksheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", + "application/vnd.ms-excel.worksheet": "sheets", "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ + /* Chartsheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "charts", + "application/vnd.ms-excel.chartsheet": "charts", + /* Macrosheet */ + "application/vnd.ms-excel.macrosheet+xml": "macros", + "application/vnd.ms-excel.macrosheet": "macros", "application/vnd.ms-excel.intlmacrosheet": "TODO", "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ + /* Dialogsheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "dialogs", + "application/vnd.ms-excel.dialogsheet": "dialogs", + + /* Shared Strings */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", + "application/vnd.ms-excel.sharedStrings": "strs", + + /* Styles */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", + "application/vnd.ms-excel.styles": "styles", + /* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", @@ -5017,6 +5042,16 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO", + /* Comments */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", + "application/vnd.ms-excel.comments": "comments", + "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", + "application/vnd.ms-excel.person+xml": "people", + + /* Metadata (Stock/Geography and Dynamic Array) */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", + "application/vnd.ms-excel.sheetMetadata": "metadata", + /* PivotTable */ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", @@ -5055,10 +5090,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", @@ -5141,8 +5172,7 @@ var ct2type/*{[string]:string}*/ = ({ "sheet": "js" }); -var CT_LIST = (function(){ - var o = { +var CT_LIST = { workbooks: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", xlsm: "application/vnd.ms-excel.sheet.macroEnabled.main+xml", @@ -5182,22 +5212,14 @@ var CT_LIST = (function(){ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", xlsb: "application/vnd.ms-excel.styles" } - }; - keys(o).forEach(function(k) { ["xlsm", "xlam"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); }); - keys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); }); - return o; -})(); - -var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); - -XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; +}; function new_ct() { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], links:[], + rels:[], strs:[], comments:[], threadedcomments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], + calcchains:[], vba: [], drawings: [], metadata: [], people:[], TODO:[], xmlns: "" }); } @@ -5231,30 +5253,30 @@ var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns:xsi': XMLNS.xsi }); -var CTYPE_DEFAULTS = [ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', type2ct.rels[0]] -].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); -}); - function write_ct(ct, opts) { + var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); + var o = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); - o = o.concat(CTYPE_DEFAULTS); + o = o.concat([ + ['xml', 'application/xml'], + ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], + ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], + ['data', 'application/vnd.openxmlformats-officedocument.model+data'], + /* from test files */ + ['bmp', 'image/bmp'], + ['png', 'image/png'], + ['gif', 'image/gif'], + ['emf', 'image/x-emf'], + ['wmf', 'image/x-wmf'], + ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], + ['tif', 'image/tiff'], ['tiff', 'image/tiff'], + ['pdf', 'application/pdf'], + ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] + ].map(function(x) { + return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); + })); /* only write first instance */ var f1 = function(w) { @@ -5262,7 +5284,7 @@ function write_ct(ct, opts) { v = ct[w][0]; o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] + 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] })); } }; @@ -5272,7 +5294,7 @@ function write_ct(ct, opts) { (ct[w]||[]).forEach(function(v) { o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] + 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] })); }); }; @@ -5295,8 +5317,10 @@ function write_ct(ct, opts) { ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); + f3('threadedcomments'); f3('drawings'); f2('metadata'); + f3('people'); if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } @@ -5311,9 +5335,31 @@ var RELS = ({ XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", + CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", + EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", + STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", + WS: [ + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", + "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" + ], + DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", + MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", + IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", + DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", + XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", + TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", + PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" }); + /* 9.3.3 Representing Relationships */ function get_rels_path(file) { var n = file.lastIndexOf("/"); @@ -5342,7 +5388,6 @@ function parse_rels(data, currentFilePath) { return rels; } -XMLNS.RELS = 'http://schemas.openxmlformats.org/package/2006/relationships'; var RELS_ROOT = writextag('Relationships', null, { //'xmlns:ns0': XMLNS.RELS, @@ -5434,12 +5479,9 @@ function write_rdf(rdf) { return o.join(""); } /* TODO: pull properties */ -var write_meta_ods = (function() { - var payload = 'Sheet' + 'JS ' + XLSX.version + ''; - return function wmo() { - return payload; - }; -})(); +function write_meta_ods() { + return 'Sheet' + 'JS ' + XLSX.version + ''; +} /* ECMA-376 Part II 11.1 Core Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ @@ -5461,9 +5503,6 @@ var CORE_PROPS = [ ["dcterms:modified", "ModifiedDate", 'date'] ]; -XMLNS.CORE_PROPS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"; -RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; - var CORE_PROPS_REGEX = (function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { @@ -5487,15 +5526,6 @@ function parse_core_props(data) { return p; } -var CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi -}); - function cp_doit(f, g, h, o, p) { if(p[f] != null || g == null || g === "") return; p[f] = g; @@ -5505,7 +5535,14 @@ function cp_doit(f, g, h, o, p) { function write_core_props(cp, _opts) { var opts = _opts || {}; - var o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {}; + var o = [XML_HEADER, writextag('cp:coreProperties', null, { + //'xmlns': XMLNS.CORE_PROPS, + 'xmlns:cp': XMLNS.CORE_PROPS, + 'xmlns:dc': XMLNS.dc, + 'xmlns:dcterms': XMLNS.dcterms, + 'xmlns:dcmitype': XMLNS.dcmitype, + 'xmlns:xsi': XMLNS.xsi + })], p = {}; if(!cp && !opts.Props) return o.join(""); if(cp) { @@ -5540,9 +5577,6 @@ var EXT_PROPS = [ ["TitlesOfParts", "TitlesOfParts", "raw"] ]; -XMLNS.EXT_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"; -RELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'; - var PseudoPropsPairs = [ "Worksheets", "SheetNames", "NamedRanges", "DefinedNames", @@ -5616,17 +5650,15 @@ function parse_ext_props(data, p, opts) { return p; } -var EXT_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_ext_props(cp) { var o = [], W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; o[o.length] = (XML_HEADER); - o[o.length] = (EXT_PROPS_XML_ROOT); + o[o.length] = (writextag('Properties', null, { + 'xmlns': XMLNS.EXT_PROPS, + 'xmlns:vt': XMLNS.vt + })); EXT_PROPS.forEach(function(f) { if(cp[f[1]] === undefined) return; @@ -5645,9 +5677,6 @@ function write_ext_props(cp) { return o.join(""); } /* 15.2.12.2 Custom File Properties Part */ -XMLNS.CUST_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"; -RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; - var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data, opts) { var p = {}, name = ""; @@ -5693,13 +5722,11 @@ function parse_cust_props(data, opts) { return p; } -var CUST_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.CUST_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_cust_props(cp) { - var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; + var o = [XML_HEADER, writextag('Properties', null, { + 'xmlns': XMLNS.CUST_PROPS, + 'xmlns:vt': XMLNS.vt + })]; if(!cp) return o.join(""); var pid = 1; keys(cp).forEach(function custprop(k) { ++pid; @@ -5745,9 +5772,10 @@ var XLMLDocPropsMap = { Identifier: 'Identifier', /* NOTE: missing from schema */ Language: 'Language' /* NOTE: missing from schema */ }; -var evert_XLMLDPM = evert(XLMLDocPropsMap); +var evert_XLMLDPM; function xlml_set_prop(Props, tag, val) { + if(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap); tag = evert_XLMLDPM[tag] || tag; Props[tag] = val; } @@ -6050,7 +6078,7 @@ function parse_PropertySet(blob, PIDSI) { blob.l = start_addr + size; /* step ahead to skip padding */ return PropH; } -var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ].concat(PseudoPropsPairs); +var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ]; //.concat(PseudoPropsPairs); function guess_property_type(val) { switch(typeof val) { case "boolean": return 0x0B; @@ -6094,7 +6122,7 @@ function write_PropertySet(entries, RE, PIDSI) { for(i = 0; i < entries.length; ++i) { if(RE && !RE[entries[i][0]]) continue; - if(XLSPSSkip.indexOf(entries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue; if(entries[i][1] == null) continue; var val = entries[i][1], idx = 0; @@ -7242,8 +7270,8 @@ function parse_Obj(blob, length, opts) { return { cmo: cmo, ft:fts }; } /* from older spec */ -var parse_BIFF5OT = []; -parse_BIFF5OT[0x08] = function(blob, length) { +var parse_BIFF5OT = { +0x08: function(blob, length) { var tgt = blob.l + length; blob.l += 10; // todo var cf = blob.read_shift(2); @@ -7256,6 +7284,7 @@ parse_BIFF5OT[0x08] = function(blob, length) { blob.l += cchName; // TODO: stName blob.l = tgt; // TODO: fmla return { fmt:cf }; +} }; function parse_BIFF5Obj(blob, length, opts) { @@ -7288,7 +7317,7 @@ try { var ot = (opts.lastobj||{cmo:[0,0]}).cmo[1]; var controlInfo; // eslint-disable-line no-unused-vars if([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6; - else controlInfo = parse_ControlInfo(blob, 6, opts); + else controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars var cchText = blob.read_shift(2); /*var cbRuns = */blob.read_shift(2); /*var ifntEmpty = */parseuint16(blob, 2); @@ -7536,6 +7565,7 @@ function parse_RString(blob, length, opts) { return cell; } /* from js-harb (C) 2014-present SheetJS */ +var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; var DBF = (function() { var dbf_codepage_map = { /* Code Pages Supported by Visual FoxPro */ @@ -7594,7 +7624,6 @@ var dbf_reverse_map = evert({ 0xCA: 1254, 0xCB: 1253, 0x00: 20127 }); -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; /* TODO: find an actual specification */ function dbf_to_aoa(buf, opts) { var out = []; @@ -7655,7 +7684,7 @@ var fields = [], field = ({}); var ww = l7 ? 32 : 11; while(d.l < hend && d[d.l] != 0x0d) { field = ({}); - field.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); + field.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); d.l += ww; field.type = String.fromCharCode(d.read_shift(1)); if(ft != 0x02 && !l7) field.offset = d.read_shift(4); @@ -7709,7 +7738,7 @@ var fields = [], field = ({}); for(C = 0; C != fields.length; ++C) { var dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len; prep_blob(dd, 0); - var s = cptable.utils.decode(current_cp, dd); + var s = $cptable.utils.decode(current_cp, dd); switch(fields[C].type) { case 'C': // NOTE: it is conventional to write ' / / ' for empty dates @@ -7740,7 +7769,7 @@ var fields = [], field = ({}); out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break; case 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break; - case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break; + case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break; case 'O': out[R][C] = -dd.read_shift(-8, 'f'); break; case 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; } /* falls through */ @@ -7754,13 +7783,20 @@ var fields = [], field = ({}); } if(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error("DBF EOF Marker missing " + (d.l-1) + " of " + d.length + " " + d[d.l-1].toString(16)); if(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows); + opts.DBF = fields; return out; } function dbf_to_sheet(buf, opts) { var o = opts || {}; if(!o.dateNF) o.dateNF = "yyyymmdd"; - return aoa_to_sheet(dbf_to_aoa(buf, o), o); + var ws = aoa_to_sheet(dbf_to_aoa(buf, o), o); + ws["!cols"] = o.DBF.map(function(field) { return { + wch: field.len, + DBF: field + };}); + delete o.DBF; + return ws; } function dbf_to_workbook(buf, opts) { @@ -7776,10 +7812,11 @@ function sheet_to_dbf(ws, opts) { if(o.type == "string") throw new Error("Cannot write DBF to JS string"); var ba = buf_array(); var aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true}); - var headers = aoa[0], data = aoa.slice(1); + var headers = aoa[0], data = aoa.slice(1), cols = ws["!cols"] || []; var i = 0, j = 0, hcnt = 0, rlen = 1; for(i = 0; i < headers.length; ++i) { - if(i == null) continue; + if(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; } + if(headers[i] == null) continue; ++hcnt; if(typeof headers[i] === 'number') headers[i] = headers[i].toString(10); if(typeof headers[i] !== 'string') throw new Error("DBF Invalid column name " + headers[i] + " |" + (typeof headers[i]) + "|"); @@ -7788,13 +7825,15 @@ function sheet_to_dbf(ws, opts) { } var range = safe_decode_range(ws['!ref']); var coltypes = []; + var colwidths = []; + var coldecimals = []; for(i = 0; i <= range.e.c - range.s.c; ++i) { + var guess = '', _guess = '', maxlen = 0; var col = []; for(j=0; j < data.length; ++j) { if(data[j][i] != null) col.push(data[j][i]); } if(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; } - var guess = '', _guess = ''; for(j = 0; j < col.length; ++j) { switch(typeof col[j]) { /* TODO: check if L2 compat is desired */ @@ -7804,10 +7843,23 @@ function sheet_to_dbf(ws, opts) { case 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break; default: _guess = 'C'; } + maxlen = Math.max(maxlen, String(col[j]).length); guess = guess && guess != _guess ? 'C' : _guess; - if(guess == 'C') break; + //if(guess == 'C') break; } - rlen += _RLEN[guess] || 0; + if(maxlen > 250) maxlen = 250; + _guess = ((cols[i]||{}).DBF||{}).type; + /* TODO: more fine grained control over DBF type resolution */ + if(_guess == 'C') { + if(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len; + } + if(guess == 'B' && _guess == 'N') { + guess = 'N'; + coldecimals[i] = cols[i].DBF.dec; + maxlen = cols[i].DBF.len; + } + colwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0); + rlen += colwidths[i]; coltypes[i] = guess; } @@ -7826,14 +7878,14 @@ function sheet_to_dbf(ws, opts) { hf.write_shift(1, _f, "sbcs"); hf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], "sbcs"); hf.write_shift(4, j); - hf.write_shift(1, _RLEN[coltypes[i]] || 0); - hf.write_shift(1, 0); + hf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0); + hf.write_shift(1, coldecimals[i] || 0); hf.write_shift(1, 0x02); hf.write_shift(4, 0); hf.write_shift(1, 0); hf.write_shift(4, 0); hf.write_shift(4, 0); - j += _RLEN[coltypes[i]] || 0; + j += (colwidths[i] || _RLEN[coltypes[i]] || 0); } var hb = ba.next(264); @@ -7847,6 +7899,12 @@ function sheet_to_dbf(ws, opts) { switch(coltypes[j]) { case 'L': rout.write_shift(1, data[i][j] == null ? 0x3F : data[i][j] ? 0x54 : 0x46); break; case 'B': rout.write_shift(8, data[i][j]||0, 'f'); break; + case 'N': + var _n = "0"; + if(typeof data[i][j] == "number") _n = data[i][j].toFixed(coldecimals[j]||0); + for(hcnt=0; hcnt < colwidths[j]-_n.length; ++hcnt) rout.write_shift(1, 0x20); + rout.write_shift(1, _n, "sbcs"); + break; case 'D': if(!data[i][j]) rout.write_shift(8, "00000000", "sbcs"); else { @@ -7855,9 +7913,9 @@ function sheet_to_dbf(ws, opts) { rout.write_shift(2, ("00"+data[i][j].getDate()).slice(-2), "sbcs"); } break; case 'C': - var _s = String(data[i][j]||""); + var _s = String(data[i][j] != null ? data[i][j] : "").slice(0, colwidths[j]); rout.write_shift(1, _s, "sbcs"); - for(hcnt=0; hcnt < 250-_s.length; ++hcnt) rout.write_shift(1, 0x20); break; + for(hcnt=0; hcnt < colwidths[j]-_s.length; ++hcnt) rout.write_shift(1, 0x20); break; } } // data @@ -7866,7 +7924,6 @@ function sheet_to_dbf(ws, opts) { return ba.end(); } return { - versions: DBF_SUPPORTED_VERSIONS, to_workbook: dbf_to_workbook, to_sheet: dbf_to_sheet, from_sheet: sheet_to_dbf @@ -7951,7 +8008,7 @@ var SYLK = (function() { } else if(!isNaN(fuzzydate(val).getDate())) { val = parseDate(val); } - if(typeof cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = cptable.utils.decode(opts.codepage, val); + if(typeof $cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = $cptable.utils.decode(opts.codepage, val); C_seen_K = true; break; case 'E': @@ -8475,7 +8532,7 @@ var PRN = (function() { case 'binary': str = d; break; case 'buffer': if(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf - else if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d); + else if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d); else str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d); break; case 'array': str = cc2str(d); break; @@ -8484,7 +8541,7 @@ var PRN = (function() { } if(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3)); else if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str); - else if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(28591,str)); + else if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str)); if(str.slice(0,19) == "socialcalc:version:") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts); return prn_to_sheet_str(str, opts); } @@ -8531,7 +8588,7 @@ function read_wb_ID(d, opts) { } } -var WK_ = (function() { +var WK_ = (function() { function lotushopper(data, cb, opts) { if(!data) return; prep_blob(data, data.l || 0); @@ -8906,10 +8963,10 @@ var WK_ = (function() { V = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V); return (rel ? "" : "$") + (col ? encode_col(V) : encode_row(V)); } - var oprec = [ + /* var oprec = [ 8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3, 3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8 - ]; + ]; */ /* TODO: flesh out */ var FuncTab = { 0x33: ["FALSE", 0], @@ -8923,10 +8980,10 @@ var WK_ = (function() { 0x6F: ["T", 1] }; var BinOpTab = [ - "", "", "", "", "", "", "", "", - "", "+", "-", "*", "/", "^", "=", "<>", - "<=", ">=", "<", ">", "", "", "", "", - "&", "", "", "", "", "", "", "" + "", "", "", "", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "", "+", "-", "*", "/", "^", "=", "<>", // eslint-disable-line no-mixed-spaces-and-tabs + "<=", ">=", "<", ">", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "&", "", "", "", "", "", "", "" // eslint-disable-line no-mixed-spaces-and-tabs ]; function wk1_fmla_to_csf(blob, o) { @@ -8956,7 +9013,7 @@ var WK_ = (function() { case 0x06: { /* TODO: text encoding */ var Z = ""; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc); - out.push('"' + Z.replace(/"/g, '""') + '"'); break; + out.push('"' + Z.replace(/"/g, '""') + '"'); } break; case 0x08: out.push("-" + out.pop()); break; @@ -9125,7 +9182,7 @@ var WK_ = (function() { if(!opts.qpro || length < 21) return; var id = blob.read_shift(1); blob.l += 17; - var len = blob.read_shift(1); + blob.l += 1; //var len = blob.read_shift(1); blob.l += 2; var nm = blob.read_shift(length - 21, 'cstr'); return [id, nm]; @@ -9569,13 +9626,12 @@ function parse_sst_xml(data, opts) { return s; } -RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; function write_sst_xml(sst, opts) { if(!opts.bookSST) return ""; var o = [XML_HEADER]; o[o.length] = (writextag('sst', null, { - xmlns: XMLNS.main[0], + xmlns: XMLNS_main[0], count: sst.Count, uniqueCount: sst.Unique })); @@ -9604,24 +9660,23 @@ function parse_BrtBeginSst(data) { function parse_sst_bin(data, opts) { var s = ([]); var pass = false; - recordhopper(data, function hopper_sst(val, R_n, RT) { + recordhopper(data, function hopper_sst(val, R, RT) { switch(RT) { - case 0x009F: /* 'BrtBeginSst' */ + case 0x009F: /* BrtBeginSst */ s.Count = val[0]; s.Unique = val[1]; break; - case 0x0013: /* 'BrtSSTItem' */ + case 0x0013: /* BrtSSTItem */ s.push(val); break; - case 0x00A0: /* 'BrtEndSst' */ + case 0x00A0: /* BrtEndSst */ return true; - case 0x0023: /* 'BrtFRTBegin' */ + case 0x0023: /* BrtFRTBegin */ pass = true; break; - case 0x0024: /* 'BrtFRTEnd' */ + case 0x0024: /* BrtFRTEnd */ pass = false; break; default: - if(R_n.indexOf("Begin") > 0){/* empty */} - else if(R_n.indexOf("End") > 0){/* empty */} - if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n); + if(R.T){} + if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }); return s; @@ -9638,14 +9693,14 @@ var write_BrtSSTItem = write_RichStr; function write_sst_bin(sst) { var ba = buf_array(); - write_record(ba, "BrtBeginSst", write_BrtBeginSst(sst)); - for(var i = 0; i < sst.length; ++i) write_record(ba, "BrtSSTItem", write_BrtSSTItem(sst[i])); + write_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst)); + for(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i])); /* FRTSST */ - write_record(ba, "BrtEndSst"); + write_record(ba, 0x00A0 /* BrtEndSst */); return ba.end(); } function _JS2ANSI(str) { - if(typeof cptable !== 'undefined') return cptable.utils.encode(current_ansi, str); + if(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str); var o = [], oo = str.split(""); for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); return o; @@ -10565,15 +10620,11 @@ return function parse_sty_xml(data, themes, opts) { }; })(); -var STYLES_XML_ROOT = writextag('styleSheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:vt': XMLNS.vt -}); - -RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; - function write_sty_xml(wb, opts) { - var o = [XML_HEADER, STYLES_XML_ROOT], w; + var o = [XML_HEADER, writextag('styleSheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:vt': XMLNS.vt + })], w; if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); o[o.length] = (''); @@ -10691,11 +10742,12 @@ var XLSBFillPTNames = [ "gray125", "gray0625" ]; -var rev_XLSBFillPTNames = (evert(XLSBFillPTNames)); +var rev_XLSBFillPTNames; /* TODO: gradient fill representation */ var parse_BrtFill = parsenoop; function write_BrtFill(fill, o) { if(!o) o = new_buf(4*3 + 8*7 + 16*1); + if(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)); var fls = rev_XLSBFillPTNames[fill.patternType]; if(fls == null) fls = 0x28; o.write_shift(4, fls); @@ -10800,54 +10852,54 @@ function parse_sty_bin(data, themes, opts) { styles.Fonts = []; var state = []; var pass = false; - recordhopper(data, function hopper_sty(val, R_n, RT) { + recordhopper(data, function hopper_sty(val, R, RT) { switch(RT) { - case 0x002C: /* 'BrtFmt' */ + case 0x002C: /* BrtFmt */ styles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]); break; - case 0x002B: /* 'BrtFont' */ + case 0x002B: /* BrtFont */ styles.Fonts.push(val); if(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) { val.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0); } break; - case 0x0401: /* 'BrtKnownFonts' */ break; - case 0x002D: /* 'BrtFill' */ + case 0x0401: /* BrtKnownFonts */ break; + case 0x002D: /* BrtFill */ break; - case 0x002E: /* 'BrtBorder' */ + case 0x002E: /* BrtBorder */ break; - case 0x002F: /* 'BrtXF' */ - if(state[state.length - 1] == "BrtBeginCellXFs") { + case 0x002F: /* BrtXF */ + if(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) { styles.CellXf.push(val); } break; - case 0x0030: /* 'BrtStyle' */ - case 0x01FB: /* 'BrtDXF' */ - case 0x023C: /* 'BrtMRUColor' */ - case 0x01DB: /* 'BrtIndexedColor': */ + case 0x0030: /* BrtStyle */ + case 0x01FB: /* BrtDXF */ + case 0x023C: /* BrtMRUColor */ + case 0x01DB: /* BrtIndexedColor */ break; - case 0x0493: /* 'BrtDXF14' */ - case 0x0836: /* 'BrtDXF15' */ - case 0x046A: /* 'BrtSlicerStyleElement' */ - case 0x0200: /* 'BrtTableStyleElement' */ - case 0x082F: /* 'BrtTimelineStyleElement' */ - case 0x0C00: /* 'BrtUid' */ + case 0x0493: /* BrtDXF14 */ + case 0x0836: /* BrtDXF15 */ + case 0x046A: /* BrtSlicerStyleElement */ + case 0x0200: /* BrtTableStyleElement */ + case 0x082F: /* BrtTimelineStyleElement */ + case 0x0C00: /* BrtUid */ break; - case 0x0023: /* 'BrtFRTBegin' */ + case 0x0023: /* BrtFRTBegin */ pass = true; break; - case 0x0024: /* 'BrtFRTEnd' */ + case 0x0024: /* BrtFRTEnd */ pass = false; break; - case 0x0025: /* 'BrtACBegin' */ - state.push(R_n); pass = true; break; - case 0x0026: /* 'BrtACEnd' */ + case 0x0025: /* BrtACBegin */ + state.push(RT); pass = true; break; + case 0x0026: /* BrtACEnd */ state.pop(); pass = false; break; default: - if((R_n||"").indexOf("Begin") > 0) state.push(R_n); - else if((R_n||"").indexOf("End") > 0) state.pop(); - else if(!pass || (opts.WTF && state[state.length-1] != "BrtACBegin")) throw new Error("Unexpected record " + RT + " " + R_n); + if(R.T > 0) state.push(RT); + else if(R.T < 0) state.pop(); + else if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error("Unexpected record 0x" + RT.toString(16)); } }); return styles; @@ -10861,19 +10913,19 @@ for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt; }); if(cnt == 0) return; - write_record(ba, "BrtBeginFmts", write_UInt32LE(cnt)); + write_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt)); [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { -for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, "BrtFmt", write_BrtFmt(i, NF[i])); +for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i])); }); - write_record(ba, "BrtEndFmts"); + write_record(ba, 0x0268 /* BrtEndFmts */); } function write_FONTS_bin(ba) { var cnt = 1; if(cnt == 0) return; - write_record(ba, "BrtBeginFonts", write_UInt32LE(cnt)); - write_record(ba, "BrtFont", write_BrtFont({ + write_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt)); + write_record(ba, 0x002B /* BrtFont */, write_BrtFont({ sz:12, color: {theme:1}, name: "Calibri", @@ -10881,77 +10933,77 @@ function write_FONTS_bin(ba) { scheme: "minor" })); /* 1*65491BrtFont [ACFONTS] */ - write_record(ba, "BrtEndFonts"); + write_record(ba, 0x0264 /* BrtEndFonts */); } function write_FILLS_bin(ba) { var cnt = 2; if(cnt == 0) return; - write_record(ba, "BrtBeginFills", write_UInt32LE(cnt)); - write_record(ba, "BrtFill", write_BrtFill({patternType:"none"})); - write_record(ba, "BrtFill", write_BrtFill({patternType:"gray125"})); + write_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt)); + write_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:"none"})); + write_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:"gray125"})); /* 1*65431BrtFill */ - write_record(ba, "BrtEndFills"); + write_record(ba, 0x025C /* BrtEndFills */); } function write_BORDERS_bin(ba) { var cnt = 1; if(cnt == 0) return; - write_record(ba, "BrtBeginBorders", write_UInt32LE(cnt)); - write_record(ba, "BrtBorder", write_BrtBorder({})); + write_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt)); + write_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({})); /* 1*65430BrtBorder */ - write_record(ba, "BrtEndBorders"); + write_record(ba, 0x0266 /* BrtEndBorders */); } function write_CELLSTYLEXFS_bin(ba) { var cnt = 1; - write_record(ba, "BrtBeginCellStyleXFs", write_UInt32LE(cnt)); - write_record(ba, "BrtXF", write_BrtXF({ + write_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt)); + write_record(ba, 0x002F /* BrtXF */, write_BrtXF({ numFmtId: 0, fontId: 0, fillId: 0, borderId: 0 }, 0xFFFF)); /* 1*65430(BrtXF *FRT) */ - write_record(ba, "BrtEndCellStyleXFs"); + write_record(ba, 0x0273 /* BrtEndCellStyleXFs */); } function write_CELLXFS_bin(ba, data) { - write_record(ba, "BrtBeginCellXFs", write_UInt32LE(data.length)); - data.forEach(function(c) { write_record(ba, "BrtXF", write_BrtXF(c,0)); }); + write_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length)); + data.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); }); /* 1*65430(BrtXF *FRT) */ - write_record(ba, "BrtEndCellXFs"); + write_record(ba, 0x026A /* BrtEndCellXFs */); } function write_STYLES_bin(ba) { var cnt = 1; - write_record(ba, "BrtBeginStyles", write_UInt32LE(cnt)); - write_record(ba, "BrtStyle", write_BrtStyle({ + write_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt)); + write_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({ xfId:0, builtinId:0, name:"Normal" })); /* 1*65430(BrtStyle *FRT) */ - write_record(ba, "BrtEndStyles"); + write_record(ba, 0x026C /* BrtEndStyles */); } function write_DXFS_bin(ba) { var cnt = 0; - write_record(ba, "BrtBeginDXFs", write_UInt32LE(cnt)); + write_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt)); /* *2147483647(BrtDXF *FRT) */ - write_record(ba, "BrtEndDXFs"); + write_record(ba, 0x01FA /* BrtEndDXFs */); } function write_TABLESTYLES_bin(ba) { var cnt = 0; - write_record(ba, "BrtBeginTableStyles", write_BrtBeginTableStyles(cnt, "TableStyleMedium9", "PivotStyleMedium4")); + write_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, "TableStyleMedium9", "PivotStyleMedium4")); /* *TABLESTYLE */ - write_record(ba, "BrtEndTableStyles"); + write_record(ba, 0x01FD /* BrtEndTableStyles */); } function write_COLORPALETTE_bin() { @@ -10962,7 +11014,7 @@ function write_COLORPALETTE_bin() { /* [MS-XLSB] 2.1.7.50 Styles */ function write_sty_bin(wb, opts) { var ba = buf_array(); - write_record(ba, "BrtBeginStyleSheet"); + write_record(ba, 0x0116 /* BrtBeginStyleSheet */); write_FMTS_bin(ba, wb.SSF); write_FONTS_bin(ba, wb); write_FILLS_bin(ba, wb); @@ -10974,11 +11026,9 @@ function write_sty_bin(wb, opts) { write_TABLESTYLES_bin(ba, wb); write_COLORPALETTE_bin(ba, wb); /* FRTSTYLESHEET*/ - write_record(ba, "BrtEndStyleSheet"); + write_record(ba, 0x0117 /* BrtEndStyleSheet */); return ba.end(); } -RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; - /* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ var XLSXThemeClrScheme = [ '', '', '', '', @@ -11075,7 +11125,7 @@ var themeltregex = /]*)>[\s\S]*<\/a:themeElements>/; /* 14.2.7 Theme Part */ function parse_theme_xml(data, opts) { /* 20.1.6.9 theme CT_OfficeStyleSheet */ - if(!data || data.length === 0) return parse_theme_xml(write_theme()); + if(!data || data.length === 0) data = write_theme(); var t; var themes = {}; @@ -11349,13 +11399,124 @@ function update_xfext(xf, xfext) { }); } -RELS.XLMETA = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata"; +function parse_BrtMdtinfo(data, length) { + return { + flags: data.read_shift(4), + version: data.read_shift(4), + name: parse_XLWideString(data, length - 8) + }; +} +function write_BrtMdtinfo(data) { + var o = new_buf(12 + 2 * data.name.length); + o.write_shift(4, data.flags); + o.write_shift(4, data.version); + write_XLWideString(data.name, o); + return o.slice(0, o.l); +} +function parse_BrtMdb(data) { + var out = []; + var cnt = data.read_shift(4); + while (cnt-- > 0) + out.push([data.read_shift(4), data.read_shift(4)]); + return out; +} +function write_BrtMdb(mdb) { + var o = new_buf(4 + 8 * mdb.length); + o.write_shift(4, mdb.length); + for (var i = 0; i < mdb.length; ++i) { + o.write_shift(4, mdb[i][0]); + o.write_shift(4, mdb[i][1]); + } + return o; +} +function write_BrtBeginEsfmd(cnt, name) { + var o = new_buf(8 + 2 * name.length); + o.write_shift(4, cnt); + write_XLWideString(name, o); + return o.slice(0, o.l); +} +function parse_BrtBeginEsmdb(data) { + data.l += 4; + return data.read_shift(4) != 0; +} +function write_BrtBeginEsmdb(cnt, cm) { + var o = new_buf(8); + o.write_shift(4, cnt); + o.write_shift(4, cm ? 1 : 0); + return o; +} +function parse_xlmeta_bin(data, name, _opts) { + var out = { Types: [], Cell: [], Value: [] }; + var opts = _opts || {}; + var state = []; + var pass = false; + var metatype = 2; + recordhopper(data, function(val, R, RT) { + switch (RT) { + case 335: + out.Types.push({ name: val.name }); + break; + case 51: + val.forEach(function(r) { + if (metatype == 1) + out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + else if (metatype == 0) + out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + }); + break; + case 337: + metatype = val ? 1 : 0; + break; + case 338: + metatype = 2; + break; + case 35: + state.push(RT); + pass = true; + break; + case 36: + state.pop(); + pass = false; + break; + default: + if (R.T) { + } else if (!pass || opts.WTF && state[state.length - 1] != 35) + throw new Error("Unexpected record 0x" + RT.toString(16)); + } + }); + return out; +} +function write_xlmeta_bin() { + var ba = buf_array(); + write_record(ba, 332); + write_record(ba, 334, write_UInt32LE(1)); + write_record(ba, 335, write_BrtMdtinfo({ + name: "XLDAPR", + version: 12e4, + flags: 3496657072 + })); + write_record(ba, 336); + write_record(ba, 339, write_BrtBeginEsfmd(1, "XLDAPR")); + write_record(ba, 52); + write_record(ba, 35, write_UInt32LE(514)); + write_record(ba, 4096, write_UInt32LE(0)); + write_record(ba, 4097, writeuint16(1)); + write_record(ba, 36); + write_record(ba, 53); + write_record(ba, 340); + write_record(ba, 337, write_BrtBeginEsmdb(1, true)); + write_record(ba, 51, write_BrtMdb([[1, 0]])); + write_record(ba, 338); + write_record(ba, 333); + return ba.end(); +} function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [] }; + var out = { Types: [], Cell: [], Value: [] }; if (!data) return out; var pass = false; - data.replace(tagregex, function(x, idx) { + var metatype = 2; + data.replace(tagregex, function(x) { var y = parsexmltag(x); switch (strip_ns(y[0])) { case "": + break; case "": @@ -11378,15 +11541,24 @@ function parse_xlmeta_xml(data, name, opts) { case "": break; case "": break; case "": + metatype = 2; break; case "": + metatype = 2; break; case "": @@ -11412,94 +11584,6 @@ function write_xlmeta_xml() { o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); return o.join(""); } -function parse_BrtMdtinfo(data, length) { - return { - flags: data.read_shift(4), - version: data.read_shift(4), - name: parse_XLWideString(data, length - 8) - }; -} -function write_BrtMdtinfo(data) { - var o = new_buf(12 + 2 * data.name.length); - o.write_shift(4, data.flags); - o.write_shift(4, data.version); - write_XLWideString(data.name, o); - return o.slice(0, o.l); -} -function write_BrtMdb(mdb) { - var o = new_buf(4 + 8 * mdb.length); - o.write_shift(4, mdb.length); - for (var i = 0; i < mdb.length; ++i) { - o.write_shift(4, mdb[i][0]); - o.write_shift(4, mdb[i][1]); - } - return o; -} -function write_BrtBeginEsfmd(cnt, name) { - var o = new_buf(8 + 2 * name.length); - o.write_shift(4, cnt); - write_XLWideString(name, o); - return o.slice(0, o.l); -} -function write_BrtBeginEsmdb(cnt, cm) { - var o = new_buf(8); - o.write_shift(4, cnt); - o.write_shift(4, cm ? 1 : 0); - return o; -} -function parse_xlmeta_bin(data, name, _opts) { - var out = { Types: [] }; - var opts = _opts || {}; - var state = []; - var pass = false; - recordhopper(data, function(val, R_n, RT) { - switch (RT) { - case 335: - out.Types.push({ name: val.name }); - break; - case 51: - break; - case 35: - state.push(R_n); - pass = true; - break; - case 36: - state.pop(); - pass = false; - break; - default: - if ((R_n || "").indexOf("Begin") > 0) { - } else if ((R_n || "").indexOf("End") > 0) { - } else if (!pass || opts.WTF && state[state.length - 1] != "BrtFRTBegin") - throw new Error("Unexpected record " + RT + " " + R_n); - } - }); - return out; -} -function write_xlmeta_bin() { - var ba = buf_array(); - write_record(ba, "BrtBeginMetadata"); - write_record(ba, "BrtBeginEsmdtinfo", write_UInt32LE(1)); - write_record(ba, "BrtMdtinfo", write_BrtMdtinfo({ - name: "XLDAPR", - version: 12e4, - flags: 3496657072 - })); - write_record(ba, "BrtEndEsmdtinfo"); - write_record(ba, "BrtBeginEsfmd", write_BrtBeginEsfmd(1, "XLDAPR")); - write_record(ba, "BrtBeginFmd"); - write_record(ba, "BrtFRTBegin", write_UInt32LE(514)); - write_record(ba, "BrtBeginDynamicArrayPr", write_UInt32LE(0)); - write_record(ba, "BrtEndDynamicArrayPr", writeuint16(1)); - write_record(ba, "BrtFRTEnd"); - write_record(ba, "BrtEndFmd"); - write_record(ba, "BrtEndEsfmd"); - write_record(ba, "BrtBeginEsmdb", write_BrtBeginEsmdb(1, true)); - write_record(ba, "BrtMdb", write_BrtMdb([[1, 0]])); - write_record(ba, "BrtEndEsmdb"); - write_record(ba, "BrtEndMetadata"); - return ba.end(); -} /* 18.6 Calculation Chain */ function parse_cc_xml(data) { var d = []; @@ -11538,15 +11622,14 @@ function parse_BrtCalcChainItem$(data) { function parse_cc_bin(data, name, opts) { var out = []; var pass = false; - recordhopper(data, function hopper_cc(val, R_n, RT) { + recordhopper(data, function hopper_cc(val, R, RT) { switch(RT) { case 0x003F: /* 'BrtCalcChainItem$' */ out.push(val); break; default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n); + if(R.T){/* empty */} + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }); return out; @@ -11566,7 +11649,7 @@ function parse_xlink_bin(data, rel, name, _opts) { var pass = false, end = false; - recordhopper(data, function xlink_parse(val, R_n, RT) { + recordhopper(data, function xlink_parse(val, R, RT) { if(end) return; switch(RT) { case 0x0167: /* 'BrtSupTabs' */ @@ -11598,16 +11681,12 @@ function parse_xlink_bin(data, rel, name, _opts) { pass = false; break; default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT.toString(16) + " " + R_n); + if(R.T){/* empty */} + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); } /* 20.5 DrawingML - SpreadsheetML Drawing */ -RELS.IMG = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -RELS.DRAW = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"; - /* 20.5.2.35 wsDr CT_Drawing */ function parse_drawing(data, rels) { if(!data) return "??"; @@ -11680,9 +11759,7 @@ function write_comments_vml(rId, comments) { o.push(''); return o.join(""); } -RELS.CMNT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; - -function sheet_insert_comments(sheet, comments) { +function sheet_insert_comments(sheet, comments, threaded, people) { var dense = Array.isArray(sheet); var cell; comments.forEach(function(comment) { @@ -11705,8 +11782,17 @@ function sheet_insert_comments(sheet, comments) { } if (!cell.c) cell.c = []; - var o = ({a: comment.author, t: comment.t, r: comment.r}); + var o = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); if(comment.h) o.h = comment.h; + + /* threaded comments always override */ + for(var i = cell.c.length - 1; i >= 0; --i) { + if(!threaded && cell.c[i].T) return; + if(threaded && !cell.c[i].T) cell.c.splice(i, 1); + } + if(threaded && people) for(i = 0; i < people.length; ++i) { + if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } + } cell.c.push(o); }); } @@ -11743,31 +11829,153 @@ function parse_comments_xml(data, opts) { return commentList; } -var CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] }); function write_comments_xml(data) { - var o = [XML_HEADER, CMNT_XML_ROOT]; + var o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })]; var iauthor = []; o.push(""); data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) > -1) return; - iauthor.push(a); - o.push("" + a + ""); + if(iauthor.indexOf(a) == -1) { + iauthor.push(a); + o.push("" + a + ""); + } + if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { + iauthor.push("tc=" + w.ID); + o.push("" + "tc=" + w.ID + ""); + } }); }); + if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } o.push(""); o.push(""); data.forEach(function(d) { - d[1].forEach(function(c) { - /* 18.7.3 CT_Comment */ - o.push(''); - o.push(writetag("t", c.t == null ? "" : escapexml(c.t))); - o.push(''); + /* 18.7.3 CT_Comment */ + var lastauthor = 0, ts = []; + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); + else d[1].forEach(function(c) { + if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); + ts.push(c.t||""); }); + o.push(''); + if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); + else { + /* based on Threaded Comments -> Comments projection */ + var t = "Comment:\n " + (ts[0]) + "\n"; + for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; + o.push(writetag("t", escapexml(t))); + } + o.push(''); }); o.push(""); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } + +/* [MS-XLSX] 2.1.17 */ +function parse_tcmnt_xml(data, opts) { + var out = []; + var pass = false, comment = {}, tidx = 0; + data.replace(tagregex, function xml_tcmnt(x, idx) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.205 threadedComment CT_ThreadedComment */ + case '': if(comment.t != null) out.push(comment); break; + + case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; + + /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ + case '': pass = true; break; + case '': pass = false; break; + + /* 2.6.202 mention CT_Mention TODO */ + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '
': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} + +function write_tcmnt_xml(comments, people, opts) { + var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; + comments.forEach(function(carr) { + var rootid = ""; + (carr[1] || []).forEach(function(c, idx) { + if(!c.T) { delete c.ID; return; } + if(c.a && people.indexOf(c.a) == -1) people.push(c.a); + var tcopts = { + ref: carr[0], + id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" + }; + if(idx == 0) rootid = tcopts.id; + else tcopts.parentId = rootid; + c.ID = tcopts.id; + if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; + o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); + }); + }); + o.push(''); + return o.join(""); +} + +/* [MS-XLSX] 2.1.18 */ +function parse_people_xml(data, opts) { + var out = []; + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.203 person CT_Person TODO: providers */ + case '': break; + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} +function write_people_xml(people/*, opts*/) { + var o = [XML_HEADER, writextag('personList', null, { + 'xmlns': XMLNS.TCMNT, + 'xmlns:x': XMLNS_main[0] + }).replace(/[\/]>/, ">")]; + people.forEach(function(person, idx) { + o.push(writextag('person', null, { + displayName: person, + id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", + userId: person, + providerId: "None" + })); + }); + o.push(""); + return o.join(""); +} /* [MS-XLSB] 2.4.28 BrtBeginComment */ function parse_BrtBeginComment(data) { var out = {}; @@ -11799,7 +12007,7 @@ function parse_comments_bin(data, opts) { var authors = []; var c = {}; var pass = false; - recordhopper(data, function hopper_cmnt(val, R_n, RT) { + recordhopper(data, function hopper_cmnt(val, R, RT) { switch(RT) { case 0x0278: /* 'BrtCommentAuthor' */ authors.push(val); break; @@ -11826,9 +12034,8 @@ function parse_comments_bin(data, opts) { default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n); + if(R.T){/* empty */} + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }); return out; @@ -11837,32 +12044,32 @@ function parse_comments_bin(data, opts) { function write_comments_bin(data) { var ba = buf_array(); var iauthor = []; - write_record(ba, "BrtBeginComments"); + write_record(ba, 0x0274 /* BrtBeginComments */); - write_record(ba, "BrtBeginCommentAuthors"); + write_record(ba, 0x0276 /* BrtBeginCommentAuthors */); data.forEach(function(comment) { comment[1].forEach(function(c) { if(iauthor.indexOf(c.a) > -1) return; iauthor.push(c.a.slice(0,54)); - write_record(ba, "BrtCommentAuthor", write_BrtCommentAuthor(c.a)); + write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a)); }); }); - write_record(ba, "BrtEndCommentAuthors"); + write_record(ba, 0x0277 /* BrtEndCommentAuthors */); - write_record(ba, "BrtBeginCommentList"); + write_record(ba, 0x0279 /* BrtBeginCommentList */); data.forEach(function(comment) { comment[1].forEach(function(c) { c.iauthor = iauthor.indexOf(c.a); var range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])}; - write_record(ba, "BrtBeginComment", write_BrtBeginComment([range, c])); - if(c.t && c.t.length > 0) write_record(ba, "BrtCommentText", write_BrtCommentText(c)); - write_record(ba, "BrtEndComment"); + write_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c])); + if(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c)); + write_record(ba, 0x027C /* BrtEndComment */); delete c.iauthor; }); }); - write_record(ba, "BrtEndCommentList"); + write_record(ba, 0x027A /* BrtEndCommentList */); - write_record(ba, "BrtEndComments"); + write_record(ba, 0x0275 /* BrtEndComments */); return ba.end(); } var CT_VBA = "application/vnd.ms-office.vbaProject"; @@ -11886,9 +12093,6 @@ function fill_vba_xls(cfb, vba) { }); } var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -RELS.DS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"; -RELS.MS = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet"; - /* macro and dialog sheet stubs */ function parse_ds_bin() { return {'!type':'dialog'}; } function parse_ds_xml() { return {'!type':'dialog'}; } @@ -11920,7 +12124,7 @@ var rc_to_a1 = (function(){ })(); var crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g; -var a1_to_rc =(function(){ +var a1_to_rc = (function(){ return function a1_to_rc(fstr, base) { return fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) { var c = decode_col($3) - ($2 ? 0 : base.c); @@ -12528,7 +12732,6 @@ var PtgDupes = { 0x5C: 0x3C, 0x7C: 0x3C, 0x5D: 0x3D, 0x7D: 0x3D }; -(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); var Ptg18 = { 0x01: { n:'PtgElfLel', f:parse_PtgElfLel }, @@ -12553,12 +12756,12 @@ var Ptg19 = { 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, +0x21: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, 0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, 0xFF: {} }; -Ptg19[0x21] = Ptg19[0x20]; /* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { @@ -12602,7 +12805,7 @@ function parse_Rgce(blob, length, opts) { while(target != blob.l) { length = target - blob.l; id = blob[blob.l]; - R = PtgTypes[id]; + R = PtgTypes[id] || PtgTypes[PtgDupes[id]]; if(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]]; if(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); } else { ptgs.push([R.n, R.f(blob, length, opts)]); } @@ -14292,10 +14495,6 @@ function csf_to_ods_3D(r) { var strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options -RELS.WS = [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" -]; /*global Map */ var browser_has_Map = typeof Map !== 'undefined'; @@ -14529,7 +14728,7 @@ function parse_ws_xml_sheetpr(sheetPr, s, wb, idx) { if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); } -function parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx, styles, themes) { +function parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx) { parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { @@ -14680,7 +14879,8 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb) { } function write_ws_xml_cell(cell, ref, ws, opts) { - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z') return ""; + if(cell.c) ws['!comments'].push([ref, cell.c]); + if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { @@ -14722,7 +14922,6 @@ function write_ws_xml_cell(cell, ref, ws, opts) { v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); } if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.c) ws['!comments'].push([ref, cell.c]); if(cell.D) o.cm = 1; return writextag('c', v, o); } @@ -14901,8 +15100,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { safe_format(p, fmtid, fillid, opts, themes, styles); if(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Types||[])[+tag.cm-1]; - if(cm && cm.name == 'XLDAPR') p.D = true; + var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; + if(cm && cm.type == 'XLDAPR') p.D = true; } if(dense) { var _r = decode_cell(tag.r); @@ -14958,13 +15157,11 @@ function write_ws_xml_data(ws, opts, idx, wb) { return o.join(""); } -var WS_XML_ROOT = writextag('worksheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - function write_ws_xml(idx, opts, wb, rels) { - var o = [XML_HEADER, WS_XML_ROOT]; + var o = [XML_HEADER, writextag('worksheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:r': XMLNS.r + })]; var s = wb.SheetNames[idx], sidx = 0, rdata = ""; var ws = wb.Sheets[s]; if(ws == null) ws = {}; @@ -15144,7 +15341,7 @@ function write_BrtRowHdr(R, range, ws) { } function write_row_header(ba, ws, range, R) { var o = write_BrtRowHdr(R, range, ws); - if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o); + if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o); } /* [MS-XLSB] 2.4.820 BrtWsDim */ @@ -15619,7 +15816,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { var cm, vm; - recordhopper(data, function ws_parse(val, R_n, RT) { + recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; switch(RT) { case 0x0094: /* 'BrtWsDim' */ @@ -15685,7 +15882,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { var _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } } if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15703,7 +15900,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { if(refguess.e.r < row.r) refguess.e.r = row.r; if(refguess.e.c < C) refguess.e.c = C; if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15713,7 +15910,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { merges.push(val); break; case 0x0031: { /* 'BrtCellMeta' */ - cm = ((opts.xlmeta||{}).Types||[])[val-1]; + cm = ((opts.xlmeta||{}).Cell||[])[val-1]; } break; case 0x01EE: /* 'BrtHLink' */ @@ -15848,14 +16045,13 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { case 0x0024: /* 'BrtFRTEnd' */ pass = false; break; case 0x0025: /* 'BrtACBegin' */ - state.push(R_n); pass = true; break; + state.push(RT); pass = true; break; case 0x0026: /* 'BrtACEnd' */ state.pop(); pass = false; break; default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n); + if(RR.T){/* empty */} + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); @@ -15906,42 +16102,42 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { if(opts.bookSST) { vv = get_sst_id(opts.Strings, (cell.v), opts.revStrings); o.t = "s"; o.v = vv; - if(last_seen) write_record(ba, "BrtShortIsst", write_BrtShortIsst(cell, o)); - else write_record(ba, "BrtCellIsst", write_BrtCellIsst(cell, o)); + if(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o)); + else write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o)); } else { o.t = "str"; - if(last_seen) write_record(ba, "BrtShortSt", write_BrtShortSt(cell, o)); - else write_record(ba, "BrtCellSt", write_BrtCellSt(cell, o)); + if(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o)); + else write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o)); } return true; case 'n': /* TODO: determine threshold for Real vs RK */ if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) { - if(last_seen) write_record(ba, "BrtShortRk", write_BrtShortRk(cell, o)); - else write_record(ba, "BrtCellRk", write_BrtCellRk(cell, o)); + if(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o)); + else write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o)); } else { - if(last_seen) write_record(ba, "BrtShortReal", write_BrtShortReal(cell, o)); - else write_record(ba, "BrtCellReal", write_BrtCellReal(cell, o)); + if(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o)); + else write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o)); } return true; case 'b': o.t = "b"; - if(last_seen) write_record(ba, "BrtShortBool", write_BrtShortBool(cell, o)); - else write_record(ba, "BrtCellBool", write_BrtCellBool(cell, o)); + if(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o)); + else write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o)); return true; case 'e': o.t = "e"; - if(last_seen) write_record(ba, "BrtShortError", write_BrtShortError(cell, o)); - else write_record(ba, "BrtCellError", write_BrtCellError(cell, o)); + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o)); + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o)); return true; } - if(last_seen) write_record(ba, "BrtShortBlank", write_BrtShortBlank(cell, o)); - else write_record(ba, "BrtCellBlank", write_BrtCellBlank(cell, o)); + if(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o)); + else write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o)); return true; } function write_CELLTABLE(ba, ws, idx, opts) { var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; - write_record(ba, 'BrtBeginSheetData'); + write_record(ba, 0x0091 /* BrtBeginSheetData */); var dense = Array.isArray(ws); var cap = range.e.r; if(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1); @@ -15961,28 +16157,28 @@ function write_CELLTABLE(ba, ws, idx, opts) { last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); } } - write_record(ba, 'BrtEndSheetData'); + write_record(ba, 0x0092 /* BrtEndSheetData */); } function write_MERGECELLS(ba, ws) { if(!ws || !ws['!merges']) return; - write_record(ba, 'BrtBeginMergeCells', write_BrtBeginMergeCells(ws['!merges'].length)); - ws['!merges'].forEach(function(m) { write_record(ba, 'BrtMergeCell', write_BrtMergeCell(m)); }); - write_record(ba, 'BrtEndMergeCells'); + write_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length)); + ws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); }); + write_record(ba, 0x00B2 /* BrtEndMergeCells */); } function write_COLINFOS(ba, ws) { if(!ws || !ws['!cols']) return; - write_record(ba, 'BrtBeginColInfos'); - ws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 'BrtColInfo', write_BrtColInfo(i, m)); }); - write_record(ba, 'BrtEndColInfos'); + write_record(ba, 0x0186 /* BrtBeginColInfos */); + ws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); }); + write_record(ba, 0x0187 /* BrtEndColInfos */); } function write_IGNOREECS(ba, ws) { if(!ws || !ws['!ref']) return; - write_record(ba, 'BrtBeginCellIgnoreECs'); - write_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref']))); - write_record(ba, 'BrtEndCellIgnoreECs'); + write_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */); + write_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref']))); + write_record(ba, 0x028A /* BrtEndCellIgnoreECs */); } function write_HLINKS(ba, ws, rels) { @@ -15990,7 +16186,7 @@ function write_HLINKS(ba, ws, rels) { ws['!links'].forEach(function(l) { if(!l[1].Target) return; var rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, ""), RELS.HLINK); - write_record(ba, "BrtHLink", write_BrtHLink(l, rId)); + write_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId)); }); delete ws['!links']; } @@ -15998,7 +16194,7 @@ function write_LEGACYDRAWING(ba, ws, idx, rels) { /* [BrtLegacyDrawing] */ if(ws['!comments'].length > 0) { var rId = add_rels(rels, -1, "../drawings/vmlDrawing" + (idx+1) + ".vml", RELS.VML); - write_record(ba, "BrtLegacyDrawing", write_RelID("rId" + rId)); + write_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID("rId" + rId)); ws['!legacy'] = rId; } } @@ -16022,37 +16218,37 @@ function write_AUTOFILTER(ba, ws, wb, idx) { } if(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: "'" + wb.SheetNames[idx] + "'!" + ref }); - write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(safe_decode_range(ref))); + write_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref))); /* *FILTERCOLUMN */ /* [SORTSTATE] */ /* BrtEndAFilter */ - write_record(ba, "BrtEndAFilter"); + write_record(ba, 0x00A2 /* BrtEndAFilter */); } function write_WSVIEWS2(ba, ws, Workbook) { - write_record(ba, "BrtBeginWsViews"); + write_record(ba, 0x0085 /* BrtBeginWsViews */); { /* 1*WSVIEW2 */ /* [ACUID] */ - write_record(ba, "BrtBeginWsView", write_BrtBeginWsView(ws, Workbook)); + write_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook)); /* [BrtPane] */ /* *4BrtSel */ /* *4SXSELECT */ /* *FRT */ - write_record(ba, "BrtEndWsView"); + write_record(ba, 0x008A /* BrtEndWsView */); } /* *FRT */ - write_record(ba, "BrtEndWsViews"); + write_record(ba, 0x0086 /* BrtEndWsViews */); } function write_WSFMTINFO() { /* [ACWSFMTINFO] */ - //write_record(ba, "BrtWsFmtInfo", write_BrtWsFmtInfo(ws)); + // write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws)); } function write_SHEETPROTECT(ba, ws) { if(!ws['!protect']) return; /* [BrtSheetProtectionIso] */ - write_record(ba, "BrtSheetProtection", write_BrtSheetProtection(ws['!protect'])); + write_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect'])); } function write_ws_bin(idx, opts, wb, rels) { @@ -16068,9 +16264,9 @@ function write_ws_bin(idx, opts, wb, rels) { ws['!links'] = []; /* passed back to write_zip and removed there */ ws['!comments'] = []; - write_record(ba, "BrtBeginSheet"); - if(wb.vbaraw || ws['!outline']) write_record(ba, "BrtWsProp", write_BrtWsProp(c, ws['!outline'])); - write_record(ba, "BrtWsDim", write_BrtWsDim(r)); + write_record(ba, 0x0081 /* BrtBeginSheet */); + if(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline'])); + write_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r)); write_WSVIEWS2(ba, ws, wb.Workbook); write_WSFMTINFO(ba, ws); write_COLINFOS(ba, ws, idx, opts, wb); @@ -16089,7 +16285,7 @@ function write_ws_bin(idx, opts, wb, rels) { /* [DVALS] */ write_HLINKS(ba, ws, rels); /* [BrtPrintOptions] */ - if(ws['!margins']) write_record(ba, "BrtMargins", write_BrtMargins(ws['!margins'])); + if(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins'])); /* [BrtPageSetup] */ /* [HEADERFOOTER] */ /* [RWBRK] */ @@ -16107,12 +16303,9 @@ function write_ws_bin(idx, opts, wb, rels) { /* [WEBPUBITEMS] */ /* [LISTPARTS] */ /* FRTWORKSHEET */ - write_record(ba, "BrtEndSheet"); + write_record(ba, 0x0082 /* BrtEndSheet */); return ba.end(); } -RELS.CHART = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"; -RELS.CHARTEX = "http://schemas.microsoft.com/office/2014/relationships/chartEx"; - function parse_Cache(data) { var col = []; var num = data.match(/^/); @@ -16158,13 +16351,6 @@ function parse_chart(data, name, opts, rels, wb, csheet) { if(C > 0) cs["!ref"] = encode_range(refguess); return cs; } -RELS.CS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"; - -var CS_XML_ROOT = writextag('chartsheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - /* 18.3 Worksheets also covers Chartsheets */ function parse_cs_xml(data, opts, idx, rels, wb) { if(!data) return data; @@ -16184,7 +16370,10 @@ function parse_cs_xml(data, opts, idx, rels, wb) { return s; } function write_cs_xml(idx, opts, wb, rels) { - var o = [XML_HEADER, CS_XML_ROOT]; + var o = [XML_HEADER, writextag('chartsheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:r': XMLNS.r + })]; o[o.length] = writextag("drawing", null, {"r:id": "rId1"}); add_rels(rels, -1, "../drawings/drawing" + (idx+1) + ".xml", RELS.DRAW); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } @@ -16205,7 +16394,7 @@ function parse_cs_bin(data, opts, idx, rels, wb) { var s = {'!type':"chart", '!drawel':null, '!rel':""}; var state = []; var pass = false; - recordhopper(data, function cs_parse(val, R_n, RT) { + recordhopper(data, function cs_parse(val, R, RT) { switch(RT) { case 0x0226: /* 'BrtDrawing' */ @@ -16231,14 +16420,14 @@ function parse_cs_bin(data, opts, idx, rels, wb) { case 0x0024: /* 'BrtFRTEnd' */ pass = false; break; case 0x0025: /* 'BrtACBegin' */ - state.push(R_n); break; + state.push(RT); break; case 0x0026: /* 'BrtACEnd' */ state.pop(); break; default: - if((R_n||"").indexOf("Begin") > 0) state.push(R_n); - else if((R_n||"").indexOf("End") > 0) state.pop(); - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R_n); + if(R.T > 0) state.push(RT); + else if(R.T < 0) state.pop(); + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); @@ -16247,7 +16436,7 @@ function parse_cs_bin(data, opts, idx, rels, wb) { } function write_cs_bin() { var ba = buf_array(); - write_record(ba, "BrtBeginSheet"); + write_record(ba, 0x0081 /* BrtBeginSheet */); /* [BrtCsProp] */ /* CSVIEWS */ /* [[BrtCsProtectionIso] BrtCsProtection] */ @@ -16261,7 +16450,7 @@ function write_cs_bin() { /* [BrtBkHim] */ /* [WEBPUBITEMS] */ /* FRTCHARTSHEET */ - write_record(ba, "BrtEndSheet"); + write_record(ba, 0x0082 /* BrtEndSheet */); return ba.end(); } /* 18.2.28 (CT_WorkbookProtection) Defaults */ @@ -16561,23 +16750,21 @@ function parse_wb_xml(data, opts) { } return x; }); - if(XMLNS.main.indexOf(wb.xmlns) === -1) throw new Error("Unknown Namespace: " + wb.xmlns); + if(XMLNS_main.indexOf(wb.xmlns) === -1) throw new Error("Unknown Namespace: " + wb.xmlns); parse_wb_defaults(wb); return wb; } -var WB_XML_ROOT = writextag('workbook', null, { - 'xmlns': XMLNS.main[0], - //'xmlns:mx': XMLNS.mx, - //'xmlns:s': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - function write_wb_xml(wb) { var o = [XML_HEADER]; - o[o.length] = WB_XML_ROOT; + o[o.length] = writextag('workbook', null, { + 'xmlns': XMLNS_main[0], + //'xmlns:mx': XMLNS.mx, + //'xmlns:s': XMLNS_main[0], + 'xmlns:r': XMLNS.r + }); var write_names = (wb.Workbook && (wb.Workbook.Names||[]).length > 0); @@ -16756,7 +16943,7 @@ function parse_wb_bin(data, opts) { XLSBRecordEnum[0x0010] = { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }; - recordhopper(data, function hopper_wb(val, R_n, RT) { + recordhopper(data, function hopper_wb(val, R, RT) { switch(RT) { case 0x009C: /* 'BrtBundleSh' */ supbooks.SheetNames.push(val.name); @@ -16826,20 +17013,19 @@ function parse_wb_bin(data, opts) { break; case 0x0023: /* 'BrtFRTBegin' */ - state.push(R_n); pass = true; break; + state.push(RT); pass = true; break; case 0x0024: /* 'BrtFRTEnd' */ state.pop(); pass = false; break; case 0x0025: /* 'BrtACBegin' */ - state.push(R_n); pass = true; break; + state.push(RT); pass = true; break; case 0x0026: /* 'BrtACEnd' */ state.pop(); pass = false; break; case 0x0010: /* 'BrtFRTArchID$' */ break; default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || (opts.WTF && state[state.length-1] != "BrtACBegin" && state[state.length-1] != "BrtFRTBegin")) throw new Error("Unexpected record " + RT + " " + R_n); + if(R.T){/* empty */} + else if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); @@ -16853,13 +17039,13 @@ function parse_wb_bin(data, opts) { } function write_BUNDLESHS(ba, wb) { - write_record(ba, "BrtBeginBundleShs"); + write_record(ba, 0x008F /* BrtBeginBundleShs */); for(var idx = 0; idx != wb.SheetNames.length; ++idx) { var viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0; var d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] }; - write_record(ba, "BrtBundleSh", write_BrtBundleSh(d)); + write_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d)); } - write_record(ba, "BrtEndBundleShs"); + write_record(ba, 0x0090 /* BrtEndBundleShs */); } /* [MS-XLSB] 2.4.649 BrtFileVersion */ @@ -16898,10 +17084,10 @@ function write_BOOKVIEWS(ba, wb) { else if(sheets[i].Hidden == 1 && hidden == -1) hidden = i; } if(hidden > vistab) return; - write_record(ba, "BrtBeginBookViews"); - write_record(ba, "BrtBookView", write_BrtBookView(vistab)); + write_record(ba, 0x0087 /* BrtBeginBookViews */); + write_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab)); /* 1*(BrtBookView *FRT) */ - write_record(ba, "BrtEndBookViews"); + write_record(ba, 0x0088 /* BrtEndBookViews */); } /* [MS-XLSB] 2.4.305 BrtCalcProp */ @@ -16927,10 +17113,10 @@ function write_BOOKVIEWS(ba, wb) { /* [MS-XLSB] 2.1.7.61 Workbook */ function write_wb_bin(wb, opts) { var ba = buf_array(); - write_record(ba, "BrtBeginBook"); - write_record(ba, "BrtFileVersion", write_BrtFileVersion()); + write_record(ba, 0x0083 /* BrtBeginBook */); + write_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion()); /* [[BrtFileSharingIso] BrtFileSharing] */ - write_record(ba, "BrtWbProp", write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null)); + write_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null)); /* [ACABSPATH] */ /* [[BrtBookProtectionIso] BrtBookProtection] */ write_BOOKVIEWS(ba, wb, opts); @@ -16938,18 +17124,18 @@ function write_wb_bin(wb, opts) { /* [FNGROUP] */ /* [EXTERNALS] */ /* *BrtName */ - /* write_record(ba, "BrtCalcProp", write_BrtCalcProp()); */ + /* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */ /* [BrtOleSize] */ /* *(BrtUserBookView *FRT) */ /* [PIVOTCACHEIDS] */ /* [BrtWbFactoid] */ /* [SMARTTAGTYPES] */ /* [BrtWebOpt] */ - /* write_record(ba, "BrtFileRecover", write_BrtFileRecover()); */ + /* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */ /* [WEBPUBITEMS] */ /* [CRERRS] */ /* FRTWORKBOOK */ - write_record(ba, "BrtEndBook"); + write_record(ba, 0x0084 /* BrtEndBook */); return ba.end(); } @@ -17213,7 +17399,7 @@ function parse_xlml_xml(d, _opts) { make_ssf(SSF); var str = debom(xlml_normalize(d)); if(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') { - if(typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str)); + if(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str)); else str = utf8read(str); } var opening = str.slice(0, 1024).toLowerCase(), ishtml = false; @@ -17225,7 +17411,7 @@ function parse_xlml_xml(d, _opts) { var state = [], tmp; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = ""; - var table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars + var cell = ({}), row = {};// eslint-disable-line no-unused-vars var dtag = xlml_parsexmltag(''), didx = 0; var c = 0, r = 0; var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; @@ -17349,7 +17535,6 @@ for(var cma = c; cma <= cc; ++cma) { if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} else if(Rn[0].slice(-2) == "/>") break; else { - table = xlml_parsexmltag(Rn[0]); state.push([Rn[3], false]); cstys = []; seencol = false; } @@ -18284,45 +18469,46 @@ function parse_compobj(obj) { /* Continue logic for: - - 2.4.58 Continue - - 2.4.59 ContinueBigName - - 2.4.60 ContinueFrt - - 2.4.61 ContinueFrt11 - - 2.4.62 ContinueFrt12 + - 2.4.58 Continue 0x003c + - 2.4.59 ContinueBigName 0x043c + - 2.4.60 ContinueFrt 0x0812 + - 2.4.61 ContinueFrt11 0x0875 + - 2.4.62 ContinueFrt12 0x087f */ -function slurp(R, blob, length, opts) { +var CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ]; +function slurp(RecordType, R, blob, length, opts) { var l = length; var bufs = []; var d = blob.slice(blob.l,blob.l+l); - if(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(R.n) { - case 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': case 'EOF': + if(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) { + case 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */: break; - case 'BoundSheet8': + case 0x0085 /* BoundSheet8 */: break; default: opts.enc.insitu(d); } bufs.push(d); blob.l += l; - var next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]); + var nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt]; var start = 0; - while(next != null && next.n.slice(0,8) === 'Continue') { + while(next != null && CONTINUE_RT.indexOf(nextrt) > -1) { l = __readUInt16LE(blob,blob.l+2); start = blob.l + 4; - if(next.n == 'ContinueFrt') start += 4; - else if(next.n.slice(0,11) == 'ContinueFrt') { + if(nextrt == 0x0812 /* ContinueFrt */) start += 4; + else if(nextrt == 0x0875 || nextrt == 0x087f) { start += 12; } d = blob.slice(start,blob.l+4+l); bufs.push(d); blob.l += 4+l; - next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); + next = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]); } var b = (bconcat(bufs)); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } - if(b.length < length) throw "XLS Record " + (R && R.n || "??") + " Truncated: " + b.length + " < " + length; + if(b.length < length) throw "XLS Record 0x" + RecordType.toString(16) + " Truncated: " + b.length + " < " + length; return R.f(b, b.length, opts); } @@ -18436,8 +18622,6 @@ function parse_workbook(blob, options) { var merges = []; var objects = []; var colinfo = [], rowinfo = []; - // eslint-disable-next-line no-unused-vars - var defwidth = 0, defheight = 0; // twips / MDW respectively var seencol = false; var supbooks = ([]); // 1-indexed, will hold extern names supbooks.SheetNames = opts.snames; @@ -18445,7 +18629,7 @@ function parse_workbook(blob, options) { supbooks.arrayf = opts.arrayf; supbooks.names = []; supbooks.XTI = []; - var last_Rn = ''; + var last_RT = 0; var file_depth = 0; /* TODO: make a real stack */ var BIFF2Fmt = 0, BIFF2FmtTable = []; var FilterDatabases = []; /* TODO: sort out supbooks and undefined elsewhere */ @@ -18458,16 +18642,16 @@ function parse_workbook(blob, options) { while(blob.l < blob.length - 1) { var s = blob.l; var RecordType = blob.read_shift(2); - if(RecordType === 0 && last_Rn === 'EOF') break; + if(RecordType === 0 && last_RT === 0x000a /* EOF */) break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)); var R = XLSRecordEnum[RecordType]; //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); //if(!R) console.log(blob.slice(blob.l, blob.l + length)); if(R && R.f) { if(options.bookSheets) { - if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; + if(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break; } - last_Rn = R.n; + last_RT = RecordType; if(R.r === 2 || R.r == 12) { var rt = blob.read_shift(2); length -= 2; if(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error("rt mismatch: " + rt + "!=" + RecordType); @@ -18477,26 +18661,22 @@ function parse_workbook(blob, options) { } //console.error(R,blob.l,length,blob.length); var val = ({}); - if(R.n === 'EOF') val = R.f(blob, length, opts); - else val = slurp(R, blob, length, opts); - var Rn = R.n; -if(file_depth == 0 && Rn != 'BOF') continue; - /* nested switch statements to workaround V8 128 limit */ - switch(Rn) { - /* Workbook Options */ - case 'Date1904': + if(RecordType === 0x000a /* EOF */) val = R.f(blob, length, opts); + else val = slurp(RecordType, R, blob, length, opts); +if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue; + switch(RecordType) { + case 0x0022 /* Date1904 */: wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; - case 'WriteProtect': wb.opts.WriteProtect = true; break; - case 'FilePass': + case 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break; + case 0x002f /* FilePass */: if(!opts.enc) blob.l = 0; opts.enc = val; if(!options.password) throw new Error("File is password-protected"); if(val.valid == null) throw new Error("Encryption scheme unsupported"); if(!val.valid) throw new Error("Password is incorrect"); break; - case 'WriteAccess': opts.lastuser = val; break; - case 'FileSharing': break; //TODO - case 'CodePage': + case 0x005c /* WriteAccess */: opts.lastuser = val; break; + case 0x0042 /* CodePage */: var cpval = Number(val); /* overrides based on test cases */ switch(cpval) { @@ -18507,44 +18687,32 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; set_cp(opts.codepage = cpval); seen_codepage = true; break; - case 'RRTabId': opts.rrtabid = val; break; - case 'WinProtect': opts.winlocked = val; break; - case 'Template': break; // TODO - case 'BookBool': break; // TODO - case 'UsesELFs': break; - case 'MTRSettings': break; - case 'RefreshAll': - case 'CalcCount': - case 'CalcDelta': - case 'CalcIter': - case 'CalcMode': - case 'CalcPrecision': - case 'CalcSaveRecalc': - wb.opts[Rn] = val; break; - case 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1 - case 'Uncalced': break; - case 'ForceFullCalculation': wb.opts.FullCalc = val; break; - case 'WsBool': + case 0x013d /* RRTabId */: opts.rrtabid = val; break; + case 0x0019 /* WinProtect */: opts.winlocked = val; break; + case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break; + case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break; + case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break; + case 0x0011 /* CalcIter */: wb.opts["CalcIter"] = val; break; + case 0x000d /* CalcMode */: wb.opts["CalcMode"] = val; break; + case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break; + case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break; + case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1 + case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break; + case 0x0081 /* WsBool */: if(val.fDialog) out["!type"] = "dialog"; if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; break; // TODO - case 'XF': + case 0x00e0 /* XF */: XFs.push(val); break; - case 'ExtSST': break; // TODO - case 'BookExt': break; // TODO - case 'RichTextStream': break; - case 'BkHim': break; - - case 'SupBook': + case 0x01ae /* SupBook */: supbooks.push([val]); supbooks[supbooks.length-1].XTI = []; break; - case 'ExternName': + case 0x0023: case 0x0223 /* ExternName */: supbooks[supbooks.length-1].push(val); break; - case 'Index': break; // TODO - case 'Lbl': + case 0x0018: case 0x0218 /* Lbl */: last_lbl = ({ Name: val.Name, Ref: stringify_formula(val.rgce,range,null,supbooks,opts) @@ -18557,25 +18725,22 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d') FilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) }; break; - case 'ExternCount': opts.ExternCount = val; break; - case 'ExternSheet': + case 0x0016 /* ExternCount */: opts.ExternCount = val; break; + case 0x0017 /* ExternSheet */: if(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; } supbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break; - case 'NameCmt': + case 0x0894 /* NameCmt */: /* TODO: search for correct name */ if(opts.biff < 8) break; if(last_lbl != null) last_lbl.Comment = val[1]; break; - - case 'Protect': out["!protect"] = val; break; /* for sheet or book */ - case 'Password': if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; - case 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/ - - case 'BoundSheet8': { + case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */ + case 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; + case 0x0085 /* BoundSheet8 */: { Directory[val.pos] = val; opts.snames.push(val.name); } break; - case 'EOF': { + case 0x000a /* EOF */: { if(--file_depth) break; if(range.e) { if(range.e.r > 0 && range.e.c > 0) { @@ -18599,7 +18764,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(cur_sheet === "") Preamble = out; else Sheets[cur_sheet] = out; out = ((options.dense ? [] : {})); } break; - case 'BOF': { + case 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: { if(opts.biff === 8) opts.biff = { 0x0009:2, 0x0209:3, @@ -18636,31 +18801,29 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; objects = []; opts.arrayf = arrayf = []; colinfo = []; rowinfo = []; - defwidth = defheight = 0; seencol = false; wsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet }; } break; - - case 'Number': case 'BIFF2NUM': case 'BIFF2INT': { + case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}); if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; - case 'BoolErr': { + case 0x0005: case 0x0205 /* BoolErr */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}); if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; - case 'RK': { + case 0x027e /* RK */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}); if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; - case 'MulRk': { + case 0x00bd /* MulRk */: { for(var j = val.c; j <= val.C; ++j) { var ixfe = val.rkrec[j-val.c][0]; temp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}); @@ -18669,7 +18832,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; addcell({c:j, r:val.r}, temp_val, options); } } break; - case 'Formula': { + case 0x0006: case 0x0206: case 0x0406 /* Formula */: { if(val.val == 'String') { last_formula = val; break; } temp_val = make_cell(val.val, val.cell.ixfe, val.tt); temp_val.XF = XFs[temp_val.ixfe]; @@ -18687,7 +18850,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; addcell(val.cell, temp_val, options); last_formula = val; } break; - case 'String': { + case 0x0007: case 0x0207 /* String */: { if(last_formula) { /* technically always true */ last_formula.val = val; temp_val = make_cell(val, last_formula.cell.ixfe, 's'); @@ -18701,7 +18864,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; last_formula = null; } else throw new Error("String record expects Formula"); } break; - case 'Array': { + case 0x0021: case 0x0221 /* Array */: { arrayf.push(val); var _arraystart = encode_cell(val[0].s); cc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart]; @@ -18712,7 +18875,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; cc.F = encode_range(val[0]); } } break; - case 'ShrFmla': { + case 0x04bc /* ShrFmla */: { if(!options.cellFormula) break; if(last_cell) { /* TODO: capture range */ @@ -18722,7 +18885,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; (cc||{}).f = ""+stringify_formula(val[0], range, lastcell, supbooks, opts); } } break; - case 'LabelSst': + case 0x00fd /* LabelSst */: temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); if(sst[val.isst].h) temp_val.h = sst[val.isst].h; temp_val.XF = XFs[temp_val.ixfe]; @@ -18730,13 +18893,13 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; - case 'Blank': if(options.sheetStubs) { + case 0x0201 /* Blank */: if(options.sheetStubs) { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}); if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); } break; - case 'MulBlank': if(options.sheetStubs) { + case 0x00be /* MulBlank */: if(options.sheetStubs) { for(var _j = val.c; _j <= val.C; ++_j) { var _ixfe = val.ixfe[_j-val.c]; temp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}); @@ -18745,8 +18908,8 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; addcell({c:_j, r:val.r}, temp_val, options); } } break; - case 'RString': - case 'Label': case 'BIFF2STR': + case 0x00d6 /* RString */: + case 0x0204 /* Label */: case 0x0004 /* BIFF2STR */: temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; @@ -18754,13 +18917,13 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; addcell({c:val.c, r:val.r}, temp_val, options); break; - case 'Dimensions': { + case 0x0000: case 0x0200 /* Dimensions */: { if(file_depth === 1) range = val; /* TODO: stack */ } break; - case 'SST': { + case 0x00fc /* SST */: { sst = val; } break; - case 'Format': { /* val = [id, fmt] */ + case 0x041e /* Format */: { /* val = [id, fmt] */ if(opts.biff == 4) { BIFF2FmtTable[BIFF2Fmt++] = val[1]; for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(SSF._table[b4idx] == val[1]) break; @@ -18768,35 +18931,33 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; } else SSF.load(val[1], val[0]); } break; - case 'BIFF2FORMAT': { + case 0x001e /* BIFF2FORMAT */: { BIFF2FmtTable[BIFF2Fmt++] = val; for(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break; if(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163); } break; - case 'MergeCells': merges = merges.concat(val); break; + case 0x00e5 /* MergeCells */: merges = merges.concat(val); break; - case 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break; - case 'TxO': opts.lastobj.TxO = val; break; - case 'ImData': opts.lastobj.ImData = val; break; + case 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break; + case 0x01b6 /* TxO */: opts.lastobj.TxO = val; break; + case 0x007f /* ImData */: opts.lastobj.ImData = val; break; - case 'HLink': { + case 0x01b8 /* HLink */: { for(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR) for(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) { cc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})]; if(cc) cc.l = val[1]; } } break; - case 'HLinkTooltip': { + case 0x0800 /* HLinkTooltip */: { for(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR) for(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) { cc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})]; if(cc && cc.l) cc.l.Tooltip = val[1]; } } break; - - /* Comments */ - case 'Note': { + case 0x001c /* Note */: { if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ cc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; var noteobj = objects[val[2]]; @@ -18816,15 +18977,8 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; cmnt = {a:val[1],t:noteobj.TxO.t}; cc.c.push(cmnt); } break; - - default: switch(R.n) { /* nested */ - case 'ClrtClient': break; - case 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break; - - case 'DefColWidth': defwidth = val; break; - case 'DefaultRowHeight': defheight = val[1]; break; // TODO: flags - - case 'ColInfo': { + case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; + case 0x007d /* ColInfo */: { if(!opts.cellStyles) break; while(val.e >= val.s) { colinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) }; @@ -18832,7 +18986,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; process_col(colinfo[val.e+1]); } } break; - case 'Row': { + case 0x0208 /* Row */: { var rowobj = {}; if(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; } if(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; } @@ -18841,267 +18995,197 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; rowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt); } } break; - - case 'LeftMargin': - case 'RightMargin': - case 'TopMargin': - case 'BottomMargin': + case 0x0026 /* LeftMargin */: + case 0x0027 /* RightMargin */: + case 0x0028 /* TopMargin */: + case 0x0029 /* BottomMargin */: if(!out['!margins']) default_margins(out['!margins'] = {}); - out['!margins'][Rn.slice(0,-6).toLowerCase()] = val; + out['!margins'][({0x26: "left", 0x27:"right", 0x28:"top", 0x29:"bottom"})[RecordType]] = val; break; - - case 'Selection': break; - - case 'Setup': // TODO + case 0x00a1 /* Setup */: // TODO if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'].header = val.header; out['!margins'].footer = val.footer; break; - - case 'Window2': // TODO + case 0x023e /* Window2 */: // TODO // $FlowIgnore if(val.RTL) Workbook.Views[0].RTL = true; break; - - case 'Header': break; // TODO - case 'Footer': break; // TODO - case 'HCenter': break; // TODO - case 'VCenter': break; // TODO - case 'Pls': break; // TODO - case 'GCW': break; - case 'LHRecord': break; - case 'DBCell': break; // TODO - case 'EntExU2': break; // TODO - case 'SxView': break; // TODO - case 'Sxvd': break; // TODO - case 'SXVI': break; // TODO - case 'SXVDEx': break; // TODO - case 'SxIvd': break; // TODO - case 'SXString': break; // TODO - case 'Sync': break; - case 'Addin': break; - case 'SXDI': break; // TODO - case 'SXLI': break; // TODO - case 'SXEx': break; // TODO - case 'QsiSXTag': break; // TODO - case 'Feat': break; - case 'FeatHdr': case 'FeatHdr11': break; - case 'Feature11': case 'Feature12': case 'List12': break; - case 'Country': country = val; break; - case 'RecalcId': break; - case 'DxGCol': break; // TODO: htmlify - case 'Fbi': case 'Fbi2': case 'GelFrame': break; - case 'Font': break; // TODO - case 'XFCRC': break; // TODO - case 'Style': break; // TODO - case 'StyleExt': break; // TODO - case 'Palette': palette = val; break; - case 'Theme': themes = val; break; - /* Protection */ - case 'ScenarioProtect': break; - case 'ObjProtect': break; - - /* Conditional Formatting */ - case 'CondFmt12': break; - - /* Table */ - case 'Table': break; // TODO - case 'TableStyles': break; // TODO - case 'TableStyle': break; // TODO - case 'TableStyleElement': break; // TODO - - /* PivotTable */ - case 'SXStreamID': break; // TODO - case 'SXVS': break; // TODO - case 'DConRef': break; // TODO - case 'SXAddl': break; // TODO - case 'DConBin': break; // TODO - case 'DConName': break; // TODO - case 'SXPI': break; // TODO - case 'SxFormat': break; // TODO - case 'SxSelect': break; // TODO - case 'SxRule': break; // TODO - case 'SxFilt': break; // TODO - case 'SxItm': break; // TODO - case 'SxDXF': break; // TODO - - /* Scenario Manager */ - case 'ScenMan': break; - - /* Data Consolidation */ - case 'DCon': break; - - /* Watched Cell */ - case 'CellWatch': break; - - /* Print Settings */ - case 'PrintRowCol': break; - case 'PrintGrid': break; - case 'PrintSize': break; - - case 'XCT': break; - case 'CRN': break; - - case 'Scl': { - //console.log("Zoom Level:", val[0]/val[1],val); - } break; - case 'SheetExt': { - /* empty */ - } break; - case 'SheetExtOptional': { - /* empty */ - } break; - - /* VBA */ - case 'ObNoMacros': { - /* empty */ - } break; - case 'ObProj': { - /* empty */ - } break; - case 'CodeName': { + case 0x0092 /* Palette */: palette = val; break; + case 0x0896 /* Theme */: themes = val; break; + case 0x008c /* Country */: country = val; break; + case 0x01ba /* CodeName */: { if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; else wsprops.CodeName = val || wsprops.name; } break; - case 'GUIDTypeLib': { - /* empty */ - } break; - - case 'WOpt': break; // TODO: WTF? - case 'PhoneticInfo': break; - - case 'OleObjectSize': break; - - /* Differential Formatting */ - case 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break; - - /* Data Validation */ - case 'Dv': case 'DVal': break; - - /* Data Series */ - case 'BRAI': case 'Series': case 'SeriesText': break; - - /* Data Connection */ - case 'DConn': break; - case 'DbOrParamQry': break; - case 'DBQueryExt': break; - - case 'OleDbConn': break; - case 'ExtString': break; - - /* Formatting */ - case 'IFmtRecord': break; - case 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break; - - /* Explicitly Ignored */ - case 'Excel9File': break; - case 'Units': break; - case 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': break; - case 'BuiltInFnGroupCount': /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break; - /* View Stuff */ - case 'Window1': case 'HideObj': case 'GridSet': case 'Guts': - case 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd': break; - case 'Pane': break; - default: switch(R.n) { /* nested */ - /* Chart */ - case 'Dat': - case 'Begin': case 'End': - case 'StartBlock': case 'EndBlock': - case 'Frame': case 'Area': - case 'Axis': case 'AxisLine': case 'Tick': break; - case 'AxesUsed': - case 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break; - case 'LineFormat': case 'AreaFormat': - case 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break; - case 'PlotArea': case 'PlotGrowth': break; - case 'SeriesList': case 'SerParent': case 'SerAuxTrend': break; - case 'DataFormat': case 'SerToCrt': case 'FontX': break; - case 'CatSerRange': case 'AxcExt': case 'SerFmt': break; - case 'ShtProps': break; - case 'DefaultText': case 'Text': case 'CatLab': break; - case 'DataLabExtContents': break; - case 'Legend': case 'LegendException': break; - case 'Pie': case 'Scatter': break; - case 'PieFormat': case 'MarkerFormat': break; - case 'StartObject': case 'EndObject': break; - case 'AlRuns': case 'ObjectLink': break; - case 'SIIndex': break; - case 'AttachedLabel': case 'YMult': break; - - /* Chart Group */ - case 'Line': case 'Bar': break; - case 'Surf': break; - - /* Axis Group */ - case 'AxisParent': break; - case 'Pos': break; - case 'ValueRange': break; - - /* Pivot Chart */ - case 'SXViewEx9': break; // TODO - case 'SXViewLink': break; - case 'PivotChartBits': break; - case 'SBaseRef': break; - case 'TextPropsStream': break; - - /* Chart Misc */ - case 'LnExt': break; - case 'MkrExt': break; - case 'CrtCoopt': break; - - /* Query Table */ - case 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break; - case 'TxtQry': break; - - /* Filter */ - case 'FilterMode': break; - case 'AutoFilter': case 'AutoFilterInfo': break; - case 'AutoFilter12': break; - case 'DropDownObjIds': break; - case 'Sort': break; - case 'SortData': break; - - /* Drawing */ - case 'ShapePropsStream': break; - case 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break; - /* Pub Stuff */ - case 'WebPub': case 'AutoWebPub': break; - - /* Print Stuff */ - case 'HeaderFooter': case 'HFPicture': case 'PLV': - case 'HorizontalPageBreaks': case 'VerticalPageBreaks': break; - /* Behavioral */ - case 'Backup': case 'CompressPictures': case 'Compat12': break; - - /* Should not Happen */ - case 'Continue': case 'ContinueFrt12': break; - - /* Future Records */ - case 'FrtFontList': case 'FrtWrapper': break; - - default: switch(R.n) { /* nested */ - /* BIFF5 records */ - case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; - - /* BIFF2-4 records */ - case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break; - case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; - case 'BIFF2XFINDEX': break; - case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - - /* Miscellaneous */ - case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': - case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': - case 'Name': break; - case 'LHNGraph': case 'FnGroupName': case 'AddMenu': case 'LPr': break; - case 'ListObj': case 'ListField': break; - case 'RRSort': break; - case 'BigName': break; - case 'ToolbarHdr': case 'ToolbarEnd': break; - case 'DDEObjName': break; - case 'FRTArchId$': break; - default: if(options.WTF) throw 'Unrecognized Record ' + R.n; - }}}} + case 0x0055 /* DefColWidth */: + case 0x0225 /* DefaultRowHeight */: + case 0x005e /* Uncalced */: + case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: /*TODO: Revision Control*/ + case 0x005b /* FileSharing */: + case 0x00ff /* ExtSST */: + case 0x0863 /* BookExt */: + case 0x08a6 /* RichTextStream */: + case 0x00e9 /* BkHim */: + case 0x0060 /* Template */: + case 0x00da /* BookBool */: + case 0x0160 /* UsesELFs */: + case 0x089a /* MTRSettings */: + case 0x000b: case 0x020b /* Index */: + case 0x105c /* ClrtClient */: + case 0x001d /* Selection */: + case 0x0014 /* Header */: + case 0x0015 /* Footer */: + case 0x0083 /* HCenter */: + case 0x0084 /* VCenter */: + case 0x004d /* Pls */: + case 0x00ab /* GCW */: + case 0x0094 /* LHRecord */: + case 0x00d7 /* DBCell */: + case 0x01c2 /* EntExU2 */: + case 0x00b0 /* SxView */: + case 0x00b1 /* Sxvd */: + case 0x00b2 /* SXVI */: + case 0x0100 /* SXVDEx */: + case 0x00b4 /* SxIvd */: + case 0x00cd /* SXString */: + case 0x0097 /* Sync */: + case 0x0087 /* Addin */: + case 0x00c5 /* SXDI */: + case 0x00b5 /* SXLI */: + case 0x00f1 /* SXEx */: + case 0x0802 /* QsiSXTag */: + case 0x0868 /* Feat */: + case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: + case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: + case 0x01c1 /* RecalcId */: + case 0x0099 /* DxGCol */: + case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: + case 0x0031 /* Font */: + case 0x087c /* XFCRC */: + case 0x0293 /* Style */: + case 0x0892 /* StyleExt */: + case 0x00dd /* ScenarioProtect */: + case 0x0063 /* ObjProtect */: + case 0x0879 /* CondFmt12 */: + case 0x0236 /* Table */: + case 0x088e /* TableStyles */: + case 0x088f /* TableStyle */: + case 0x0890 /* TableStyleElement */: + case 0x00d5 /* SXStreamID */: + case 0x00e3 /* SXVS */: + case 0x0051 /* DConRef */: + case 0x0864 /* SXAddl */: + case 0x01b5 /* DConBin */: + case 0x0052 /* DConName */: + case 0x00b6 /* SXPI */: + case 0x00fb /* SxFormat */: + case 0x00f7 /* SxSelect */: + case 0x00f0 /* SxRule */: + case 0x00f2 /* SxFilt */: + case 0x00f5 /* SxItm */: + case 0x00f4 /* SxDXF */: + case 0x00ae /* ScenMan */: + case 0x0050 /* DCon */: + case 0x086c /* CellWatch */: + case 0x002a /* PrintRowCol */: + case 0x002b /* PrintGrid */: + case 0x0033 /* PrintSize */: + case 0x0059 /* XCT */: + case 0x005a /* CRN */: + case 0x00a0 /* Scl */: + case 0x0862 /* SheetExt */: + case 0x01bd /* ObNoMacros */: + case 0x00d3 /* ObProj */: + case 0x0897 /* GUIDTypeLib */: + case 0x080b /* WOpt */: + case 0x00ef /* PhoneticInfo */: + case 0x00de /* OleObjectSize */: + case 0x088d /* DXF */: + case 0x01be /* Dv */: case 0x01b2 /* DVal */: + case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: + case 0x0876 /* DConn */: + case 0x00dc /* DbOrParamQry */: + case 0x0803 /* DBQueryExt */: + case 0x080a /* OleDbConn */: + case 0x0804 /* ExtString */: + case 0x104e /* IFmtRecord */: + case 0x01b0 /* CondFmt */: case 0x01b1 /* CF */: case 0x087a /* CF12 */: case 0x087b /* CFEx */: + case 0x01c0 /* Excel9File */: + case 0x1001 /* Units */: + case 0x00e1 /* InterfaceHdr' */: case 0x00c1 /* Mms */: case 0x00e2 /* InterfaceEnd */: case 0x0161 /* DSF */: + case 0x009c /* BuiltInFnGroupCount */: /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break; + case 0x003d /* Window1 */: case 0x008d /* HideObj */: case 0x0082 /* GridSet */: case 0x0080 /* Guts */: + case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01ab /* UserSViewEnd */: + case 0x0041 /* Pane */: + case 0x1063 /* Dat */: + case 0x1033 /* Begin */: case 0x1034 /* End */: + case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: + case 0x1032 /* Frame */: case 0x101a /* Area */: + case 0x101d /* Axis */: case 0x1021 /* AxisLine */: case 0x101e /* Tick */: + case 0x1046 /* AxesUsed */: + case 0x089d /* CrtLayout12 */: case 0x08a7 /* CrtLayout12A */: case 0x1022 /* CrtLink */: case 0x101c /* CrtLine */: case 0x089e /* CrtMlFrt */: case 0x089f /* CrtMlFrtContinue */: + case 0x1007 /* LineFormat */: case 0x100a /* AreaFormat */: + case 0x1002 /* Chart */: case 0x103a /* Chart3d */: case 0x105f /* Chart3DBarShape */: case 0x1014 /* ChartFormat */: case 0x0850 /* ChartFrtInfo */: + case 0x1035 /* PlotArea */: case 0x1064 /* PlotGrowth */: + case 0x1016 /* SeriesList */: case 0x104a /* SerParent */: case 0x104b /* SerAuxTrend */: + case 0x1006 /* DataFormat */: case 0x1045 /* SerToCrt */: case 0x1026 /* FontX */: + case 0x1020 /* CatSerRange */: case 0x1062 /* AxcExt */: case 0x105d /* SerFmt */: + case 0x1044 /* ShtProps */: + case 0x1024 /* DefaultText */: case 0x1025 /* Text */: case 0x0856 /* CatLab */: + case 0x086b /* DataLabExtContents */: + case 0x1015 /* Legend */: case 0x1043 /* LegendException */: + case 0x1019 /* Pie */: case 0x101b /* Scatter */: + case 0x100b /* PieFormat */: case 0x1009 /* MarkerFormat */: + case 0x0854 /* StartObject */: case 0x0855 /* EndObject */: + case 0x1050 /* AlRuns */: case 0x1027 /* ObjectLink */: + case 0x1065 /* SIIndex */: + case 0x100c /* AttachedLabel */: case 0x0857 /* YMult */: + case 0x1018 /* Line */: case 0x1017 /* Bar */: + case 0x103f /* Surf */: + case 0x1041 /* AxisParent */: + case 0x104f /* Pos */: + case 0x101f /* ValueRange */: + case 0x0810 /* SXViewEx9 */: + case 0x0858 /* SXViewLink */: + case 0x0859 /* PivotChartBits */: + case 0x1048 /* SBaseRef */: + case 0x08a5 /* TextPropsStream */: + case 0x08c9 /* LnExt */: + case 0x08ca /* MkrExt */: + case 0x08cb /* CrtCoopt */: + case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: + case 0x0805 /* TxtQry */: + case 0x009b /* FilterMode */: + case 0x009e /* AutoFilter */: case 0x009d /* AutoFilterInfo */: + case 0x087e /* AutoFilter12 */: + case 0x0874 /* DropDownObjIds */: + case 0x0090 /* Sort */: + case 0x0895 /* SortData */: + case 0x08a4 /* ShapePropsStream */: + case 0x00ec /* MsoDrawing */: case 0x00eb /* MsoDrawingGroup*/: case 0x00ed /* MsoDrawingSelection */: + case 0x0801 /* WebPub */: case 0x08c0 /* AutoWebPub */: + case 0x089c /* HeaderFooter */: case 0x0866 /* HFPicture */: case 0x088b /* PLV */: + case 0x001b /* HorizontalPageBreaks */: case 0x001a /* VerticalPageBreaks */: + case 0x0040 /* Backup */: case 0x089b /* CompressPictures */: case 0x088c /* Compat12 */: + case 0x003c /* 'Continue' */: case 0x087f /* 'ContinueFrt12' */: + case 0x085a /* FrtFontList */: case 0x0851 /* 'FrtWrapper' */: + case 0x00ea /* TabIdConf */: case 0x103e /* Radar */: case 0x1040 /* RadarArea */: case 0x103d /* DropBar */: case 'Intl': case 'CoordList': case 'SerAuxErrBar': + case 0x0045 /* BIFF2FONTCLR */: case 0x001f /* BIFF2FMTCNT */: case 0x0032 /* BIFF2FONTXTRA */: + case 0x0043 /* BIFF2XF */: case 0x0243 /* BIFF3XF */: case 0x0443 /* BIFF4XF */: + case 0x0044 /* BIFF2XFINDEX */: + case 0x0056 /* BIFF4FMTCNT */: case 0x0008 /* BIFF2ROW */: case 0x003e /* BIFF2WINDOW2 */: + case 0x00af /* SCENARIO */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: + case 0x01b9 /* Lel */: case 0x1061 /* BopPop */: case 0x1067 /* BopPopCustom */: case 0x0813 /* RealTimeData */: + case 0x0095 /* LHNGraph */: case 0x009a /* FnGroupName */: case 0x00c2 /* AddMenu */: case 0x0098 /* LPr */: + case 0x08c1 /* ListObj */: case 0x08c2 /* ListField */: + case 0x013f /* RRSort */: + case 0x0418 /* BigName */: + case 0x00bf /* ToolbarHdr */: case 0x00c0/* ToolbarEnd */: + case 0x0034 /* DDEObjName */: + case 0x08d6 /* FRTArchId$ */: break; + default: if(options.WTF) throw 'Unrecognized Record 0x' + RecordType.toString(16); + } } else blob.l += length; } wb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;}); @@ -19153,6 +19237,8 @@ function parse_xls_props(cfb, props, o) { function write_xls_props(wb, cfb) { var DSEntries = [], SEntries = [], CEntries = []; var i = 0, Keys; + var DocSummaryRE = evert_key(DocSummaryPIDDSI, "n"); + var SummaryRE = evert_key(SummaryPIDSI, "n"); if(wb.Props) { Keys = keys(wb.Props); // $FlowIgnore @@ -19165,7 +19251,7 @@ function write_xls_props(wb, cfb) { } var CEntries2 = []; for(i = 0; i < CEntries.length; ++i) { - if(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue; if(CEntries[i][1] == null) continue; CEntries2.push(CEntries[i]); } @@ -19242,1252 +19328,1244 @@ function write_xlscfb(wb, opts) { } /* [MS-XLSB] 2.3 Record Enumeration */ var XLSBRecordEnum = { -0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, -0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, -0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, -0x0003: { n:"BrtCellError", f:parse_BrtCellError }, -0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, -0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, -0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, -0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, -0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, -0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, -0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, -0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, -0x000C: { n:"BrtShortBlank", f:parse_BrtShortBlank }, -0x000D: { n:"BrtShortRk", f:parse_BrtShortRk }, -0x000E: { n:"BrtShortError", f:parse_BrtShortError }, -0x000F: { n:"BrtShortBool", f:parse_BrtShortBool }, -0x0010: { n:"BrtShortReal", f:parse_BrtShortReal }, -0x0011: { n:"BrtShortSt", f:parse_BrtShortSt }, -0x0012: { n:"BrtShortIsst", f:parse_BrtShortIsst }, -0x0013: { n:"BrtSSTItem", f:parse_RichStr }, -0x0014: { n:"BrtPCDIMissing" }, -0x0015: { n:"BrtPCDINumber" }, -0x0016: { n:"BrtPCDIBoolean" }, -0x0017: { n:"BrtPCDIError" }, -0x0018: { n:"BrtPCDIString" }, -0x0019: { n:"BrtPCDIDatetime" }, -0x001A: { n:"BrtPCDIIndex" }, -0x001B: { n:"BrtPCDIAMissing" }, -0x001C: { n:"BrtPCDIANumber" }, -0x001D: { n:"BrtPCDIABoolean" }, -0x001E: { n:"BrtPCDIAError" }, -0x001F: { n:"BrtPCDIAString" }, -0x0020: { n:"BrtPCDIADatetime" }, -0x0021: { n:"BrtPCRRecord" }, -0x0022: { n:"BrtPCRRecordDt" }, -0x0023: { n:"BrtFRTBegin" }, -0x0024: { n:"BrtFRTEnd" }, -0x0025: { n:"BrtACBegin" }, -0x0026: { n:"BrtACEnd" }, -0x0027: { n:"BrtName", f:parse_BrtName }, -0x0028: { n:"BrtIndexRowBlock" }, -0x002A: { n:"BrtIndexBlock" }, -0x002B: { n:"BrtFont", f:parse_BrtFont }, -0x002C: { n:"BrtFmt", f:parse_BrtFmt }, -0x002D: { n:"BrtFill", f:parse_BrtFill }, -0x002E: { n:"BrtBorder", f:parse_BrtBorder }, -0x002F: { n:"BrtXF", f:parse_BrtXF }, -0x0030: { n:"BrtStyle" }, -0x0031: { n:"BrtCellMeta", f:parse_Int32LE }, -0x0032: { n:"BrtValueMeta" }, -0x0033: { n:"BrtMdb" }, -0x0034: { n:"BrtBeginFmd" }, -0x0035: { n:"BrtEndFmd" }, -0x0036: { n:"BrtBeginMdx" }, -0x0037: { n:"BrtEndMdx" }, -0x0038: { n:"BrtBeginMdxTuple" }, -0x0039: { n:"BrtEndMdxTuple" }, -0x003A: { n:"BrtMdxMbrIstr" }, -0x003B: { n:"BrtStr" }, -0x003C: { n:"BrtColInfo", f:parse_ColInfo }, -0x003E: { n:"BrtCellRString", f:parse_BrtCellRString }, -0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, -0x0040: { n:"BrtDVal", f:parse_BrtDVal }, -0x0041: { n:"BrtSxvcellNum" }, -0x0042: { n:"BrtSxvcellStr" }, -0x0043: { n:"BrtSxvcellBool" }, -0x0044: { n:"BrtSxvcellErr" }, -0x0045: { n:"BrtSxvcellDate" }, -0x0046: { n:"BrtSxvcellNil" }, -0x0080: { n:"BrtFileVersion" }, -0x0081: { n:"BrtBeginSheet" }, -0x0082: { n:"BrtEndSheet" }, -0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, -0x0084: { n:"BrtEndBook" }, -0x0085: { n:"BrtBeginWsViews" }, -0x0086: { n:"BrtEndWsViews" }, -0x0087: { n:"BrtBeginBookViews" }, -0x0088: { n:"BrtEndBookViews" }, -0x0089: { n:"BrtBeginWsView", f:parse_BrtBeginWsView }, -0x008A: { n:"BrtEndWsView" }, -0x008B: { n:"BrtBeginCsViews" }, -0x008C: { n:"BrtEndCsViews" }, -0x008D: { n:"BrtBeginCsView" }, -0x008E: { n:"BrtEndCsView" }, -0x008F: { n:"BrtBeginBundleShs" }, -0x0090: { n:"BrtEndBundleShs" }, -0x0091: { n:"BrtBeginSheetData" }, -0x0092: { n:"BrtEndSheetData" }, -0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, -0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, -0x0097: { n:"BrtPane", f:parse_BrtPane }, -0x0098: { n:"BrtSel" }, -0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, -0x009A: { n:"BrtWbFactoid" }, -0x009B: { n:"BrtFileRecover" }, -0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, -0x009D: { n:"BrtCalcProp" }, -0x009E: { n:"BrtBookView" }, -0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, -0x00A0: { n:"BrtEndSst" }, -0x00A1: { n:"BrtBeginAFilter", f:parse_UncheckedRfX }, -0x00A2: { n:"BrtEndAFilter" }, -0x00A3: { n:"BrtBeginFilterColumn" }, -0x00A4: { n:"BrtEndFilterColumn" }, -0x00A5: { n:"BrtBeginFilters" }, -0x00A6: { n:"BrtEndFilters" }, -0x00A7: { n:"BrtFilter" }, -0x00A8: { n:"BrtColorFilter" }, -0x00A9: { n:"BrtIconFilter" }, -0x00AA: { n:"BrtTop10Filter" }, -0x00AB: { n:"BrtDynamicFilter" }, -0x00AC: { n:"BrtBeginCustomFilters" }, -0x00AD: { n:"BrtEndCustomFilters" }, -0x00AE: { n:"BrtCustomFilter" }, -0x00AF: { n:"BrtAFilterDateGroupItem" }, -0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, -0x00B1: { n:"BrtBeginMergeCells" }, -0x00B2: { n:"BrtEndMergeCells" }, -0x00B3: { n:"BrtBeginPivotCacheDef" }, -0x00B4: { n:"BrtEndPivotCacheDef" }, -0x00B5: { n:"BrtBeginPCDFields" }, -0x00B6: { n:"BrtEndPCDFields" }, -0x00B7: { n:"BrtBeginPCDField" }, -0x00B8: { n:"BrtEndPCDField" }, -0x00B9: { n:"BrtBeginPCDSource" }, -0x00BA: { n:"BrtEndPCDSource" }, -0x00BB: { n:"BrtBeginPCDSRange" }, -0x00BC: { n:"BrtEndPCDSRange" }, -0x00BD: { n:"BrtBeginPCDFAtbl" }, -0x00BE: { n:"BrtEndPCDFAtbl" }, -0x00BF: { n:"BrtBeginPCDIRun" }, -0x00C0: { n:"BrtEndPCDIRun" }, -0x00C1: { n:"BrtBeginPivotCacheRecords" }, -0x00C2: { n:"BrtEndPivotCacheRecords" }, -0x00C3: { n:"BrtBeginPCDHierarchies" }, -0x00C4: { n:"BrtEndPCDHierarchies" }, -0x00C5: { n:"BrtBeginPCDHierarchy" }, -0x00C6: { n:"BrtEndPCDHierarchy" }, -0x00C7: { n:"BrtBeginPCDHFieldsUsage" }, -0x00C8: { n:"BrtEndPCDHFieldsUsage" }, -0x00C9: { n:"BrtBeginExtConnection" }, -0x00CA: { n:"BrtEndExtConnection" }, -0x00CB: { n:"BrtBeginECDbProps" }, -0x00CC: { n:"BrtEndECDbProps" }, -0x00CD: { n:"BrtBeginECOlapProps" }, -0x00CE: { n:"BrtEndECOlapProps" }, -0x00CF: { n:"BrtBeginPCDSConsol" }, -0x00D0: { n:"BrtEndPCDSConsol" }, -0x00D1: { n:"BrtBeginPCDSCPages" }, -0x00D2: { n:"BrtEndPCDSCPages" }, -0x00D3: { n:"BrtBeginPCDSCPage" }, -0x00D4: { n:"BrtEndPCDSCPage" }, -0x00D5: { n:"BrtBeginPCDSCPItem" }, -0x00D6: { n:"BrtEndPCDSCPItem" }, -0x00D7: { n:"BrtBeginPCDSCSets" }, -0x00D8: { n:"BrtEndPCDSCSets" }, -0x00D9: { n:"BrtBeginPCDSCSet" }, -0x00DA: { n:"BrtEndPCDSCSet" }, -0x00DB: { n:"BrtBeginPCDFGroup" }, -0x00DC: { n:"BrtEndPCDFGroup" }, -0x00DD: { n:"BrtBeginPCDFGItems" }, -0x00DE: { n:"BrtEndPCDFGItems" }, -0x00DF: { n:"BrtBeginPCDFGRange" }, -0x00E0: { n:"BrtEndPCDFGRange" }, -0x00E1: { n:"BrtBeginPCDFGDiscrete" }, -0x00E2: { n:"BrtEndPCDFGDiscrete" }, -0x00E3: { n:"BrtBeginPCDSDTupleCache" }, -0x00E4: { n:"BrtEndPCDSDTupleCache" }, -0x00E5: { n:"BrtBeginPCDSDTCEntries" }, -0x00E6: { n:"BrtEndPCDSDTCEntries" }, -0x00E7: { n:"BrtBeginPCDSDTCEMembers" }, -0x00E8: { n:"BrtEndPCDSDTCEMembers" }, -0x00E9: { n:"BrtBeginPCDSDTCEMember" }, -0x00EA: { n:"BrtEndPCDSDTCEMember" }, -0x00EB: { n:"BrtBeginPCDSDTCQueries" }, -0x00EC: { n:"BrtEndPCDSDTCQueries" }, -0x00ED: { n:"BrtBeginPCDSDTCQuery" }, -0x00EE: { n:"BrtEndPCDSDTCQuery" }, -0x00EF: { n:"BrtBeginPCDSDTCSets" }, -0x00F0: { n:"BrtEndPCDSDTCSets" }, -0x00F1: { n:"BrtBeginPCDSDTCSet" }, -0x00F2: { n:"BrtEndPCDSDTCSet" }, -0x00F3: { n:"BrtBeginPCDCalcItems" }, -0x00F4: { n:"BrtEndPCDCalcItems" }, -0x00F5: { n:"BrtBeginPCDCalcItem" }, -0x00F6: { n:"BrtEndPCDCalcItem" }, -0x00F7: { n:"BrtBeginPRule" }, -0x00F8: { n:"BrtEndPRule" }, -0x00F9: { n:"BrtBeginPRFilters" }, -0x00FA: { n:"BrtEndPRFilters" }, -0x00FB: { n:"BrtBeginPRFilter" }, -0x00FC: { n:"BrtEndPRFilter" }, -0x00FD: { n:"BrtBeginPNames" }, -0x00FE: { n:"BrtEndPNames" }, -0x00FF: { n:"BrtBeginPName" }, -0x0100: { n:"BrtEndPName" }, -0x0101: { n:"BrtBeginPNPairs" }, -0x0102: { n:"BrtEndPNPairs" }, -0x0103: { n:"BrtBeginPNPair" }, -0x0104: { n:"BrtEndPNPair" }, -0x0105: { n:"BrtBeginECWebProps" }, -0x0106: { n:"BrtEndECWebProps" }, -0x0107: { n:"BrtBeginEcWpTables" }, -0x0108: { n:"BrtEndECWPTables" }, -0x0109: { n:"BrtBeginECParams" }, -0x010A: { n:"BrtEndECParams" }, -0x010B: { n:"BrtBeginECParam" }, -0x010C: { n:"BrtEndECParam" }, -0x010D: { n:"BrtBeginPCDKPIs" }, -0x010E: { n:"BrtEndPCDKPIs" }, -0x010F: { n:"BrtBeginPCDKPI" }, -0x0110: { n:"BrtEndPCDKPI" }, -0x0111: { n:"BrtBeginDims" }, -0x0112: { n:"BrtEndDims" }, -0x0113: { n:"BrtBeginDim" }, -0x0114: { n:"BrtEndDim" }, -0x0115: { n:"BrtIndexPartEnd" }, -0x0116: { n:"BrtBeginStyleSheet" }, -0x0117: { n:"BrtEndStyleSheet" }, -0x0118: { n:"BrtBeginSXView" }, -0x0119: { n:"BrtEndSXVI" }, -0x011A: { n:"BrtBeginSXVI" }, -0x011B: { n:"BrtBeginSXVIs" }, -0x011C: { n:"BrtEndSXVIs" }, -0x011D: { n:"BrtBeginSXVD" }, -0x011E: { n:"BrtEndSXVD" }, -0x011F: { n:"BrtBeginSXVDs" }, -0x0120: { n:"BrtEndSXVDs" }, -0x0121: { n:"BrtBeginSXPI" }, -0x0122: { n:"BrtEndSXPI" }, -0x0123: { n:"BrtBeginSXPIs" }, -0x0124: { n:"BrtEndSXPIs" }, -0x0125: { n:"BrtBeginSXDI" }, -0x0126: { n:"BrtEndSXDI" }, -0x0127: { n:"BrtBeginSXDIs" }, -0x0128: { n:"BrtEndSXDIs" }, -0x0129: { n:"BrtBeginSXLI" }, -0x012A: { n:"BrtEndSXLI" }, -0x012B: { n:"BrtBeginSXLIRws" }, -0x012C: { n:"BrtEndSXLIRws" }, -0x012D: { n:"BrtBeginSXLICols" }, -0x012E: { n:"BrtEndSXLICols" }, -0x012F: { n:"BrtBeginSXFormat" }, -0x0130: { n:"BrtEndSXFormat" }, -0x0131: { n:"BrtBeginSXFormats" }, -0x0132: { n:"BrtEndSxFormats" }, -0x0133: { n:"BrtBeginSxSelect" }, -0x0134: { n:"BrtEndSxSelect" }, -0x0135: { n:"BrtBeginISXVDRws" }, -0x0136: { n:"BrtEndISXVDRws" }, -0x0137: { n:"BrtBeginISXVDCols" }, -0x0138: { n:"BrtEndISXVDCols" }, -0x0139: { n:"BrtEndSXLocation" }, -0x013A: { n:"BrtBeginSXLocation" }, -0x013B: { n:"BrtEndSXView" }, -0x013C: { n:"BrtBeginSXTHs" }, -0x013D: { n:"BrtEndSXTHs" }, -0x013E: { n:"BrtBeginSXTH" }, -0x013F: { n:"BrtEndSXTH" }, -0x0140: { n:"BrtBeginISXTHRws" }, -0x0141: { n:"BrtEndISXTHRws" }, -0x0142: { n:"BrtBeginISXTHCols" }, -0x0143: { n:"BrtEndISXTHCols" }, -0x0144: { n:"BrtBeginSXTDMPS" }, -0x0145: { n:"BrtEndSXTDMPs" }, -0x0146: { n:"BrtBeginSXTDMP" }, -0x0147: { n:"BrtEndSXTDMP" }, -0x0148: { n:"BrtBeginSXTHItems" }, -0x0149: { n:"BrtEndSXTHItems" }, -0x014A: { n:"BrtBeginSXTHItem" }, -0x014B: { n:"BrtEndSXTHItem" }, -0x014C: { n:"BrtBeginMetadata" }, -0x014D: { n:"BrtEndMetadata" }, -0x014E: { n:"BrtBeginEsmdtinfo" }, -0x014F: { n:"BrtMdtinfo", f:parse_BrtMdtinfo }, -0x0150: { n:"BrtEndEsmdtinfo" }, -0x0151: { n:"BrtBeginEsmdb" }, -0x0152: { n:"BrtEndEsmdb" }, -0x0153: { n:"BrtBeginEsfmd" }, -0x0154: { n:"BrtEndEsfmd" }, -0x0155: { n:"BrtBeginSingleCells" }, -0x0156: { n:"BrtEndSingleCells" }, -0x0157: { n:"BrtBeginList" }, -0x0158: { n:"BrtEndList" }, -0x0159: { n:"BrtBeginListCols" }, -0x015A: { n:"BrtEndListCols" }, -0x015B: { n:"BrtBeginListCol" }, -0x015C: { n:"BrtEndListCol" }, -0x015D: { n:"BrtBeginListXmlCPr" }, -0x015E: { n:"BrtEndListXmlCPr" }, -0x015F: { n:"BrtListCCFmla" }, -0x0160: { n:"BrtListTrFmla" }, -0x0161: { n:"BrtBeginExternals" }, -0x0162: { n:"BrtEndExternals" }, -0x0163: { n:"BrtSupBookSrc", f:parse_RelID}, -0x0165: { n:"BrtSupSelf" }, -0x0166: { n:"BrtSupSame" }, -0x0167: { n:"BrtSupTabs" }, -0x0168: { n:"BrtBeginSupBook" }, -0x0169: { n:"BrtPlaceholderName" }, -0x016A: { n:"BrtExternSheet", f:parse_ExternSheet }, -0x016B: { n:"BrtExternTableStart" }, -0x016C: { n:"BrtExternTableEnd" }, -0x016E: { n:"BrtExternRowHdr" }, -0x016F: { n:"BrtExternCellBlank" }, -0x0170: { n:"BrtExternCellReal" }, -0x0171: { n:"BrtExternCellBool" }, -0x0172: { n:"BrtExternCellError" }, -0x0173: { n:"BrtExternCellString" }, -0x0174: { n:"BrtBeginEsmdx" }, -0x0175: { n:"BrtEndEsmdx" }, -0x0176: { n:"BrtBeginMdxSet" }, -0x0177: { n:"BrtEndMdxSet" }, -0x0178: { n:"BrtBeginMdxMbrProp" }, -0x0179: { n:"BrtEndMdxMbrProp" }, -0x017A: { n:"BrtBeginMdxKPI" }, -0x017B: { n:"BrtEndMdxKPI" }, -0x017C: { n:"BrtBeginEsstr" }, -0x017D: { n:"BrtEndEsstr" }, -0x017E: { n:"BrtBeginPRFItem" }, -0x017F: { n:"BrtEndPRFItem" }, -0x0180: { n:"BrtBeginPivotCacheIDs" }, -0x0181: { n:"BrtEndPivotCacheIDs" }, -0x0182: { n:"BrtBeginPivotCacheID" }, -0x0183: { n:"BrtEndPivotCacheID" }, -0x0184: { n:"BrtBeginISXVIs" }, -0x0185: { n:"BrtEndISXVIs" }, -0x0186: { n:"BrtBeginColInfos" }, -0x0187: { n:"BrtEndColInfos" }, -0x0188: { n:"BrtBeginRwBrk" }, -0x0189: { n:"BrtEndRwBrk" }, -0x018A: { n:"BrtBeginColBrk" }, -0x018B: { n:"BrtEndColBrk" }, -0x018C: { n:"BrtBrk" }, -0x018D: { n:"BrtUserBookView" }, -0x018E: { n:"BrtInfo" }, -0x018F: { n:"BrtCUsr" }, -0x0190: { n:"BrtUsr" }, -0x0191: { n:"BrtBeginUsers" }, -0x0193: { n:"BrtEOF" }, -0x0194: { n:"BrtUCR" }, -0x0195: { n:"BrtRRInsDel" }, -0x0196: { n:"BrtRREndInsDel" }, -0x0197: { n:"BrtRRMove" }, -0x0198: { n:"BrtRREndMove" }, -0x0199: { n:"BrtRRChgCell" }, -0x019A: { n:"BrtRREndChgCell" }, -0x019B: { n:"BrtRRHeader" }, -0x019C: { n:"BrtRRUserView" }, -0x019D: { n:"BrtRRRenSheet" }, -0x019E: { n:"BrtRRInsertSh" }, -0x019F: { n:"BrtRRDefName" }, -0x01A0: { n:"BrtRRNote" }, -0x01A1: { n:"BrtRRConflict" }, -0x01A2: { n:"BrtRRTQSIF" }, -0x01A3: { n:"BrtRRFormat" }, -0x01A4: { n:"BrtRREndFormat" }, -0x01A5: { n:"BrtRRAutoFmt" }, -0x01A6: { n:"BrtBeginUserShViews" }, -0x01A7: { n:"BrtBeginUserShView" }, -0x01A8: { n:"BrtEndUserShView" }, -0x01A9: { n:"BrtEndUserShViews" }, -0x01AA: { n:"BrtArrFmla", f:parse_BrtArrFmla }, -0x01AB: { n:"BrtShrFmla", f:parse_BrtShrFmla }, -0x01AC: { n:"BrtTable" }, -0x01AD: { n:"BrtBeginExtConnections" }, -0x01AE: { n:"BrtEndExtConnections" }, -0x01AF: { n:"BrtBeginPCDCalcMems" }, -0x01B0: { n:"BrtEndPCDCalcMems" }, -0x01B1: { n:"BrtBeginPCDCalcMem" }, -0x01B2: { n:"BrtEndPCDCalcMem" }, -0x01B3: { n:"BrtBeginPCDHGLevels" }, -0x01B4: { n:"BrtEndPCDHGLevels" }, -0x01B5: { n:"BrtBeginPCDHGLevel" }, -0x01B6: { n:"BrtEndPCDHGLevel" }, -0x01B7: { n:"BrtBeginPCDHGLGroups" }, -0x01B8: { n:"BrtEndPCDHGLGroups" }, -0x01B9: { n:"BrtBeginPCDHGLGroup" }, -0x01BA: { n:"BrtEndPCDHGLGroup" }, -0x01BB: { n:"BrtBeginPCDHGLGMembers" }, -0x01BC: { n:"BrtEndPCDHGLGMembers" }, -0x01BD: { n:"BrtBeginPCDHGLGMember" }, -0x01BE: { n:"BrtEndPCDHGLGMember" }, -0x01BF: { n:"BrtBeginQSI" }, -0x01C0: { n:"BrtEndQSI" }, -0x01C1: { n:"BrtBeginQSIR" }, -0x01C2: { n:"BrtEndQSIR" }, -0x01C3: { n:"BrtBeginDeletedNames" }, -0x01C4: { n:"BrtEndDeletedNames" }, -0x01C5: { n:"BrtBeginDeletedName" }, -0x01C6: { n:"BrtEndDeletedName" }, -0x01C7: { n:"BrtBeginQSIFs" }, -0x01C8: { n:"BrtEndQSIFs" }, -0x01C9: { n:"BrtBeginQSIF" }, -0x01CA: { n:"BrtEndQSIF" }, -0x01CB: { n:"BrtBeginAutoSortScope" }, -0x01CC: { n:"BrtEndAutoSortScope" }, -0x01CD: { n:"BrtBeginConditionalFormatting" }, -0x01CE: { n:"BrtEndConditionalFormatting" }, -0x01CF: { n:"BrtBeginCFRule" }, -0x01D0: { n:"BrtEndCFRule" }, -0x01D1: { n:"BrtBeginIconSet" }, -0x01D2: { n:"BrtEndIconSet" }, -0x01D3: { n:"BrtBeginDatabar" }, -0x01D4: { n:"BrtEndDatabar" }, -0x01D5: { n:"BrtBeginColorScale" }, -0x01D6: { n:"BrtEndColorScale" }, -0x01D7: { n:"BrtCFVO" }, -0x01D8: { n:"BrtExternValueMeta" }, -0x01D9: { n:"BrtBeginColorPalette" }, -0x01DA: { n:"BrtEndColorPalette" }, -0x01DB: { n:"BrtIndexedColor" }, -0x01DC: { n:"BrtMargins", f:parse_BrtMargins }, -0x01DD: { n:"BrtPrintOptions" }, -0x01DE: { n:"BrtPageSetup" }, -0x01DF: { n:"BrtBeginHeaderFooter" }, -0x01E0: { n:"BrtEndHeaderFooter" }, -0x01E1: { n:"BrtBeginSXCrtFormat" }, -0x01E2: { n:"BrtEndSXCrtFormat" }, -0x01E3: { n:"BrtBeginSXCrtFormats" }, -0x01E4: { n:"BrtEndSXCrtFormats" }, -0x01E5: { n:"BrtWsFmtInfo", f:parse_BrtWsFmtInfo }, -0x01E6: { n:"BrtBeginMgs" }, -0x01E7: { n:"BrtEndMGs" }, -0x01E8: { n:"BrtBeginMGMaps" }, -0x01E9: { n:"BrtEndMGMaps" }, -0x01EA: { n:"BrtBeginMG" }, -0x01EB: { n:"BrtEndMG" }, -0x01EC: { n:"BrtBeginMap" }, -0x01ED: { n:"BrtEndMap" }, -0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, -0x01EF: { n:"BrtBeginDCon" }, -0x01F0: { n:"BrtEndDCon" }, -0x01F1: { n:"BrtBeginDRefs" }, -0x01F2: { n:"BrtEndDRefs" }, -0x01F3: { n:"BrtDRef" }, -0x01F4: { n:"BrtBeginScenMan" }, -0x01F5: { n:"BrtEndScenMan" }, -0x01F6: { n:"BrtBeginSct" }, -0x01F7: { n:"BrtEndSct" }, -0x01F8: { n:"BrtSlc" }, -0x01F9: { n:"BrtBeginDXFs" }, -0x01FA: { n:"BrtEndDXFs" }, -0x01FB: { n:"BrtDXF" }, -0x01FC: { n:"BrtBeginTableStyles" }, -0x01FD: { n:"BrtEndTableStyles" }, -0x01FE: { n:"BrtBeginTableStyle" }, -0x01FF: { n:"BrtEndTableStyle" }, -0x0200: { n:"BrtTableStyleElement" }, -0x0201: { n:"BrtTableStyleClient" }, -0x0202: { n:"BrtBeginVolDeps" }, -0x0203: { n:"BrtEndVolDeps" }, -0x0204: { n:"BrtBeginVolType" }, -0x0205: { n:"BrtEndVolType" }, -0x0206: { n:"BrtBeginVolMain" }, -0x0207: { n:"BrtEndVolMain" }, -0x0208: { n:"BrtBeginVolTopic" }, -0x0209: { n:"BrtEndVolTopic" }, -0x020A: { n:"BrtVolSubtopic" }, -0x020B: { n:"BrtVolRef" }, -0x020C: { n:"BrtVolNum" }, -0x020D: { n:"BrtVolErr" }, -0x020E: { n:"BrtVolStr" }, -0x020F: { n:"BrtVolBool" }, -0x0210: { n:"BrtBeginCalcChain$" }, -0x0211: { n:"BrtEndCalcChain$" }, -0x0212: { n:"BrtBeginSortState" }, -0x0213: { n:"BrtEndSortState" }, -0x0214: { n:"BrtBeginSortCond" }, -0x0215: { n:"BrtEndSortCond" }, -0x0216: { n:"BrtBookProtection" }, -0x0217: { n:"BrtSheetProtection" }, -0x0218: { n:"BrtRangeProtection" }, -0x0219: { n:"BrtPhoneticInfo" }, -0x021A: { n:"BrtBeginECTxtWiz" }, -0x021B: { n:"BrtEndECTxtWiz" }, -0x021C: { n:"BrtBeginECTWFldInfoLst" }, -0x021D: { n:"BrtEndECTWFldInfoLst" }, -0x021E: { n:"BrtBeginECTwFldInfo" }, -0x0224: { n:"BrtFileSharing" }, -0x0225: { n:"BrtOleSize" }, -0x0226: { n:"BrtDrawing", f:parse_RelID }, -0x0227: { n:"BrtLegacyDrawing" }, -0x0228: { n:"BrtLegacyDrawingHF" }, -0x0229: { n:"BrtWebOpt" }, -0x022A: { n:"BrtBeginWebPubItems" }, -0x022B: { n:"BrtEndWebPubItems" }, -0x022C: { n:"BrtBeginWebPubItem" }, -0x022D: { n:"BrtEndWebPubItem" }, -0x022E: { n:"BrtBeginSXCondFmt" }, -0x022F: { n:"BrtEndSXCondFmt" }, -0x0230: { n:"BrtBeginSXCondFmts" }, -0x0231: { n:"BrtEndSXCondFmts" }, -0x0232: { n:"BrtBkHim" }, -0x0234: { n:"BrtColor" }, -0x0235: { n:"BrtBeginIndexedColors" }, -0x0236: { n:"BrtEndIndexedColors" }, -0x0239: { n:"BrtBeginMRUColors" }, -0x023A: { n:"BrtEndMRUColors" }, -0x023C: { n:"BrtMRUColor" }, -0x023D: { n:"BrtBeginDVals" }, -0x023E: { n:"BrtEndDVals" }, -0x0241: { n:"BrtSupNameStart" }, -0x0242: { n:"BrtSupNameValueStart" }, -0x0243: { n:"BrtSupNameValueEnd" }, -0x0244: { n:"BrtSupNameNum" }, -0x0245: { n:"BrtSupNameErr" }, -0x0246: { n:"BrtSupNameSt" }, -0x0247: { n:"BrtSupNameNil" }, -0x0248: { n:"BrtSupNameBool" }, -0x0249: { n:"BrtSupNameFmla" }, -0x024A: { n:"BrtSupNameBits" }, -0x024B: { n:"BrtSupNameEnd" }, -0x024C: { n:"BrtEndSupBook" }, -0x024D: { n:"BrtCellSmartTagProperty" }, -0x024E: { n:"BrtBeginCellSmartTag" }, -0x024F: { n:"BrtEndCellSmartTag" }, -0x0250: { n:"BrtBeginCellSmartTags" }, -0x0251: { n:"BrtEndCellSmartTags" }, -0x0252: { n:"BrtBeginSmartTags" }, -0x0253: { n:"BrtEndSmartTags" }, -0x0254: { n:"BrtSmartTagType" }, -0x0255: { n:"BrtBeginSmartTagTypes" }, -0x0256: { n:"BrtEndSmartTagTypes" }, -0x0257: { n:"BrtBeginSXFilters" }, -0x0258: { n:"BrtEndSXFilters" }, -0x0259: { n:"BrtBeginSXFILTER" }, -0x025A: { n:"BrtEndSXFilter" }, -0x025B: { n:"BrtBeginFills" }, -0x025C: { n:"BrtEndFills" }, -0x025D: { n:"BrtBeginCellWatches" }, -0x025E: { n:"BrtEndCellWatches" }, -0x025F: { n:"BrtCellWatch" }, -0x0260: { n:"BrtBeginCRErrs" }, -0x0261: { n:"BrtEndCRErrs" }, -0x0262: { n:"BrtCrashRecErr" }, -0x0263: { n:"BrtBeginFonts" }, -0x0264: { n:"BrtEndFonts" }, -0x0265: { n:"BrtBeginBorders" }, -0x0266: { n:"BrtEndBorders" }, -0x0267: { n:"BrtBeginFmts" }, -0x0268: { n:"BrtEndFmts" }, -0x0269: { n:"BrtBeginCellXFs" }, -0x026A: { n:"BrtEndCellXFs" }, -0x026B: { n:"BrtBeginStyles" }, -0x026C: { n:"BrtEndStyles" }, -0x0271: { n:"BrtBigName" }, -0x0272: { n:"BrtBeginCellStyleXFs" }, -0x0273: { n:"BrtEndCellStyleXFs" }, -0x0274: { n:"BrtBeginComments" }, -0x0275: { n:"BrtEndComments" }, -0x0276: { n:"BrtBeginCommentAuthors" }, -0x0277: { n:"BrtEndCommentAuthors" }, -0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, -0x0279: { n:"BrtBeginCommentList" }, -0x027A: { n:"BrtEndCommentList" }, -0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, -0x027C: { n:"BrtEndComment" }, -0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, -0x027E: { n:"BrtBeginOleObjects" }, -0x027F: { n:"BrtOleObject" }, -0x0280: { n:"BrtEndOleObjects" }, -0x0281: { n:"BrtBeginSxrules" }, -0x0282: { n:"BrtEndSxRules" }, -0x0283: { n:"BrtBeginActiveXControls" }, -0x0284: { n:"BrtActiveX" }, -0x0285: { n:"BrtEndActiveXControls" }, -0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy" }, -0x0288: { n:"BrtBeginCellIgnoreECs" }, -0x0289: { n:"BrtCellIgnoreEC" }, -0x028A: { n:"BrtEndCellIgnoreECs" }, -0x028B: { n:"BrtCsProp", f:parse_BrtCsProp }, -0x028C: { n:"BrtCsPageSetup" }, -0x028D: { n:"BrtBeginUserCsViews" }, -0x028E: { n:"BrtEndUserCsViews" }, -0x028F: { n:"BrtBeginUserCsView" }, -0x0290: { n:"BrtEndUserCsView" }, -0x0291: { n:"BrtBeginPcdSFCIEntries" }, -0x0292: { n:"BrtEndPCDSFCIEntries" }, -0x0293: { n:"BrtPCDSFCIEntry" }, -0x0294: { n:"BrtBeginListParts" }, -0x0295: { n:"BrtListPart" }, -0x0296: { n:"BrtEndListParts" }, -0x0297: { n:"BrtSheetCalcProp" }, -0x0298: { n:"BrtBeginFnGroup" }, -0x0299: { n:"BrtFnGroup" }, -0x029A: { n:"BrtEndFnGroup" }, -0x029B: { n:"BrtSupAddin" }, -0x029C: { n:"BrtSXTDMPOrder" }, -0x029D: { n:"BrtCsProtection" }, -0x029F: { n:"BrtBeginWsSortMap" }, -0x02A0: { n:"BrtEndWsSortMap" }, -0x02A1: { n:"BrtBeginRRSort" }, -0x02A2: { n:"BrtEndRRSort" }, -0x02A3: { n:"BrtRRSortItem" }, -0x02A4: { n:"BrtFileSharingIso" }, -0x02A5: { n:"BrtBookProtectionIso" }, -0x02A6: { n:"BrtSheetProtectionIso" }, -0x02A7: { n:"BrtCsProtectionIso" }, -0x02A8: { n:"BrtRangeProtectionIso" }, -0x02A9: { n:"BrtDValList" }, -0x0400: { n:"BrtRwDescent" }, -0x0401: { n:"BrtKnownFonts" }, -0x0402: { n:"BrtBeginSXTupleSet" }, -0x0403: { n:"BrtEndSXTupleSet" }, -0x0404: { n:"BrtBeginSXTupleSetHeader" }, -0x0405: { n:"BrtEndSXTupleSetHeader" }, -0x0406: { n:"BrtSXTupleSetHeaderItem" }, -0x0407: { n:"BrtBeginSXTupleSetData" }, -0x0408: { n:"BrtEndSXTupleSetData" }, -0x0409: { n:"BrtBeginSXTupleSetRow" }, -0x040A: { n:"BrtEndSXTupleSetRow" }, -0x040B: { n:"BrtSXTupleSetRowItem" }, -0x040C: { n:"BrtNameExt" }, -0x040D: { n:"BrtPCDH14" }, -0x040E: { n:"BrtBeginPCDCalcMem14" }, -0x040F: { n:"BrtEndPCDCalcMem14" }, -0x0410: { n:"BrtSXTH14" }, -0x0411: { n:"BrtBeginSparklineGroup" }, -0x0412: { n:"BrtEndSparklineGroup" }, -0x0413: { n:"BrtSparkline" }, -0x0414: { n:"BrtSXDI14" }, -0x0415: { n:"BrtWsFmtInfoEx14" }, -0x0416: { n:"BrtBeginConditionalFormatting14" }, -0x0417: { n:"BrtEndConditionalFormatting14" }, -0x0418: { n:"BrtBeginCFRule14" }, -0x0419: { n:"BrtEndCFRule14" }, -0x041A: { n:"BrtCFVO14" }, -0x041B: { n:"BrtBeginDatabar14" }, -0x041C: { n:"BrtBeginIconSet14" }, -0x041D: { n:"BrtDVal14", f: parse_BrtDVal14 }, -0x041E: { n:"BrtBeginDVals14" }, -0x041F: { n:"BrtColor14" }, -0x0420: { n:"BrtBeginSparklines" }, -0x0421: { n:"BrtEndSparklines" }, -0x0422: { n:"BrtBeginSparklineGroups" }, -0x0423: { n:"BrtEndSparklineGroups" }, -0x0425: { n:"BrtSXVD14" }, -0x0426: { n:"BrtBeginSXView14" }, -0x0427: { n:"BrtEndSXView14" }, -0x0428: { n:"BrtBeginSXView16" }, -0x0429: { n:"BrtEndSXView16" }, -0x042A: { n:"BrtBeginPCD14" }, -0x042B: { n:"BrtEndPCD14" }, -0x042C: { n:"BrtBeginExtConn14" }, -0x042D: { n:"BrtEndExtConn14" }, -0x042E: { n:"BrtBeginSlicerCacheIDs" }, -0x042F: { n:"BrtEndSlicerCacheIDs" }, -0x0430: { n:"BrtBeginSlicerCacheID" }, -0x0431: { n:"BrtEndSlicerCacheID" }, -0x0433: { n:"BrtBeginSlicerCache" }, -0x0434: { n:"BrtEndSlicerCache" }, -0x0435: { n:"BrtBeginSlicerCacheDef" }, -0x0436: { n:"BrtEndSlicerCacheDef" }, -0x0437: { n:"BrtBeginSlicersEx" }, -0x0438: { n:"BrtEndSlicersEx" }, -0x0439: { n:"BrtBeginSlicerEx" }, -0x043A: { n:"BrtEndSlicerEx" }, -0x043B: { n:"BrtBeginSlicer" }, -0x043C: { n:"BrtEndSlicer" }, -0x043D: { n:"BrtSlicerCachePivotTables" }, -0x043E: { n:"BrtBeginSlicerCacheOlapImpl" }, -0x043F: { n:"BrtEndSlicerCacheOlapImpl" }, -0x0440: { n:"BrtBeginSlicerCacheLevelsData" }, -0x0441: { n:"BrtEndSlicerCacheLevelsData" }, -0x0442: { n:"BrtBeginSlicerCacheLevelData" }, -0x0443: { n:"BrtEndSlicerCacheLevelData" }, -0x0444: { n:"BrtBeginSlicerCacheSiRanges" }, -0x0445: { n:"BrtEndSlicerCacheSiRanges" }, -0x0446: { n:"BrtBeginSlicerCacheSiRange" }, -0x0447: { n:"BrtEndSlicerCacheSiRange" }, -0x0448: { n:"BrtSlicerCacheOlapItem" }, -0x0449: { n:"BrtBeginSlicerCacheSelections" }, -0x044A: { n:"BrtSlicerCacheSelection" }, -0x044B: { n:"BrtEndSlicerCacheSelections" }, -0x044C: { n:"BrtBeginSlicerCacheNative" }, -0x044D: { n:"BrtEndSlicerCacheNative" }, -0x044E: { n:"BrtSlicerCacheNativeItem" }, -0x044F: { n:"BrtRangeProtection14" }, -0x0450: { n:"BrtRangeProtectionIso14" }, -0x0451: { n:"BrtCellIgnoreEC14" }, -0x0457: { n:"BrtList14" }, -0x0458: { n:"BrtCFIcon" }, -0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs" }, -0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs" }, -0x045B: { n:"BrtBeginSlicers" }, -0x045C: { n:"BrtEndSlicers" }, -0x045D: { n:"BrtWbProp14" }, -0x045E: { n:"BrtBeginSXEdit" }, -0x045F: { n:"BrtEndSXEdit" }, -0x0460: { n:"BrtBeginSXEdits" }, -0x0461: { n:"BrtEndSXEdits" }, -0x0462: { n:"BrtBeginSXChange" }, -0x0463: { n:"BrtEndSXChange" }, -0x0464: { n:"BrtBeginSXChanges" }, -0x0465: { n:"BrtEndSXChanges" }, -0x0466: { n:"BrtSXTupleItems" }, -0x0468: { n:"BrtBeginSlicerStyle" }, -0x0469: { n:"BrtEndSlicerStyle" }, -0x046A: { n:"BrtSlicerStyleElement" }, -0x046B: { n:"BrtBeginStyleSheetExt14" }, -0x046C: { n:"BrtEndStyleSheetExt14" }, -0x046D: { n:"BrtBeginSlicerCachesPivotCacheID" }, -0x046E: { n:"BrtEndSlicerCachesPivotCacheID" }, -0x046F: { n:"BrtBeginConditionalFormattings" }, -0x0470: { n:"BrtEndConditionalFormattings" }, -0x0471: { n:"BrtBeginPCDCalcMemExt" }, -0x0472: { n:"BrtEndPCDCalcMemExt" }, -0x0473: { n:"BrtBeginPCDCalcMemsExt" }, -0x0474: { n:"BrtEndPCDCalcMemsExt" }, -0x0475: { n:"BrtPCDField14" }, -0x0476: { n:"BrtBeginSlicerStyles" }, -0x0477: { n:"BrtEndSlicerStyles" }, -0x0478: { n:"BrtBeginSlicerStyleElements" }, -0x0479: { n:"BrtEndSlicerStyleElements" }, -0x047A: { n:"BrtCFRuleExt" }, -0x047B: { n:"BrtBeginSXCondFmt14" }, -0x047C: { n:"BrtEndSXCondFmt14" }, -0x047D: { n:"BrtBeginSXCondFmts14" }, -0x047E: { n:"BrtEndSXCondFmts14" }, -0x0480: { n:"BrtBeginSortCond14" }, -0x0481: { n:"BrtEndSortCond14" }, -0x0482: { n:"BrtEndDVals14" }, -0x0483: { n:"BrtEndIconSet14" }, -0x0484: { n:"BrtEndDatabar14" }, -0x0485: { n:"BrtBeginColorScale14" }, -0x0486: { n:"BrtEndColorScale14" }, -0x0487: { n:"BrtBeginSxrules14" }, -0x0488: { n:"BrtEndSxrules14" }, -0x0489: { n:"BrtBeginPRule14" }, -0x048A: { n:"BrtEndPRule14" }, -0x048B: { n:"BrtBeginPRFilters14" }, -0x048C: { n:"BrtEndPRFilters14" }, -0x048D: { n:"BrtBeginPRFilter14" }, -0x048E: { n:"BrtEndPRFilter14" }, -0x048F: { n:"BrtBeginPRFItem14" }, -0x0490: { n:"BrtEndPRFItem14" }, -0x0491: { n:"BrtBeginCellIgnoreECs14" }, -0x0492: { n:"BrtEndCellIgnoreECs14" }, -0x0493: { n:"BrtDxf14" }, -0x0494: { n:"BrtBeginDxF14s" }, -0x0495: { n:"BrtEndDxf14s" }, -0x0499: { n:"BrtFilter14" }, -0x049A: { n:"BrtBeginCustomFilters14" }, -0x049C: { n:"BrtCustomFilter14" }, -0x049D: { n:"BrtIconFilter14" }, -0x049E: { n:"BrtPivotCacheConnectionName" }, -0x0800: { n:"BrtBeginDecoupledPivotCacheIDs" }, -0x0801: { n:"BrtEndDecoupledPivotCacheIDs" }, -0x0802: { n:"BrtDecoupledPivotCacheID" }, -0x0803: { n:"BrtBeginPivotTableRefs" }, -0x0804: { n:"BrtEndPivotTableRefs" }, -0x0805: { n:"BrtPivotTableRef" }, -0x0806: { n:"BrtSlicerCacheBookPivotTables" }, -0x0807: { n:"BrtBeginSxvcells" }, -0x0808: { n:"BrtEndSxvcells" }, -0x0809: { n:"BrtBeginSxRow" }, -0x080A: { n:"BrtEndSxRow" }, -0x080C: { n:"BrtPcdCalcMem15" }, -0x0813: { n:"BrtQsi15" }, -0x0814: { n:"BrtBeginWebExtensions" }, -0x0815: { n:"BrtEndWebExtensions" }, -0x0816: { n:"BrtWebExtension" }, -0x0817: { n:"BrtAbsPath15" }, -0x0818: { n:"BrtBeginPivotTableUISettings" }, -0x0819: { n:"BrtEndPivotTableUISettings" }, -0x081B: { n:"BrtTableSlicerCacheIDs" }, -0x081C: { n:"BrtTableSlicerCacheID" }, -0x081D: { n:"BrtBeginTableSlicerCache" }, -0x081E: { n:"BrtEndTableSlicerCache" }, -0x081F: { n:"BrtSxFilter15" }, -0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs" }, -0x0821: { n:"BrtEndTimelineCachePivotCacheIDs" }, -0x0822: { n:"BrtTimelineCachePivotCacheID" }, -0x0823: { n:"BrtBeginTimelineCacheIDs" }, -0x0824: { n:"BrtEndTimelineCacheIDs" }, -0x0825: { n:"BrtBeginTimelineCacheID" }, -0x0826: { n:"BrtEndTimelineCacheID" }, -0x0827: { n:"BrtBeginTimelinesEx" }, -0x0828: { n:"BrtEndTimelinesEx" }, -0x0829: { n:"BrtBeginTimelineEx" }, -0x082A: { n:"BrtEndTimelineEx" }, -0x082B: { n:"BrtWorkBookPr15" }, -0x082C: { n:"BrtPCDH15" }, -0x082D: { n:"BrtBeginTimelineStyle" }, -0x082E: { n:"BrtEndTimelineStyle" }, -0x082F: { n:"BrtTimelineStyleElement" }, -0x0830: { n:"BrtBeginTimelineStylesheetExt15" }, -0x0831: { n:"BrtEndTimelineStylesheetExt15" }, -0x0832: { n:"BrtBeginTimelineStyles" }, -0x0833: { n:"BrtEndTimelineStyles" }, -0x0834: { n:"BrtBeginTimelineStyleElements" }, -0x0835: { n:"BrtEndTimelineStyleElements" }, -0x0836: { n:"BrtDxf15" }, -0x0837: { n:"BrtBeginDxfs15" }, -0x0838: { n:"BrtEndDxfs15" }, -0x0839: { n:"BrtSlicerCacheHideItemsWithNoData" }, -0x083A: { n:"BrtBeginItemUniqueNames" }, -0x083B: { n:"BrtEndItemUniqueNames" }, -0x083C: { n:"BrtItemUniqueName" }, -0x083D: { n:"BrtBeginExtConn15" }, -0x083E: { n:"BrtEndExtConn15" }, -0x083F: { n:"BrtBeginOledbPr15" }, -0x0840: { n:"BrtEndOledbPr15" }, -0x0841: { n:"BrtBeginDataFeedPr15" }, -0x0842: { n:"BrtEndDataFeedPr15" }, -0x0843: { n:"BrtTextPr15" }, -0x0844: { n:"BrtRangePr15" }, -0x0845: { n:"BrtDbCommand15" }, -0x0846: { n:"BrtBeginDbTables15" }, -0x0847: { n:"BrtEndDbTables15" }, -0x0848: { n:"BrtDbTable15" }, -0x0849: { n:"BrtBeginDataModel" }, -0x084A: { n:"BrtEndDataModel" }, -0x084B: { n:"BrtBeginModelTables" }, -0x084C: { n:"BrtEndModelTables" }, -0x084D: { n:"BrtModelTable" }, -0x084E: { n:"BrtBeginModelRelationships" }, -0x084F: { n:"BrtEndModelRelationships" }, -0x0850: { n:"BrtModelRelationship" }, -0x0851: { n:"BrtBeginECTxtWiz15" }, -0x0852: { n:"BrtEndECTxtWiz15" }, -0x0853: { n:"BrtBeginECTWFldInfoLst15" }, -0x0854: { n:"BrtEndECTWFldInfoLst15" }, -0x0855: { n:"BrtBeginECTWFldInfo15" }, -0x0856: { n:"BrtFieldListActiveItem" }, -0x0857: { n:"BrtPivotCacheIdVersion" }, -0x0858: { n:"BrtSXDI15" }, -0x0859: { n:"BrtBeginModelTimeGroupings" }, -0x085A: { n:"BrtEndModelTimeGroupings" }, -0x085B: { n:"BrtBeginModelTimeGrouping" }, -0x085C: { n:"BrtEndModelTimeGrouping" }, -0x085D: { n:"BrtModelTimeGroupingCalcCol" }, -0x0C00: { n:"BrtUid" }, -0x0C01: { n:"BrtRevisionPtr" }, -0x1000: { n:"BrtBeginDynamicArrayPr" }, -0x1001: { n:"BrtEndDynamicArrayPr" }, -0x138A: { n:"BrtBeginRichValueBlock" }, -0x138B: { n:"BrtEndRichValueBlock" }, -0x13D9: { n:"BrtBeginRichFilters" }, -0x13DA: { n:"BrtEndRichFilters" }, -0x13DB: { n:"BrtRichFilter" }, -0x13DC: { n:"BrtBeginRichFilterColumn" }, -0x13DD: { n:"BrtEndRichFilterColumn" }, -0x13DE: { n:"BrtBeginCustomRichFilters" }, -0x13DF: { n:"BrtEndCustomRichFilters" }, -0x13E0: { n:"BrtCustomRichFilter" }, -0x13E1: { n:"BrtTop10RichFilter" }, -0x13E2: { n:"BrtDynamicRichFilter" }, -0x13E4: { n:"BrtBeginRichSortCondition" }, -0x13E5: { n:"BrtEndRichSortCondition" }, -0x13E6: { n:"BrtRichFilterDateGroupItem" }, -0x13E7: { n:"BrtBeginCalcFeatures" }, -0x13E8: { n:"BrtEndCalcFeatures" }, -0x13E9: { n:"BrtCalcFeature" }, -0x13EB: { n:"BrtExternalLinksPr" }, +0x0000: { /* n:"BrtRowHdr", */ f:parse_BrtRowHdr }, +0x0001: { /* n:"BrtCellBlank", */ f:parse_BrtCellBlank }, +0x0002: { /* n:"BrtCellRk", */ f:parse_BrtCellRk }, +0x0003: { /* n:"BrtCellError", */ f:parse_BrtCellError }, +0x0004: { /* n:"BrtCellBool", */ f:parse_BrtCellBool }, +0x0005: { /* n:"BrtCellReal", */ f:parse_BrtCellReal }, +0x0006: { /* n:"BrtCellSt", */ f:parse_BrtCellSt }, +0x0007: { /* n:"BrtCellIsst", */ f:parse_BrtCellIsst }, +0x0008: { /* n:"BrtFmlaString", */ f:parse_BrtFmlaString }, +0x0009: { /* n:"BrtFmlaNum", */ f:parse_BrtFmlaNum }, +0x000A: { /* n:"BrtFmlaBool", */ f:parse_BrtFmlaBool }, +0x000B: { /* n:"BrtFmlaError", */ f:parse_BrtFmlaError }, +0x000C: { /* n:"BrtShortBlank", */ f:parse_BrtShortBlank }, +0x000D: { /* n:"BrtShortRk", */ f:parse_BrtShortRk }, +0x000E: { /* n:"BrtShortError", */ f:parse_BrtShortError }, +0x000F: { /* n:"BrtShortBool", */ f:parse_BrtShortBool }, +0x0010: { /* n:"BrtShortReal", */ f:parse_BrtShortReal }, +0x0011: { /* n:"BrtShortSt", */ f:parse_BrtShortSt }, +0x0012: { /* n:"BrtShortIsst", */ f:parse_BrtShortIsst }, +0x0013: { /* n:"BrtSSTItem", */ f:parse_RichStr }, +0x0014: { /* n:"BrtPCDIMissing" */ }, +0x0015: { /* n:"BrtPCDINumber" */ }, +0x0016: { /* n:"BrtPCDIBoolean" */ }, +0x0017: { /* n:"BrtPCDIError" */ }, +0x0018: { /* n:"BrtPCDIString" */ }, +0x0019: { /* n:"BrtPCDIDatetime" */ }, +0x001A: { /* n:"BrtPCDIIndex" */ }, +0x001B: { /* n:"BrtPCDIAMissing" */ }, +0x001C: { /* n:"BrtPCDIANumber" */ }, +0x001D: { /* n:"BrtPCDIABoolean" */ }, +0x001E: { /* n:"BrtPCDIAError" */ }, +0x001F: { /* n:"BrtPCDIAString" */ }, +0x0020: { /* n:"BrtPCDIADatetime" */ }, +0x0021: { /* n:"BrtPCRRecord" */ }, +0x0022: { /* n:"BrtPCRRecordDt" */ }, +0x0023: { /* n:"BrtFRTBegin", */ T:1 }, +0x0024: { /* n:"BrtFRTEnd", */ T:-1 }, +0x0025: { /* n:"BrtACBegin", */ T:1 }, +0x0026: { /* n:"BrtACEnd", */ T:-1 }, +0x0027: { /* n:"BrtName", */ f:parse_BrtName }, +0x0028: { /* n:"BrtIndexRowBlock" */ }, +0x002A: { /* n:"BrtIndexBlock" */ }, +0x002B: { /* n:"BrtFont", */ f:parse_BrtFont }, +0x002C: { /* n:"BrtFmt", */ f:parse_BrtFmt }, +0x002D: { /* n:"BrtFill", */ f:parse_BrtFill }, +0x002E: { /* n:"BrtBorder", */ f:parse_BrtBorder }, +0x002F: { /* n:"BrtXF", */ f:parse_BrtXF }, +0x0030: { /* n:"BrtStyle" */ }, +0x0031: { /* n:"BrtCellMeta", */ f:parse_Int32LE }, +0x0032: { /* n:"BrtValueMeta" */ }, +0x0033: { /* n:"BrtMdb" */ f:parse_BrtMdb }, +0x0034: { /* n:"BrtBeginFmd", */ T:1 }, +0x0035: { /* n:"BrtEndFmd", */ T:-1 }, +0x0036: { /* n:"BrtBeginMdx", */ T:1 }, +0x0037: { /* n:"BrtEndMdx", */ T:-1 }, +0x0038: { /* n:"BrtBeginMdxTuple", */ T:1 }, +0x0039: { /* n:"BrtEndMdxTuple", */ T:-1 }, +0x003A: { /* n:"BrtMdxMbrIstr" */ }, +0x003B: { /* n:"BrtStr" */ }, +0x003C: { /* n:"BrtColInfo", */ f:parse_ColInfo }, +0x003E: { /* n:"BrtCellRString", */ f:parse_BrtCellRString }, +0x003F: { /* n:"BrtCalcChainItem$", */ f:parse_BrtCalcChainItem$ }, +0x0040: { /* n:"BrtDVal", */ f:parse_BrtDVal }, +0x0041: { /* n:"BrtSxvcellNum" */ }, +0x0042: { /* n:"BrtSxvcellStr" */ }, +0x0043: { /* n:"BrtSxvcellBool" */ }, +0x0044: { /* n:"BrtSxvcellErr" */ }, +0x0045: { /* n:"BrtSxvcellDate" */ }, +0x0046: { /* n:"BrtSxvcellNil" */ }, +0x0080: { /* n:"BrtFileVersion" */ }, +0x0081: { /* n:"BrtBeginSheet", */ T:1 }, +0x0082: { /* n:"BrtEndSheet", */ T:-1 }, +0x0083: { /* n:"BrtBeginBook", */ T:1, f:parsenoop, p:0 }, +0x0084: { /* n:"BrtEndBook", */ T:-1 }, +0x0085: { /* n:"BrtBeginWsViews", */ T:1 }, +0x0086: { /* n:"BrtEndWsViews", */ T:-1 }, +0x0087: { /* n:"BrtBeginBookViews", */ T:1 }, +0x0088: { /* n:"BrtEndBookViews", */ T:-1 }, +0x0089: { /* n:"BrtBeginWsView", */ T:1, f:parse_BrtBeginWsView }, +0x008A: { /* n:"BrtEndWsView", */ T:-1 }, +0x008B: { /* n:"BrtBeginCsViews", */ T:1 }, +0x008C: { /* n:"BrtEndCsViews", */ T:-1 }, +0x008D: { /* n:"BrtBeginCsView", */ T:1 }, +0x008E: { /* n:"BrtEndCsView", */ T:-1 }, +0x008F: { /* n:"BrtBeginBundleShs", */ T:1 }, +0x0090: { /* n:"BrtEndBundleShs", */ T:-1 }, +0x0091: { /* n:"BrtBeginSheetData", */ T:1 }, +0x0092: { /* n:"BrtEndSheetData", */ T:-1 }, +0x0093: { /* n:"BrtWsProp", */ f:parse_BrtWsProp }, +0x0094: { /* n:"BrtWsDim", */ f:parse_BrtWsDim, p:16 }, +0x0097: { /* n:"BrtPane", */ f:parse_BrtPane }, +0x0098: { /* n:"BrtSel" */ }, +0x0099: { /* n:"BrtWbProp", */ f:parse_BrtWbProp }, +0x009A: { /* n:"BrtWbFactoid" */ }, +0x009B: { /* n:"BrtFileRecover" */ }, +0x009C: { /* n:"BrtBundleSh", */ f:parse_BrtBundleSh }, +0x009D: { /* n:"BrtCalcProp" */ }, +0x009E: { /* n:"BrtBookView" */ }, +0x009F: { /* n:"BrtBeginSst", */ T:1, f:parse_BrtBeginSst }, +0x00A0: { /* n:"BrtEndSst", */ T:-1 }, +0x00A1: { /* n:"BrtBeginAFilter", */ T:1, f:parse_UncheckedRfX }, +0x00A2: { /* n:"BrtEndAFilter", */ T:-1 }, +0x00A3: { /* n:"BrtBeginFilterColumn", */ T:1 }, +0x00A4: { /* n:"BrtEndFilterColumn", */ T:-1 }, +0x00A5: { /* n:"BrtBeginFilters", */ T:1 }, +0x00A6: { /* n:"BrtEndFilters", */ T:-1 }, +0x00A7: { /* n:"BrtFilter" */ }, +0x00A8: { /* n:"BrtColorFilter" */ }, +0x00A9: { /* n:"BrtIconFilter" */ }, +0x00AA: { /* n:"BrtTop10Filter" */ }, +0x00AB: { /* n:"BrtDynamicFilter" */ }, +0x00AC: { /* n:"BrtBeginCustomFilters", */ T:1 }, +0x00AD: { /* n:"BrtEndCustomFilters", */ T:-1 }, +0x00AE: { /* n:"BrtCustomFilter" */ }, +0x00AF: { /* n:"BrtAFilterDateGroupItem" */ }, +0x00B0: { /* n:"BrtMergeCell", */ f:parse_BrtMergeCell }, +0x00B1: { /* n:"BrtBeginMergeCells", */ T:1 }, +0x00B2: { /* n:"BrtEndMergeCells", */ T:-1 }, +0x00B3: { /* n:"BrtBeginPivotCacheDef", */ T:1 }, +0x00B4: { /* n:"BrtEndPivotCacheDef", */ T:-1 }, +0x00B5: { /* n:"BrtBeginPCDFields", */ T:1 }, +0x00B6: { /* n:"BrtEndPCDFields", */ T:-1 }, +0x00B7: { /* n:"BrtBeginPCDField", */ T:1 }, +0x00B8: { /* n:"BrtEndPCDField", */ T:-1 }, +0x00B9: { /* n:"BrtBeginPCDSource", */ T:1 }, +0x00BA: { /* n:"BrtEndPCDSource", */ T:-1 }, +0x00BB: { /* n:"BrtBeginPCDSRange", */ T:1 }, +0x00BC: { /* n:"BrtEndPCDSRange", */ T:-1 }, +0x00BD: { /* n:"BrtBeginPCDFAtbl", */ T:1 }, +0x00BE: { /* n:"BrtEndPCDFAtbl", */ T:-1 }, +0x00BF: { /* n:"BrtBeginPCDIRun", */ T:1 }, +0x00C0: { /* n:"BrtEndPCDIRun", */ T:-1 }, +0x00C1: { /* n:"BrtBeginPivotCacheRecords", */ T:1 }, +0x00C2: { /* n:"BrtEndPivotCacheRecords", */ T:-1 }, +0x00C3: { /* n:"BrtBeginPCDHierarchies", */ T:1 }, +0x00C4: { /* n:"BrtEndPCDHierarchies", */ T:-1 }, +0x00C5: { /* n:"BrtBeginPCDHierarchy", */ T:1 }, +0x00C6: { /* n:"BrtEndPCDHierarchy", */ T:-1 }, +0x00C7: { /* n:"BrtBeginPCDHFieldsUsage", */ T:1 }, +0x00C8: { /* n:"BrtEndPCDHFieldsUsage", */ T:-1 }, +0x00C9: { /* n:"BrtBeginExtConnection", */ T:1 }, +0x00CA: { /* n:"BrtEndExtConnection", */ T:-1 }, +0x00CB: { /* n:"BrtBeginECDbProps", */ T:1 }, +0x00CC: { /* n:"BrtEndECDbProps", */ T:-1 }, +0x00CD: { /* n:"BrtBeginECOlapProps", */ T:1 }, +0x00CE: { /* n:"BrtEndECOlapProps", */ T:-1 }, +0x00CF: { /* n:"BrtBeginPCDSConsol", */ T:1 }, +0x00D0: { /* n:"BrtEndPCDSConsol", */ T:-1 }, +0x00D1: { /* n:"BrtBeginPCDSCPages", */ T:1 }, +0x00D2: { /* n:"BrtEndPCDSCPages", */ T:-1 }, +0x00D3: { /* n:"BrtBeginPCDSCPage", */ T:1 }, +0x00D4: { /* n:"BrtEndPCDSCPage", */ T:-1 }, +0x00D5: { /* n:"BrtBeginPCDSCPItem", */ T:1 }, +0x00D6: { /* n:"BrtEndPCDSCPItem", */ T:-1 }, +0x00D7: { /* n:"BrtBeginPCDSCSets", */ T:1 }, +0x00D8: { /* n:"BrtEndPCDSCSets", */ T:-1 }, +0x00D9: { /* n:"BrtBeginPCDSCSet", */ T:1 }, +0x00DA: { /* n:"BrtEndPCDSCSet", */ T:-1 }, +0x00DB: { /* n:"BrtBeginPCDFGroup", */ T:1 }, +0x00DC: { /* n:"BrtEndPCDFGroup", */ T:-1 }, +0x00DD: { /* n:"BrtBeginPCDFGItems", */ T:1 }, +0x00DE: { /* n:"BrtEndPCDFGItems", */ T:-1 }, +0x00DF: { /* n:"BrtBeginPCDFGRange", */ T:1 }, +0x00E0: { /* n:"BrtEndPCDFGRange", */ T:-1 }, +0x00E1: { /* n:"BrtBeginPCDFGDiscrete", */ T:1 }, +0x00E2: { /* n:"BrtEndPCDFGDiscrete", */ T:-1 }, +0x00E3: { /* n:"BrtBeginPCDSDTupleCache", */ T:1 }, +0x00E4: { /* n:"BrtEndPCDSDTupleCache", */ T:-1 }, +0x00E5: { /* n:"BrtBeginPCDSDTCEntries", */ T:1 }, +0x00E6: { /* n:"BrtEndPCDSDTCEntries", */ T:-1 }, +0x00E7: { /* n:"BrtBeginPCDSDTCEMembers", */ T:1 }, +0x00E8: { /* n:"BrtEndPCDSDTCEMembers", */ T:-1 }, +0x00E9: { /* n:"BrtBeginPCDSDTCEMember", */ T:1 }, +0x00EA: { /* n:"BrtEndPCDSDTCEMember", */ T:-1 }, +0x00EB: { /* n:"BrtBeginPCDSDTCQueries", */ T:1 }, +0x00EC: { /* n:"BrtEndPCDSDTCQueries", */ T:-1 }, +0x00ED: { /* n:"BrtBeginPCDSDTCQuery", */ T:1 }, +0x00EE: { /* n:"BrtEndPCDSDTCQuery", */ T:-1 }, +0x00EF: { /* n:"BrtBeginPCDSDTCSets", */ T:1 }, +0x00F0: { /* n:"BrtEndPCDSDTCSets", */ T:-1 }, +0x00F1: { /* n:"BrtBeginPCDSDTCSet", */ T:1 }, +0x00F2: { /* n:"BrtEndPCDSDTCSet", */ T:-1 }, +0x00F3: { /* n:"BrtBeginPCDCalcItems", */ T:1 }, +0x00F4: { /* n:"BrtEndPCDCalcItems", */ T:-1 }, +0x00F5: { /* n:"BrtBeginPCDCalcItem", */ T:1 }, +0x00F6: { /* n:"BrtEndPCDCalcItem", */ T:-1 }, +0x00F7: { /* n:"BrtBeginPRule", */ T:1 }, +0x00F8: { /* n:"BrtEndPRule", */ T:-1 }, +0x00F9: { /* n:"BrtBeginPRFilters", */ T:1 }, +0x00FA: { /* n:"BrtEndPRFilters", */ T:-1 }, +0x00FB: { /* n:"BrtBeginPRFilter", */ T:1 }, +0x00FC: { /* n:"BrtEndPRFilter", */ T:-1 }, +0x00FD: { /* n:"BrtBeginPNames", */ T:1 }, +0x00FE: { /* n:"BrtEndPNames", */ T:-1 }, +0x00FF: { /* n:"BrtBeginPName", */ T:1 }, +0x0100: { /* n:"BrtEndPName", */ T:-1 }, +0x0101: { /* n:"BrtBeginPNPairs", */ T:1 }, +0x0102: { /* n:"BrtEndPNPairs", */ T:-1 }, +0x0103: { /* n:"BrtBeginPNPair", */ T:1 }, +0x0104: { /* n:"BrtEndPNPair", */ T:-1 }, +0x0105: { /* n:"BrtBeginECWebProps", */ T:1 }, +0x0106: { /* n:"BrtEndECWebProps", */ T:-1 }, +0x0107: { /* n:"BrtBeginEcWpTables", */ T:1 }, +0x0108: { /* n:"BrtEndECWPTables", */ T:-1 }, +0x0109: { /* n:"BrtBeginECParams", */ T:1 }, +0x010A: { /* n:"BrtEndECParams", */ T:-1 }, +0x010B: { /* n:"BrtBeginECParam", */ T:1 }, +0x010C: { /* n:"BrtEndECParam", */ T:-1 }, +0x010D: { /* n:"BrtBeginPCDKPIs", */ T:1 }, +0x010E: { /* n:"BrtEndPCDKPIs", */ T:-1 }, +0x010F: { /* n:"BrtBeginPCDKPI", */ T:1 }, +0x0110: { /* n:"BrtEndPCDKPI", */ T:-1 }, +0x0111: { /* n:"BrtBeginDims", */ T:1 }, +0x0112: { /* n:"BrtEndDims", */ T:-1 }, +0x0113: { /* n:"BrtBeginDim", */ T:1 }, +0x0114: { /* n:"BrtEndDim", */ T:-1 }, +0x0115: { /* n:"BrtIndexPartEnd" */ }, +0x0116: { /* n:"BrtBeginStyleSheet", */ T:1 }, +0x0117: { /* n:"BrtEndStyleSheet", */ T:-1 }, +0x0118: { /* n:"BrtBeginSXView", */ T:1 }, +0x0119: { /* n:"BrtEndSXVI", */ T:-1 }, +0x011A: { /* n:"BrtBeginSXVI", */ T:1 }, +0x011B: { /* n:"BrtBeginSXVIs", */ T:1 }, +0x011C: { /* n:"BrtEndSXVIs", */ T:-1 }, +0x011D: { /* n:"BrtBeginSXVD", */ T:1 }, +0x011E: { /* n:"BrtEndSXVD", */ T:-1 }, +0x011F: { /* n:"BrtBeginSXVDs", */ T:1 }, +0x0120: { /* n:"BrtEndSXVDs", */ T:-1 }, +0x0121: { /* n:"BrtBeginSXPI", */ T:1 }, +0x0122: { /* n:"BrtEndSXPI", */ T:-1 }, +0x0123: { /* n:"BrtBeginSXPIs", */ T:1 }, +0x0124: { /* n:"BrtEndSXPIs", */ T:-1 }, +0x0125: { /* n:"BrtBeginSXDI", */ T:1 }, +0x0126: { /* n:"BrtEndSXDI", */ T:-1 }, +0x0127: { /* n:"BrtBeginSXDIs", */ T:1 }, +0x0128: { /* n:"BrtEndSXDIs", */ T:-1 }, +0x0129: { /* n:"BrtBeginSXLI", */ T:1 }, +0x012A: { /* n:"BrtEndSXLI", */ T:-1 }, +0x012B: { /* n:"BrtBeginSXLIRws", */ T:1 }, +0x012C: { /* n:"BrtEndSXLIRws", */ T:-1 }, +0x012D: { /* n:"BrtBeginSXLICols", */ T:1 }, +0x012E: { /* n:"BrtEndSXLICols", */ T:-1 }, +0x012F: { /* n:"BrtBeginSXFormat", */ T:1 }, +0x0130: { /* n:"BrtEndSXFormat", */ T:-1 }, +0x0131: { /* n:"BrtBeginSXFormats", */ T:1 }, +0x0132: { /* n:"BrtEndSxFormats", */ T:-1 }, +0x0133: { /* n:"BrtBeginSxSelect", */ T:1 }, +0x0134: { /* n:"BrtEndSxSelect", */ T:-1 }, +0x0135: { /* n:"BrtBeginISXVDRws", */ T:1 }, +0x0136: { /* n:"BrtEndISXVDRws", */ T:-1 }, +0x0137: { /* n:"BrtBeginISXVDCols", */ T:1 }, +0x0138: { /* n:"BrtEndISXVDCols", */ T:-1 }, +0x0139: { /* n:"BrtEndSXLocation", */ T:-1 }, +0x013A: { /* n:"BrtBeginSXLocation", */ T:1 }, +0x013B: { /* n:"BrtEndSXView", */ T:-1 }, +0x013C: { /* n:"BrtBeginSXTHs", */ T:1 }, +0x013D: { /* n:"BrtEndSXTHs", */ T:-1 }, +0x013E: { /* n:"BrtBeginSXTH", */ T:1 }, +0x013F: { /* n:"BrtEndSXTH", */ T:-1 }, +0x0140: { /* n:"BrtBeginISXTHRws", */ T:1 }, +0x0141: { /* n:"BrtEndISXTHRws", */ T:-1 }, +0x0142: { /* n:"BrtBeginISXTHCols", */ T:1 }, +0x0143: { /* n:"BrtEndISXTHCols", */ T:-1 }, +0x0144: { /* n:"BrtBeginSXTDMPS", */ T:1 }, +0x0145: { /* n:"BrtEndSXTDMPs", */ T:-1 }, +0x0146: { /* n:"BrtBeginSXTDMP", */ T:1 }, +0x0147: { /* n:"BrtEndSXTDMP", */ T:-1 }, +0x0148: { /* n:"BrtBeginSXTHItems", */ T:1 }, +0x0149: { /* n:"BrtEndSXTHItems", */ T:-1 }, +0x014A: { /* n:"BrtBeginSXTHItem", */ T:1 }, +0x014B: { /* n:"BrtEndSXTHItem", */ T:-1 }, +0x014C: { /* n:"BrtBeginMetadata", */ T:1 }, +0x014D: { /* n:"BrtEndMetadata", */ T:-1 }, +0x014E: { /* n:"BrtBeginEsmdtinfo", */ T:1 }, +0x014F: { /* n:"BrtMdtinfo", */ f:parse_BrtMdtinfo }, +0x0150: { /* n:"BrtEndEsmdtinfo", */ T:-1 }, +0x0151: { /* n:"BrtBeginEsmdb", */ f:parse_BrtBeginEsmdb, T:1 }, +0x0152: { /* n:"BrtEndEsmdb", */ T:-1 }, +0x0153: { /* n:"BrtBeginEsfmd", */ T:1 }, +0x0154: { /* n:"BrtEndEsfmd", */ T:-1 }, +0x0155: { /* n:"BrtBeginSingleCells", */ T:1 }, +0x0156: { /* n:"BrtEndSingleCells", */ T:-1 }, +0x0157: { /* n:"BrtBeginList", */ T:1 }, +0x0158: { /* n:"BrtEndList", */ T:-1 }, +0x0159: { /* n:"BrtBeginListCols", */ T:1 }, +0x015A: { /* n:"BrtEndListCols", */ T:-1 }, +0x015B: { /* n:"BrtBeginListCol", */ T:1 }, +0x015C: { /* n:"BrtEndListCol", */ T:-1 }, +0x015D: { /* n:"BrtBeginListXmlCPr", */ T:1 }, +0x015E: { /* n:"BrtEndListXmlCPr", */ T:-1 }, +0x015F: { /* n:"BrtListCCFmla" */ }, +0x0160: { /* n:"BrtListTrFmla" */ }, +0x0161: { /* n:"BrtBeginExternals", */ T:1 }, +0x0162: { /* n:"BrtEndExternals", */ T:-1 }, +0x0163: { /* n:"BrtSupBookSrc", */ f:parse_RelID}, +0x0165: { /* n:"BrtSupSelf" */ }, +0x0166: { /* n:"BrtSupSame" */ }, +0x0167: { /* n:"BrtSupTabs" */ }, +0x0168: { /* n:"BrtBeginSupBook", */ T:1 }, +0x0169: { /* n:"BrtPlaceholderName" */ }, +0x016A: { /* n:"BrtExternSheet", */ f:parse_ExternSheet }, +0x016B: { /* n:"BrtExternTableStart" */ }, +0x016C: { /* n:"BrtExternTableEnd" */ }, +0x016E: { /* n:"BrtExternRowHdr" */ }, +0x016F: { /* n:"BrtExternCellBlank" */ }, +0x0170: { /* n:"BrtExternCellReal" */ }, +0x0171: { /* n:"BrtExternCellBool" */ }, +0x0172: { /* n:"BrtExternCellError" */ }, +0x0173: { /* n:"BrtExternCellString" */ }, +0x0174: { /* n:"BrtBeginEsmdx", */ T:1 }, +0x0175: { /* n:"BrtEndEsmdx", */ T:-1 }, +0x0176: { /* n:"BrtBeginMdxSet", */ T:1 }, +0x0177: { /* n:"BrtEndMdxSet", */ T:-1 }, +0x0178: { /* n:"BrtBeginMdxMbrProp", */ T:1 }, +0x0179: { /* n:"BrtEndMdxMbrProp", */ T:-1 }, +0x017A: { /* n:"BrtBeginMdxKPI", */ T:1 }, +0x017B: { /* n:"BrtEndMdxKPI", */ T:-1 }, +0x017C: { /* n:"BrtBeginEsstr", */ T:1 }, +0x017D: { /* n:"BrtEndEsstr", */ T:-1 }, +0x017E: { /* n:"BrtBeginPRFItem", */ T:1 }, +0x017F: { /* n:"BrtEndPRFItem", */ T:-1 }, +0x0180: { /* n:"BrtBeginPivotCacheIDs", */ T:1 }, +0x0181: { /* n:"BrtEndPivotCacheIDs", */ T:-1 }, +0x0182: { /* n:"BrtBeginPivotCacheID", */ T:1 }, +0x0183: { /* n:"BrtEndPivotCacheID", */ T:-1 }, +0x0184: { /* n:"BrtBeginISXVIs", */ T:1 }, +0x0185: { /* n:"BrtEndISXVIs", */ T:-1 }, +0x0186: { /* n:"BrtBeginColInfos", */ T:1 }, +0x0187: { /* n:"BrtEndColInfos", */ T:-1 }, +0x0188: { /* n:"BrtBeginRwBrk", */ T:1 }, +0x0189: { /* n:"BrtEndRwBrk", */ T:-1 }, +0x018A: { /* n:"BrtBeginColBrk", */ T:1 }, +0x018B: { /* n:"BrtEndColBrk", */ T:-1 }, +0x018C: { /* n:"BrtBrk" */ }, +0x018D: { /* n:"BrtUserBookView" */ }, +0x018E: { /* n:"BrtInfo" */ }, +0x018F: { /* n:"BrtCUsr" */ }, +0x0190: { /* n:"BrtUsr" */ }, +0x0191: { /* n:"BrtBeginUsers", */ T:1 }, +0x0193: { /* n:"BrtEOF" */ }, +0x0194: { /* n:"BrtUCR" */ }, +0x0195: { /* n:"BrtRRInsDel" */ }, +0x0196: { /* n:"BrtRREndInsDel" */ }, +0x0197: { /* n:"BrtRRMove" */ }, +0x0198: { /* n:"BrtRREndMove" */ }, +0x0199: { /* n:"BrtRRChgCell" */ }, +0x019A: { /* n:"BrtRREndChgCell" */ }, +0x019B: { /* n:"BrtRRHeader" */ }, +0x019C: { /* n:"BrtRRUserView" */ }, +0x019D: { /* n:"BrtRRRenSheet" */ }, +0x019E: { /* n:"BrtRRInsertSh" */ }, +0x019F: { /* n:"BrtRRDefName" */ }, +0x01A0: { /* n:"BrtRRNote" */ }, +0x01A1: { /* n:"BrtRRConflict" */ }, +0x01A2: { /* n:"BrtRRTQSIF" */ }, +0x01A3: { /* n:"BrtRRFormat" */ }, +0x01A4: { /* n:"BrtRREndFormat" */ }, +0x01A5: { /* n:"BrtRRAutoFmt" */ }, +0x01A6: { /* n:"BrtBeginUserShViews", */ T:1 }, +0x01A7: { /* n:"BrtBeginUserShView", */ T:1 }, +0x01A8: { /* n:"BrtEndUserShView", */ T:-1 }, +0x01A9: { /* n:"BrtEndUserShViews", */ T:-1 }, +0x01AA: { /* n:"BrtArrFmla", */ f:parse_BrtArrFmla }, +0x01AB: { /* n:"BrtShrFmla", */ f:parse_BrtShrFmla }, +0x01AC: { /* n:"BrtTable" */ }, +0x01AD: { /* n:"BrtBeginExtConnections", */ T:1 }, +0x01AE: { /* n:"BrtEndExtConnections", */ T:-1 }, +0x01AF: { /* n:"BrtBeginPCDCalcMems", */ T:1 }, +0x01B0: { /* n:"BrtEndPCDCalcMems", */ T:-1 }, +0x01B1: { /* n:"BrtBeginPCDCalcMem", */ T:1 }, +0x01B2: { /* n:"BrtEndPCDCalcMem", */ T:-1 }, +0x01B3: { /* n:"BrtBeginPCDHGLevels", */ T:1 }, +0x01B4: { /* n:"BrtEndPCDHGLevels", */ T:-1 }, +0x01B5: { /* n:"BrtBeginPCDHGLevel", */ T:1 }, +0x01B6: { /* n:"BrtEndPCDHGLevel", */ T:-1 }, +0x01B7: { /* n:"BrtBeginPCDHGLGroups", */ T:1 }, +0x01B8: { /* n:"BrtEndPCDHGLGroups", */ T:-1 }, +0x01B9: { /* n:"BrtBeginPCDHGLGroup", */ T:1 }, +0x01BA: { /* n:"BrtEndPCDHGLGroup", */ T:-1 }, +0x01BB: { /* n:"BrtBeginPCDHGLGMembers", */ T:1 }, +0x01BC: { /* n:"BrtEndPCDHGLGMembers", */ T:-1 }, +0x01BD: { /* n:"BrtBeginPCDHGLGMember", */ T:1 }, +0x01BE: { /* n:"BrtEndPCDHGLGMember", */ T:-1 }, +0x01BF: { /* n:"BrtBeginQSI", */ T:1 }, +0x01C0: { /* n:"BrtEndQSI", */ T:-1 }, +0x01C1: { /* n:"BrtBeginQSIR", */ T:1 }, +0x01C2: { /* n:"BrtEndQSIR", */ T:-1 }, +0x01C3: { /* n:"BrtBeginDeletedNames", */ T:1 }, +0x01C4: { /* n:"BrtEndDeletedNames", */ T:-1 }, +0x01C5: { /* n:"BrtBeginDeletedName", */ T:1 }, +0x01C6: { /* n:"BrtEndDeletedName", */ T:-1 }, +0x01C7: { /* n:"BrtBeginQSIFs", */ T:1 }, +0x01C8: { /* n:"BrtEndQSIFs", */ T:-1 }, +0x01C9: { /* n:"BrtBeginQSIF", */ T:1 }, +0x01CA: { /* n:"BrtEndQSIF", */ T:-1 }, +0x01CB: { /* n:"BrtBeginAutoSortScope", */ T:1 }, +0x01CC: { /* n:"BrtEndAutoSortScope", */ T:-1 }, +0x01CD: { /* n:"BrtBeginConditionalFormatting", */ T:1 }, +0x01CE: { /* n:"BrtEndConditionalFormatting", */ T:-1 }, +0x01CF: { /* n:"BrtBeginCFRule", */ T:1 }, +0x01D0: { /* n:"BrtEndCFRule", */ T:-1 }, +0x01D1: { /* n:"BrtBeginIconSet", */ T:1 }, +0x01D2: { /* n:"BrtEndIconSet", */ T:-1 }, +0x01D3: { /* n:"BrtBeginDatabar", */ T:1 }, +0x01D4: { /* n:"BrtEndDatabar", */ T:-1 }, +0x01D5: { /* n:"BrtBeginColorScale", */ T:1 }, +0x01D6: { /* n:"BrtEndColorScale", */ T:-1 }, +0x01D7: { /* n:"BrtCFVO" */ }, +0x01D8: { /* n:"BrtExternValueMeta" */ }, +0x01D9: { /* n:"BrtBeginColorPalette", */ T:1 }, +0x01DA: { /* n:"BrtEndColorPalette", */ T:-1 }, +0x01DB: { /* n:"BrtIndexedColor" */ }, +0x01DC: { /* n:"BrtMargins", */ f:parse_BrtMargins }, +0x01DD: { /* n:"BrtPrintOptions" */ }, +0x01DE: { /* n:"BrtPageSetup" */ }, +0x01DF: { /* n:"BrtBeginHeaderFooter", */ T:1 }, +0x01E0: { /* n:"BrtEndHeaderFooter", */ T:-1 }, +0x01E1: { /* n:"BrtBeginSXCrtFormat", */ T:1 }, +0x01E2: { /* n:"BrtEndSXCrtFormat", */ T:-1 }, +0x01E3: { /* n:"BrtBeginSXCrtFormats", */ T:1 }, +0x01E4: { /* n:"BrtEndSXCrtFormats", */ T:-1 }, +0x01E5: { /* n:"BrtWsFmtInfo", */ f:parse_BrtWsFmtInfo }, +0x01E6: { /* n:"BrtBeginMgs", */ T:1 }, +0x01E7: { /* n:"BrtEndMGs", */ T:-1 }, +0x01E8: { /* n:"BrtBeginMGMaps", */ T:1 }, +0x01E9: { /* n:"BrtEndMGMaps", */ T:-1 }, +0x01EA: { /* n:"BrtBeginMG", */ T:1 }, +0x01EB: { /* n:"BrtEndMG", */ T:-1 }, +0x01EC: { /* n:"BrtBeginMap", */ T:1 }, +0x01ED: { /* n:"BrtEndMap", */ T:-1 }, +0x01EE: { /* n:"BrtHLink", */ f:parse_BrtHLink }, +0x01EF: { /* n:"BrtBeginDCon", */ T:1 }, +0x01F0: { /* n:"BrtEndDCon", */ T:-1 }, +0x01F1: { /* n:"BrtBeginDRefs", */ T:1 }, +0x01F2: { /* n:"BrtEndDRefs", */ T:-1 }, +0x01F3: { /* n:"BrtDRef" */ }, +0x01F4: { /* n:"BrtBeginScenMan", */ T:1 }, +0x01F5: { /* n:"BrtEndScenMan", */ T:-1 }, +0x01F6: { /* n:"BrtBeginSct", */ T:1 }, +0x01F7: { /* n:"BrtEndSct", */ T:-1 }, +0x01F8: { /* n:"BrtSlc" */ }, +0x01F9: { /* n:"BrtBeginDXFs", */ T:1 }, +0x01FA: { /* n:"BrtEndDXFs", */ T:-1 }, +0x01FB: { /* n:"BrtDXF" */ }, +0x01FC: { /* n:"BrtBeginTableStyles", */ T:1 }, +0x01FD: { /* n:"BrtEndTableStyles", */ T:-1 }, +0x01FE: { /* n:"BrtBeginTableStyle", */ T:1 }, +0x01FF: { /* n:"BrtEndTableStyle", */ T:-1 }, +0x0200: { /* n:"BrtTableStyleElement" */ }, +0x0201: { /* n:"BrtTableStyleClient" */ }, +0x0202: { /* n:"BrtBeginVolDeps", */ T:1 }, +0x0203: { /* n:"BrtEndVolDeps", */ T:-1 }, +0x0204: { /* n:"BrtBeginVolType", */ T:1 }, +0x0205: { /* n:"BrtEndVolType", */ T:-1 }, +0x0206: { /* n:"BrtBeginVolMain", */ T:1 }, +0x0207: { /* n:"BrtEndVolMain", */ T:-1 }, +0x0208: { /* n:"BrtBeginVolTopic", */ T:1 }, +0x0209: { /* n:"BrtEndVolTopic", */ T:-1 }, +0x020A: { /* n:"BrtVolSubtopic" */ }, +0x020B: { /* n:"BrtVolRef" */ }, +0x020C: { /* n:"BrtVolNum" */ }, +0x020D: { /* n:"BrtVolErr" */ }, +0x020E: { /* n:"BrtVolStr" */ }, +0x020F: { /* n:"BrtVolBool" */ }, +0x0210: { /* n:"BrtBeginCalcChain$", */ T:1 }, +0x0211: { /* n:"BrtEndCalcChain$", */ T:-1 }, +0x0212: { /* n:"BrtBeginSortState", */ T:1 }, +0x0213: { /* n:"BrtEndSortState", */ T:-1 }, +0x0214: { /* n:"BrtBeginSortCond", */ T:1 }, +0x0215: { /* n:"BrtEndSortCond", */ T:-1 }, +0x0216: { /* n:"BrtBookProtection" */ }, +0x0217: { /* n:"BrtSheetProtection" */ }, +0x0218: { /* n:"BrtRangeProtection" */ }, +0x0219: { /* n:"BrtPhoneticInfo" */ }, +0x021A: { /* n:"BrtBeginECTxtWiz", */ T:1 }, +0x021B: { /* n:"BrtEndECTxtWiz", */ T:-1 }, +0x021C: { /* n:"BrtBeginECTWFldInfoLst", */ T:1 }, +0x021D: { /* n:"BrtEndECTWFldInfoLst", */ T:-1 }, +0x021E: { /* n:"BrtBeginECTwFldInfo", */ T:1 }, +0x0224: { /* n:"BrtFileSharing" */ }, +0x0225: { /* n:"BrtOleSize" */ }, +0x0226: { /* n:"BrtDrawing", */ f:parse_RelID }, +0x0227: { /* n:"BrtLegacyDrawing" */ }, +0x0228: { /* n:"BrtLegacyDrawingHF" */ }, +0x0229: { /* n:"BrtWebOpt" */ }, +0x022A: { /* n:"BrtBeginWebPubItems", */ T:1 }, +0x022B: { /* n:"BrtEndWebPubItems", */ T:-1 }, +0x022C: { /* n:"BrtBeginWebPubItem", */ T:1 }, +0x022D: { /* n:"BrtEndWebPubItem", */ T:-1 }, +0x022E: { /* n:"BrtBeginSXCondFmt", */ T:1 }, +0x022F: { /* n:"BrtEndSXCondFmt", */ T:-1 }, +0x0230: { /* n:"BrtBeginSXCondFmts", */ T:1 }, +0x0231: { /* n:"BrtEndSXCondFmts", */ T:-1 }, +0x0232: { /* n:"BrtBkHim" */ }, +0x0234: { /* n:"BrtColor" */ }, +0x0235: { /* n:"BrtBeginIndexedColors", */ T:1 }, +0x0236: { /* n:"BrtEndIndexedColors", */ T:-1 }, +0x0239: { /* n:"BrtBeginMRUColors", */ T:1 }, +0x023A: { /* n:"BrtEndMRUColors", */ T:-1 }, +0x023C: { /* n:"BrtMRUColor" */ }, +0x023D: { /* n:"BrtBeginDVals", */ T:1 }, +0x023E: { /* n:"BrtEndDVals", */ T:-1 }, +0x0241: { /* n:"BrtSupNameStart" */ }, +0x0242: { /* n:"BrtSupNameValueStart" */ }, +0x0243: { /* n:"BrtSupNameValueEnd" */ }, +0x0244: { /* n:"BrtSupNameNum" */ }, +0x0245: { /* n:"BrtSupNameErr" */ }, +0x0246: { /* n:"BrtSupNameSt" */ }, +0x0247: { /* n:"BrtSupNameNil" */ }, +0x0248: { /* n:"BrtSupNameBool" */ }, +0x0249: { /* n:"BrtSupNameFmla" */ }, +0x024A: { /* n:"BrtSupNameBits" */ }, +0x024B: { /* n:"BrtSupNameEnd" */ }, +0x024C: { /* n:"BrtEndSupBook", */ T:-1 }, +0x024D: { /* n:"BrtCellSmartTagProperty" */ }, +0x024E: { /* n:"BrtBeginCellSmartTag", */ T:1 }, +0x024F: { /* n:"BrtEndCellSmartTag", */ T:-1 }, +0x0250: { /* n:"BrtBeginCellSmartTags", */ T:1 }, +0x0251: { /* n:"BrtEndCellSmartTags", */ T:-1 }, +0x0252: { /* n:"BrtBeginSmartTags", */ T:1 }, +0x0253: { /* n:"BrtEndSmartTags", */ T:-1 }, +0x0254: { /* n:"BrtSmartTagType" */ }, +0x0255: { /* n:"BrtBeginSmartTagTypes", */ T:1 }, +0x0256: { /* n:"BrtEndSmartTagTypes", */ T:-1 }, +0x0257: { /* n:"BrtBeginSXFilters", */ T:1 }, +0x0258: { /* n:"BrtEndSXFilters", */ T:-1 }, +0x0259: { /* n:"BrtBeginSXFILTER", */ T:1 }, +0x025A: { /* n:"BrtEndSXFilter", */ T:-1 }, +0x025B: { /* n:"BrtBeginFills", */ T:1 }, +0x025C: { /* n:"BrtEndFills", */ T:-1 }, +0x025D: { /* n:"BrtBeginCellWatches", */ T:1 }, +0x025E: { /* n:"BrtEndCellWatches", */ T:-1 }, +0x025F: { /* n:"BrtCellWatch" */ }, +0x0260: { /* n:"BrtBeginCRErrs", */ T:1 }, +0x0261: { /* n:"BrtEndCRErrs", */ T:-1 }, +0x0262: { /* n:"BrtCrashRecErr" */ }, +0x0263: { /* n:"BrtBeginFonts", */ T:1 }, +0x0264: { /* n:"BrtEndFonts", */ T:-1 }, +0x0265: { /* n:"BrtBeginBorders", */ T:1 }, +0x0266: { /* n:"BrtEndBorders", */ T:-1 }, +0x0267: { /* n:"BrtBeginFmts", */ T:1 }, +0x0268: { /* n:"BrtEndFmts", */ T:-1 }, +0x0269: { /* n:"BrtBeginCellXFs", */ T:1 }, +0x026A: { /* n:"BrtEndCellXFs", */ T:-1 }, +0x026B: { /* n:"BrtBeginStyles", */ T:1 }, +0x026C: { /* n:"BrtEndStyles", */ T:-1 }, +0x0271: { /* n:"BrtBigName" */ }, +0x0272: { /* n:"BrtBeginCellStyleXFs", */ T:1 }, +0x0273: { /* n:"BrtEndCellStyleXFs", */ T:-1 }, +0x0274: { /* n:"BrtBeginComments", */ T:1 }, +0x0275: { /* n:"BrtEndComments", */ T:-1 }, +0x0276: { /* n:"BrtBeginCommentAuthors", */ T:1 }, +0x0277: { /* n:"BrtEndCommentAuthors", */ T:-1 }, +0x0278: { /* n:"BrtCommentAuthor", */ f:parse_BrtCommentAuthor }, +0x0279: { /* n:"BrtBeginCommentList", */ T:1 }, +0x027A: { /* n:"BrtEndCommentList", */ T:-1 }, +0x027B: { /* n:"BrtBeginComment", */ T:1, f:parse_BrtBeginComment}, +0x027C: { /* n:"BrtEndComment", */ T:-1 }, +0x027D: { /* n:"BrtCommentText", */ f:parse_BrtCommentText }, +0x027E: { /* n:"BrtBeginOleObjects", */ T:1 }, +0x027F: { /* n:"BrtOleObject" */ }, +0x0280: { /* n:"BrtEndOleObjects", */ T:-1 }, +0x0281: { /* n:"BrtBeginSxrules", */ T:1 }, +0x0282: { /* n:"BrtEndSxRules", */ T:-1 }, +0x0283: { /* n:"BrtBeginActiveXControls", */ T:1 }, +0x0284: { /* n:"BrtActiveX" */ }, +0x0285: { /* n:"BrtEndActiveXControls", */ T:-1 }, +0x0286: { /* n:"BrtBeginPCDSDTCEMembersSortBy", */ T:1 }, +0x0288: { /* n:"BrtBeginCellIgnoreECs", */ T:1 }, +0x0289: { /* n:"BrtCellIgnoreEC" */ }, +0x028A: { /* n:"BrtEndCellIgnoreECs", */ T:-1 }, +0x028B: { /* n:"BrtCsProp", */ f:parse_BrtCsProp }, +0x028C: { /* n:"BrtCsPageSetup" */ }, +0x028D: { /* n:"BrtBeginUserCsViews", */ T:1 }, +0x028E: { /* n:"BrtEndUserCsViews", */ T:-1 }, +0x028F: { /* n:"BrtBeginUserCsView", */ T:1 }, +0x0290: { /* n:"BrtEndUserCsView", */ T:-1 }, +0x0291: { /* n:"BrtBeginPcdSFCIEntries", */ T:1 }, +0x0292: { /* n:"BrtEndPCDSFCIEntries", */ T:-1 }, +0x0293: { /* n:"BrtPCDSFCIEntry" */ }, +0x0294: { /* n:"BrtBeginListParts", */ T:1 }, +0x0295: { /* n:"BrtListPart" */ }, +0x0296: { /* n:"BrtEndListParts", */ T:-1 }, +0x0297: { /* n:"BrtSheetCalcProp" */ }, +0x0298: { /* n:"BrtBeginFnGroup", */ T:1 }, +0x0299: { /* n:"BrtFnGroup" */ }, +0x029A: { /* n:"BrtEndFnGroup", */ T:-1 }, +0x029B: { /* n:"BrtSupAddin" */ }, +0x029C: { /* n:"BrtSXTDMPOrder" */ }, +0x029D: { /* n:"BrtCsProtection" */ }, +0x029F: { /* n:"BrtBeginWsSortMap", */ T:1 }, +0x02A0: { /* n:"BrtEndWsSortMap", */ T:-1 }, +0x02A1: { /* n:"BrtBeginRRSort", */ T:1 }, +0x02A2: { /* n:"BrtEndRRSort", */ T:-1 }, +0x02A3: { /* n:"BrtRRSortItem" */ }, +0x02A4: { /* n:"BrtFileSharingIso" */ }, +0x02A5: { /* n:"BrtBookProtectionIso" */ }, +0x02A6: { /* n:"BrtSheetProtectionIso" */ }, +0x02A7: { /* n:"BrtCsProtectionIso" */ }, +0x02A8: { /* n:"BrtRangeProtectionIso" */ }, +0x02A9: { /* n:"BrtDValList" */ }, +0x0400: { /* n:"BrtRwDescent" */ }, +0x0401: { /* n:"BrtKnownFonts" */ }, +0x0402: { /* n:"BrtBeginSXTupleSet", */ T:1 }, +0x0403: { /* n:"BrtEndSXTupleSet", */ T:-1 }, +0x0404: { /* n:"BrtBeginSXTupleSetHeader", */ T:1 }, +0x0405: { /* n:"BrtEndSXTupleSetHeader", */ T:-1 }, +0x0406: { /* n:"BrtSXTupleSetHeaderItem" */ }, +0x0407: { /* n:"BrtBeginSXTupleSetData", */ T:1 }, +0x0408: { /* n:"BrtEndSXTupleSetData", */ T:-1 }, +0x0409: { /* n:"BrtBeginSXTupleSetRow", */ T:1 }, +0x040A: { /* n:"BrtEndSXTupleSetRow", */ T:-1 }, +0x040B: { /* n:"BrtSXTupleSetRowItem" */ }, +0x040C: { /* n:"BrtNameExt" */ }, +0x040D: { /* n:"BrtPCDH14" */ }, +0x040E: { /* n:"BrtBeginPCDCalcMem14", */ T:1 }, +0x040F: { /* n:"BrtEndPCDCalcMem14", */ T:-1 }, +0x0410: { /* n:"BrtSXTH14" */ }, +0x0411: { /* n:"BrtBeginSparklineGroup", */ T:1 }, +0x0412: { /* n:"BrtEndSparklineGroup", */ T:-1 }, +0x0413: { /* n:"BrtSparkline" */ }, +0x0414: { /* n:"BrtSXDI14" */ }, +0x0415: { /* n:"BrtWsFmtInfoEx14" */ }, +0x0416: { /* n:"BrtBeginConditionalFormatting14", */ T:1 }, +0x0417: { /* n:"BrtEndConditionalFormatting14", */ T:-1 }, +0x0418: { /* n:"BrtBeginCFRule14", */ T:1 }, +0x0419: { /* n:"BrtEndCFRule14", */ T:-1 }, +0x041A: { /* n:"BrtCFVO14" */ }, +0x041B: { /* n:"BrtBeginDatabar14", */ T:1 }, +0x041C: { /* n:"BrtBeginIconSet14", */ T:1 }, +0x041D: { /* n:"BrtDVal14", */ f: parse_BrtDVal14 }, +0x041E: { /* n:"BrtBeginDVals14", */ T:1 }, +0x041F: { /* n:"BrtColor14" */ }, +0x0420: { /* n:"BrtBeginSparklines", */ T:1 }, +0x0421: { /* n:"BrtEndSparklines", */ T:-1 }, +0x0422: { /* n:"BrtBeginSparklineGroups", */ T:1 }, +0x0423: { /* n:"BrtEndSparklineGroups", */ T:-1 }, +0x0425: { /* n:"BrtSXVD14" */ }, +0x0426: { /* n:"BrtBeginSXView14", */ T:1 }, +0x0427: { /* n:"BrtEndSXView14", */ T:-1 }, +0x0428: { /* n:"BrtBeginSXView16", */ T:1 }, +0x0429: { /* n:"BrtEndSXView16", */ T:-1 }, +0x042A: { /* n:"BrtBeginPCD14", */ T:1 }, +0x042B: { /* n:"BrtEndPCD14", */ T:-1 }, +0x042C: { /* n:"BrtBeginExtConn14", */ T:1 }, +0x042D: { /* n:"BrtEndExtConn14", */ T:-1 }, +0x042E: { /* n:"BrtBeginSlicerCacheIDs", */ T:1 }, +0x042F: { /* n:"BrtEndSlicerCacheIDs", */ T:-1 }, +0x0430: { /* n:"BrtBeginSlicerCacheID", */ T:1 }, +0x0431: { /* n:"BrtEndSlicerCacheID", */ T:-1 }, +0x0433: { /* n:"BrtBeginSlicerCache", */ T:1 }, +0x0434: { /* n:"BrtEndSlicerCache", */ T:-1 }, +0x0435: { /* n:"BrtBeginSlicerCacheDef", */ T:1 }, +0x0436: { /* n:"BrtEndSlicerCacheDef", */ T:-1 }, +0x0437: { /* n:"BrtBeginSlicersEx", */ T:1 }, +0x0438: { /* n:"BrtEndSlicersEx", */ T:-1 }, +0x0439: { /* n:"BrtBeginSlicerEx", */ T:1 }, +0x043A: { /* n:"BrtEndSlicerEx", */ T:-1 }, +0x043B: { /* n:"BrtBeginSlicer", */ T:1 }, +0x043C: { /* n:"BrtEndSlicer", */ T:-1 }, +0x043D: { /* n:"BrtSlicerCachePivotTables" */ }, +0x043E: { /* n:"BrtBeginSlicerCacheOlapImpl", */ T:1 }, +0x043F: { /* n:"BrtEndSlicerCacheOlapImpl", */ T:-1 }, +0x0440: { /* n:"BrtBeginSlicerCacheLevelsData", */ T:1 }, +0x0441: { /* n:"BrtEndSlicerCacheLevelsData", */ T:-1 }, +0x0442: { /* n:"BrtBeginSlicerCacheLevelData", */ T:1 }, +0x0443: { /* n:"BrtEndSlicerCacheLevelData", */ T:-1 }, +0x0444: { /* n:"BrtBeginSlicerCacheSiRanges", */ T:1 }, +0x0445: { /* n:"BrtEndSlicerCacheSiRanges", */ T:-1 }, +0x0446: { /* n:"BrtBeginSlicerCacheSiRange", */ T:1 }, +0x0447: { /* n:"BrtEndSlicerCacheSiRange", */ T:-1 }, +0x0448: { /* n:"BrtSlicerCacheOlapItem" */ }, +0x0449: { /* n:"BrtBeginSlicerCacheSelections", */ T:1 }, +0x044A: { /* n:"BrtSlicerCacheSelection" */ }, +0x044B: { /* n:"BrtEndSlicerCacheSelections", */ T:-1 }, +0x044C: { /* n:"BrtBeginSlicerCacheNative", */ T:1 }, +0x044D: { /* n:"BrtEndSlicerCacheNative", */ T:-1 }, +0x044E: { /* n:"BrtSlicerCacheNativeItem" */ }, +0x044F: { /* n:"BrtRangeProtection14" */ }, +0x0450: { /* n:"BrtRangeProtectionIso14" */ }, +0x0451: { /* n:"BrtCellIgnoreEC14" */ }, +0x0457: { /* n:"BrtList14" */ }, +0x0458: { /* n:"BrtCFIcon" */ }, +0x0459: { /* n:"BrtBeginSlicerCachesPivotCacheIDs", */ T:1 }, +0x045A: { /* n:"BrtEndSlicerCachesPivotCacheIDs", */ T:-1 }, +0x045B: { /* n:"BrtBeginSlicers", */ T:1 }, +0x045C: { /* n:"BrtEndSlicers", */ T:-1 }, +0x045D: { /* n:"BrtWbProp14" */ }, +0x045E: { /* n:"BrtBeginSXEdit", */ T:1 }, +0x045F: { /* n:"BrtEndSXEdit", */ T:-1 }, +0x0460: { /* n:"BrtBeginSXEdits", */ T:1 }, +0x0461: { /* n:"BrtEndSXEdits", */ T:-1 }, +0x0462: { /* n:"BrtBeginSXChange", */ T:1 }, +0x0463: { /* n:"BrtEndSXChange", */ T:-1 }, +0x0464: { /* n:"BrtBeginSXChanges", */ T:1 }, +0x0465: { /* n:"BrtEndSXChanges", */ T:-1 }, +0x0466: { /* n:"BrtSXTupleItems" */ }, +0x0468: { /* n:"BrtBeginSlicerStyle", */ T:1 }, +0x0469: { /* n:"BrtEndSlicerStyle", */ T:-1 }, +0x046A: { /* n:"BrtSlicerStyleElement" */ }, +0x046B: { /* n:"BrtBeginStyleSheetExt14", */ T:1 }, +0x046C: { /* n:"BrtEndStyleSheetExt14", */ T:-1 }, +0x046D: { /* n:"BrtBeginSlicerCachesPivotCacheID", */ T:1 }, +0x046E: { /* n:"BrtEndSlicerCachesPivotCacheID", */ T:-1 }, +0x046F: { /* n:"BrtBeginConditionalFormattings", */ T:1 }, +0x0470: { /* n:"BrtEndConditionalFormattings", */ T:-1 }, +0x0471: { /* n:"BrtBeginPCDCalcMemExt", */ T:1 }, +0x0472: { /* n:"BrtEndPCDCalcMemExt", */ T:-1 }, +0x0473: { /* n:"BrtBeginPCDCalcMemsExt", */ T:1 }, +0x0474: { /* n:"BrtEndPCDCalcMemsExt", */ T:-1 }, +0x0475: { /* n:"BrtPCDField14" */ }, +0x0476: { /* n:"BrtBeginSlicerStyles", */ T:1 }, +0x0477: { /* n:"BrtEndSlicerStyles", */ T:-1 }, +0x0478: { /* n:"BrtBeginSlicerStyleElements", */ T:1 }, +0x0479: { /* n:"BrtEndSlicerStyleElements", */ T:-1 }, +0x047A: { /* n:"BrtCFRuleExt" */ }, +0x047B: { /* n:"BrtBeginSXCondFmt14", */ T:1 }, +0x047C: { /* n:"BrtEndSXCondFmt14", */ T:-1 }, +0x047D: { /* n:"BrtBeginSXCondFmts14", */ T:1 }, +0x047E: { /* n:"BrtEndSXCondFmts14", */ T:-1 }, +0x0480: { /* n:"BrtBeginSortCond14", */ T:1 }, +0x0481: { /* n:"BrtEndSortCond14", */ T:-1 }, +0x0482: { /* n:"BrtEndDVals14", */ T:-1 }, +0x0483: { /* n:"BrtEndIconSet14", */ T:-1 }, +0x0484: { /* n:"BrtEndDatabar14", */ T:-1 }, +0x0485: { /* n:"BrtBeginColorScale14", */ T:1 }, +0x0486: { /* n:"BrtEndColorScale14", */ T:-1 }, +0x0487: { /* n:"BrtBeginSxrules14", */ T:1 }, +0x0488: { /* n:"BrtEndSxrules14", */ T:-1 }, +0x0489: { /* n:"BrtBeginPRule14", */ T:1 }, +0x048A: { /* n:"BrtEndPRule14", */ T:-1 }, +0x048B: { /* n:"BrtBeginPRFilters14", */ T:1 }, +0x048C: { /* n:"BrtEndPRFilters14", */ T:-1 }, +0x048D: { /* n:"BrtBeginPRFilter14", */ T:1 }, +0x048E: { /* n:"BrtEndPRFilter14", */ T:-1 }, +0x048F: { /* n:"BrtBeginPRFItem14", */ T:1 }, +0x0490: { /* n:"BrtEndPRFItem14", */ T:-1 }, +0x0491: { /* n:"BrtBeginCellIgnoreECs14", */ T:1 }, +0x0492: { /* n:"BrtEndCellIgnoreECs14", */ T:-1 }, +0x0493: { /* n:"BrtDxf14" */ }, +0x0494: { /* n:"BrtBeginDxF14s", */ T:1 }, +0x0495: { /* n:"BrtEndDxf14s", */ T:-1 }, +0x0499: { /* n:"BrtFilter14" */ }, +0x049A: { /* n:"BrtBeginCustomFilters14", */ T:1 }, +0x049C: { /* n:"BrtCustomFilter14" */ }, +0x049D: { /* n:"BrtIconFilter14" */ }, +0x049E: { /* n:"BrtPivotCacheConnectionName" */ }, +0x0800: { /* n:"BrtBeginDecoupledPivotCacheIDs", */ T:1 }, +0x0801: { /* n:"BrtEndDecoupledPivotCacheIDs", */ T:-1 }, +0x0802: { /* n:"BrtDecoupledPivotCacheID" */ }, +0x0803: { /* n:"BrtBeginPivotTableRefs", */ T:1 }, +0x0804: { /* n:"BrtEndPivotTableRefs", */ T:-1 }, +0x0805: { /* n:"BrtPivotTableRef" */ }, +0x0806: { /* n:"BrtSlicerCacheBookPivotTables" */ }, +0x0807: { /* n:"BrtBeginSxvcells", */ T:1 }, +0x0808: { /* n:"BrtEndSxvcells", */ T:-1 }, +0x0809: { /* n:"BrtBeginSxRow", */ T:1 }, +0x080A: { /* n:"BrtEndSxRow", */ T:-1 }, +0x080C: { /* n:"BrtPcdCalcMem15" */ }, +0x0813: { /* n:"BrtQsi15" */ }, +0x0814: { /* n:"BrtBeginWebExtensions", */ T:1 }, +0x0815: { /* n:"BrtEndWebExtensions", */ T:-1 }, +0x0816: { /* n:"BrtWebExtension" */ }, +0x0817: { /* n:"BrtAbsPath15" */ }, +0x0818: { /* n:"BrtBeginPivotTableUISettings", */ T:1 }, +0x0819: { /* n:"BrtEndPivotTableUISettings", */ T:-1 }, +0x081B: { /* n:"BrtTableSlicerCacheIDs" */ }, +0x081C: { /* n:"BrtTableSlicerCacheID" */ }, +0x081D: { /* n:"BrtBeginTableSlicerCache", */ T:1 }, +0x081E: { /* n:"BrtEndTableSlicerCache", */ T:-1 }, +0x081F: { /* n:"BrtSxFilter15" */ }, +0x0820: { /* n:"BrtBeginTimelineCachePivotCacheIDs", */ T:1 }, +0x0821: { /* n:"BrtEndTimelineCachePivotCacheIDs", */ T:-1 }, +0x0822: { /* n:"BrtTimelineCachePivotCacheID" */ }, +0x0823: { /* n:"BrtBeginTimelineCacheIDs", */ T:1 }, +0x0824: { /* n:"BrtEndTimelineCacheIDs", */ T:-1 }, +0x0825: { /* n:"BrtBeginTimelineCacheID", */ T:1 }, +0x0826: { /* n:"BrtEndTimelineCacheID", */ T:-1 }, +0x0827: { /* n:"BrtBeginTimelinesEx", */ T:1 }, +0x0828: { /* n:"BrtEndTimelinesEx", */ T:-1 }, +0x0829: { /* n:"BrtBeginTimelineEx", */ T:1 }, +0x082A: { /* n:"BrtEndTimelineEx", */ T:-1 }, +0x082B: { /* n:"BrtWorkBookPr15" */ }, +0x082C: { /* n:"BrtPCDH15" */ }, +0x082D: { /* n:"BrtBeginTimelineStyle", */ T:1 }, +0x082E: { /* n:"BrtEndTimelineStyle", */ T:-1 }, +0x082F: { /* n:"BrtTimelineStyleElement" */ }, +0x0830: { /* n:"BrtBeginTimelineStylesheetExt15", */ T:1 }, +0x0831: { /* n:"BrtEndTimelineStylesheetExt15", */ T:-1 }, +0x0832: { /* n:"BrtBeginTimelineStyles", */ T:1 }, +0x0833: { /* n:"BrtEndTimelineStyles", */ T:-1 }, +0x0834: { /* n:"BrtBeginTimelineStyleElements", */ T:1 }, +0x0835: { /* n:"BrtEndTimelineStyleElements", */ T:-1 }, +0x0836: { /* n:"BrtDxf15" */ }, +0x0837: { /* n:"BrtBeginDxfs15", */ T:1 }, +0x0838: { /* n:"BrtEndDxfs15", */ T:-1 }, +0x0839: { /* n:"BrtSlicerCacheHideItemsWithNoData" */ }, +0x083A: { /* n:"BrtBeginItemUniqueNames", */ T:1 }, +0x083B: { /* n:"BrtEndItemUniqueNames", */ T:-1 }, +0x083C: { /* n:"BrtItemUniqueName" */ }, +0x083D: { /* n:"BrtBeginExtConn15", */ T:1 }, +0x083E: { /* n:"BrtEndExtConn15", */ T:-1 }, +0x083F: { /* n:"BrtBeginOledbPr15", */ T:1 }, +0x0840: { /* n:"BrtEndOledbPr15", */ T:-1 }, +0x0841: { /* n:"BrtBeginDataFeedPr15", */ T:1 }, +0x0842: { /* n:"BrtEndDataFeedPr15", */ T:-1 }, +0x0843: { /* n:"BrtTextPr15" */ }, +0x0844: { /* n:"BrtRangePr15" */ }, +0x0845: { /* n:"BrtDbCommand15" */ }, +0x0846: { /* n:"BrtBeginDbTables15", */ T:1 }, +0x0847: { /* n:"BrtEndDbTables15", */ T:-1 }, +0x0848: { /* n:"BrtDbTable15" */ }, +0x0849: { /* n:"BrtBeginDataModel", */ T:1 }, +0x084A: { /* n:"BrtEndDataModel", */ T:-1 }, +0x084B: { /* n:"BrtBeginModelTables", */ T:1 }, +0x084C: { /* n:"BrtEndModelTables", */ T:-1 }, +0x084D: { /* n:"BrtModelTable" */ }, +0x084E: { /* n:"BrtBeginModelRelationships", */ T:1 }, +0x084F: { /* n:"BrtEndModelRelationships", */ T:-1 }, +0x0850: { /* n:"BrtModelRelationship" */ }, +0x0851: { /* n:"BrtBeginECTxtWiz15", */ T:1 }, +0x0852: { /* n:"BrtEndECTxtWiz15", */ T:-1 }, +0x0853: { /* n:"BrtBeginECTWFldInfoLst15", */ T:1 }, +0x0854: { /* n:"BrtEndECTWFldInfoLst15", */ T:-1 }, +0x0855: { /* n:"BrtBeginECTWFldInfo15", */ T:1 }, +0x0856: { /* n:"BrtFieldListActiveItem" */ }, +0x0857: { /* n:"BrtPivotCacheIdVersion" */ }, +0x0858: { /* n:"BrtSXDI15" */ }, +0x0859: { /* n:"BrtBeginModelTimeGroupings", */ T:1 }, +0x085A: { /* n:"BrtEndModelTimeGroupings", */ T:-1 }, +0x085B: { /* n:"BrtBeginModelTimeGrouping", */ T:1 }, +0x085C: { /* n:"BrtEndModelTimeGrouping", */ T:-1 }, +0x085D: { /* n:"BrtModelTimeGroupingCalcCol" */ }, +0x0C00: { /* n:"BrtUid" */ }, +0x0C01: { /* n:"BrtRevisionPtr" */ }, +0x1000: { /* n:"BrtBeginDynamicArrayPr", */ T:1 }, +0x1001: { /* n:"BrtEndDynamicArrayPr", */ T:-1 }, +0x138A: { /* n:"BrtBeginRichValueBlock", */ T:1 }, +0x138B: { /* n:"BrtEndRichValueBlock", */ T:-1 }, +0x13D9: { /* n:"BrtBeginRichFilters", */ T:1 }, +0x13DA: { /* n:"BrtEndRichFilters", */ T:-1 }, +0x13DB: { /* n:"BrtRichFilter" */ }, +0x13DC: { /* n:"BrtBeginRichFilterColumn", */ T:1 }, +0x13DD: { /* n:"BrtEndRichFilterColumn", */ T:-1 }, +0x13DE: { /* n:"BrtBeginCustomRichFilters", */ T:1 }, +0x13DF: { /* n:"BrtEndCustomRichFilters", */ T:-1 }, +0x13E0: { /* n:"BrtCustomRichFilter" */ }, +0x13E1: { /* n:"BrtTop10RichFilter" */ }, +0x13E2: { /* n:"BrtDynamicRichFilter" */ }, +0x13E4: { /* n:"BrtBeginRichSortCondition", */ T:1 }, +0x13E5: { /* n:"BrtEndRichSortCondition", */ T:-1 }, +0x13E6: { /* n:"BrtRichFilterDateGroupItem" */ }, +0x13E7: { /* n:"BrtBeginCalcFeatures", */ T:1 }, +0x13E8: { /* n:"BrtEndCalcFeatures", */ T:-1 }, +0x13E9: { /* n:"BrtCalcFeature" */ }, +0x13EB: { /* n:"BrtExternalLinksPr" */ }, 0xFFFF: { n:"" } }; -var XLSBRE; -function make_XLSBRE() { - XLSBRE = evert_key(XLSBRecordEnum, 'n'); - /*jshint -W069 */ - XLSBRE["BrtFRTArchID$"] = 0x0010; - /*jshint +W069 */ -} - /* [MS-XLS] 2.3 Record Enumeration (and other sources) */ var XLSRecordEnum = { /* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */ -0x0006: { n:"Formula", f:parse_Formula }, -0x000a: { n:'EOF', f:parsenoop2 }, -0x000c: { n:"CalcCount", f:parseuint16 }, -0x000d: { n:"CalcMode", f:parseuint16 }, -0x000e: { n:"CalcPrecision", f:parsebool }, -0x000f: { n:"CalcRefMode", f:parsebool }, -0x0010: { n:"CalcDelta", f:parse_Xnum }, -0x0011: { n:"CalcIter", f:parsebool }, -0x0012: { n:"Protect", f:parsebool }, -0x0013: { n:"Password", f:parseuint16 }, -0x0014: { n:"Header", f:parse_XLHeaderFooter }, -0x0015: { n:"Footer", f:parse_XLHeaderFooter }, -0x0017: { n:"ExternSheet", f:parse_ExternSheet }, -0x0018: { n:"Lbl", f:parse_Lbl }, -0x0019: { n:"WinProtect", f:parsebool }, -0x001a: { n:"VerticalPageBreaks" }, -0x001b: { n:"HorizontalPageBreaks" }, -0x001c: { n:"Note", f:parse_Note }, -0x001d: { n:"Selection" }, -0x0022: { n:"Date1904", f:parsebool }, -0x0023: { n:"ExternName", f:parse_ExternName }, -0x0026: { n:"LeftMargin", f:parse_Xnum }, -0x0027: { n:"RightMargin", f:parse_Xnum }, -0x0028: { n:"TopMargin", f:parse_Xnum }, -0x0029: { n:"BottomMargin", f:parse_Xnum }, -0x002a: { n:"PrintRowCol", f:parsebool }, -0x002b: { n:"PrintGrid", f:parsebool }, -0x002f: { n:"FilePass", f:parse_FilePass }, -0x0031: { n:"Font", f:parse_Font }, -0x0033: { n:"PrintSize", f:parseuint16 }, -0x003c: { n:"Continue" }, -0x003d: { n:"Window1", f:parse_Window1 }, -0x0040: { n:"Backup", f:parsebool }, -0x0041: { n:"Pane", f:parse_Pane }, -0x0042: { n:'CodePage', f:parseuint16 }, -0x004d: { n:"Pls" }, -0x0050: { n:"DCon" }, -0x0051: { n:"DConRef" }, -0x0052: { n:"DConName" }, -0x0055: { n:"DefColWidth", f:parseuint16 }, -0x0059: { n:"XCT" }, -0x005a: { n:"CRN" }, -0x005b: { n:"FileSharing" }, -0x005c: { n:'WriteAccess', f:parse_WriteAccess }, -0x005d: { n:"Obj", f:parse_Obj }, -0x005e: { n:"Uncalced" }, -0x005f: { n:"CalcSaveRecalc", f:parsebool }, -0x0060: { n:"Template" }, -0x0061: { n:"Intl" }, -0x0063: { n:"ObjProtect", f:parsebool }, -0x007d: { n:"ColInfo", f:parse_ColInfo }, -0x0080: { n:"Guts", f:parse_Guts }, -0x0081: { n:"WsBool", f:parse_WsBool }, -0x0082: { n:"GridSet", f:parseuint16 }, -0x0083: { n:"HCenter", f:parsebool }, -0x0084: { n:"VCenter", f:parsebool }, -0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, -0x0086: { n:"WriteProtect" }, -0x008c: { n:"Country", f:parse_Country }, -0x008d: { n:"HideObj", f:parseuint16 }, -0x0090: { n:"Sort" }, -0x0092: { n:"Palette", f:parse_Palette }, -0x0097: { n:"Sync" }, -0x0098: { n:"LPr" }, -0x0099: { n:"DxGCol" }, -0x009a: { n:"FnGroupName" }, -0x009b: { n:"FilterMode" }, -0x009c: { n:"BuiltInFnGroupCount", f:parseuint16 }, -0x009d: { n:"AutoFilterInfo" }, -0x009e: { n:"AutoFilter" }, -0x00a0: { n:"Scl", f:parse_Scl }, -0x00a1: { n:"Setup", f:parse_Setup }, -0x00ae: { n:"ScenMan" }, -0x00af: { n:"SCENARIO" }, -0x00b0: { n:"SxView" }, -0x00b1: { n:"Sxvd" }, -0x00b2: { n:"SXVI" }, -0x00b4: { n:"SxIvd" }, -0x00b5: { n:"SXLI" }, -0x00b6: { n:"SXPI" }, -0x00b8: { n:"DocRoute" }, -0x00b9: { n:"RecipName" }, -0x00bd: { n:"MulRk", f:parse_MulRk }, -0x00be: { n:"MulBlank", f:parse_MulBlank }, -0x00c1: { n:'Mms', f:parsenoop2 }, -0x00c5: { n:"SXDI" }, -0x00c6: { n:"SXDB" }, -0x00c7: { n:"SXFDB" }, -0x00c8: { n:"SXDBB" }, -0x00c9: { n:"SXNum" }, -0x00ca: { n:"SxBool", f:parsebool }, -0x00cb: { n:"SxErr" }, -0x00cc: { n:"SXInt" }, -0x00cd: { n:"SXString" }, -0x00ce: { n:"SXDtr" }, -0x00cf: { n:"SxNil" }, -0x00d0: { n:"SXTbl" }, -0x00d1: { n:"SXTBRGIITM" }, -0x00d2: { n:"SxTbpg" }, -0x00d3: { n:"ObProj" }, -0x00d5: { n:"SXStreamID" }, -0x00d7: { n:"DBCell" }, -0x00d8: { n:"SXRng" }, -0x00d9: { n:"SxIsxoper" }, -0x00da: { n:"BookBool", f:parseuint16 }, -0x00dc: { n:"DbOrParamQry" }, -0x00dd: { n:"ScenarioProtect", f:parsebool }, -0x00de: { n:"OleObjectSize" }, -0x00e0: { n:"XF", f:parse_XF }, -0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, -0x00e2: { n:'InterfaceEnd', f:parsenoop2 }, -0x00e3: { n:"SXVS" }, -0x00e5: { n:"MergeCells", f:parse_MergeCells }, -0x00e9: { n:"BkHim" }, -0x00eb: { n:"MsoDrawingGroup" }, -0x00ec: { n:"MsoDrawing" }, -0x00ed: { n:"MsoDrawingSelection" }, -0x00ef: { n:"PhoneticInfo" }, -0x00f0: { n:"SxRule" }, -0x00f1: { n:"SXEx" }, -0x00f2: { n:"SxFilt" }, -0x00f4: { n:"SxDXF" }, -0x00f5: { n:"SxItm" }, -0x00f6: { n:"SxName" }, -0x00f7: { n:"SxSelect" }, -0x00f8: { n:"SXPair" }, -0x00f9: { n:"SxFmla" }, -0x00fb: { n:"SxFormat" }, -0x00fc: { n:"SST", f:parse_SST }, -0x00fd: { n:"LabelSst", f:parse_LabelSst }, -0x00ff: { n:"ExtSST", f:parse_ExtSST }, -0x0100: { n:"SXVDEx" }, -0x0103: { n:"SXFormula" }, -0x0122: { n:"SXDBEx" }, -0x0137: { n:"RRDInsDel" }, -0x0138: { n:"RRDHead" }, -0x013b: { n:"RRDChgCell" }, -0x013d: { n:"RRTabId", f:parseuint16a }, -0x013e: { n:"RRDRenSheet" }, -0x013f: { n:"RRSort" }, -0x0140: { n:"RRDMove" }, -0x014a: { n:"RRFormat" }, -0x014b: { n:"RRAutoFmt" }, -0x014d: { n:"RRInsertSh" }, -0x014e: { n:"RRDMoveBegin" }, -0x014f: { n:"RRDMoveEnd" }, -0x0150: { n:"RRDInsDelBegin" }, -0x0151: { n:"RRDInsDelEnd" }, -0x0152: { n:"RRDConflict" }, -0x0153: { n:"RRDDefName" }, -0x0154: { n:"RRDRstEtxp" }, -0x015f: { n:"LRng" }, -0x0160: { n:"UsesELFs", f:parsebool }, -0x0161: { n:"DSF", f:parsenoop2 }, -0x0191: { n:"CUsr" }, -0x0192: { n:"CbUsr" }, -0x0193: { n:"UsrInfo" }, -0x0194: { n:"UsrExcl" }, -0x0195: { n:"FileLock" }, -0x0196: { n:"RRDInfo" }, -0x0197: { n:"BCUsrs" }, -0x0198: { n:"UsrChk" }, -0x01a9: { n:"UserBView" }, -0x01aa: { n:"UserSViewBegin" }, -0x01ab: { n:"UserSViewEnd" }, -0x01ac: { n:"RRDUserView" }, -0x01ad: { n:"Qsi" }, -0x01ae: { n:"SupBook", f:parse_SupBook }, -0x01af: { n:"Prot4Rev", f:parsebool }, -0x01b0: { n:"CondFmt" }, -0x01b1: { n:"CF" }, -0x01b2: { n:"DVal" }, -0x01b5: { n:"DConBin" }, -0x01b6: { n:"TxO", f:parse_TxO }, -0x01b7: { n:"RefreshAll", f:parsebool }, -0x01b8: { n:"HLink", f:parse_HLink }, -0x01b9: { n:"Lel" }, -0x01ba: { n:"CodeName", f:parse_XLUnicodeString }, -0x01bb: { n:"SXFDBType" }, -0x01bc: { n:"Prot4RevPass", f:parseuint16 }, -0x01bd: { n:"ObNoMacros" }, -0x01be: { n:"Dv" }, -0x01c0: { n:"Excel9File", f:parsenoop2 }, -0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, -0x01c2: { n:"EntExU2", f:parsenoop2 }, -0x0200: { n:"Dimensions", f:parse_Dimensions }, -0x0201: { n:"Blank", f:parse_Blank }, -0x0203: { n:"Number", f:parse_Number }, -0x0204: { n:"Label", f:parse_Label }, -0x0205: { n:"BoolErr", f:parse_BoolErr }, -0x0207: { n:"String", f:parse_String }, -0x0208: { n:'Row', f:parse_Row }, -0x020b: { n:"Index" }, -0x0221: { n:"Array", f:parse_Array }, -0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, -0x0236: { n:"Table" }, -0x023e: { n:"Window2", f:parse_Window2 }, -0x027e: { n:"RK", f:parse_RK }, -0x0293: { n:"Style" }, -0x0418: { n:"BigName" }, -0x041e: { n:"Format", f:parse_Format }, -0x043c: { n:"ContinueBigName" }, -0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, -0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, -0x0801: { n:"WebPub" }, -0x0802: { n:"QsiSXTag" }, -0x0803: { n:"DBQueryExt" }, -0x0804: { n:"ExtString" }, -0x0805: { n:"TxtQry" }, -0x0806: { n:"Qsir" }, -0x0807: { n:"Qsif" }, -0x0808: { n:"RRDTQSIF" }, -0x0809: { n:'BOF', f:parse_BOF }, -0x080a: { n:"OleDbConn" }, -0x080b: { n:"WOpt" }, -0x080c: { n:"SXViewEx" }, -0x080d: { n:"SXTH" }, -0x080e: { n:"SXPIEx" }, -0x080f: { n:"SXVDTEx" }, -0x0810: { n:"SXViewEx9" }, -0x0812: { n:"ContinueFrt" }, -0x0813: { n:"RealTimeData" }, -0x0850: { n:"ChartFrtInfo" }, -0x0851: { n:"FrtWrapper" }, -0x0852: { n:"StartBlock" }, -0x0853: { n:"EndBlock" }, -0x0854: { n:"StartObject" }, -0x0855: { n:"EndObject" }, -0x0856: { n:"CatLab" }, -0x0857: { n:"YMult" }, -0x0858: { n:"SXViewLink" }, -0x0859: { n:"PivotChartBits" }, -0x085a: { n:"FrtFontList" }, -0x0862: { n:"SheetExt" }, -0x0863: { n:"BookExt", r:12}, -0x0864: { n:"SXAddl" }, -0x0865: { n:"CrErr" }, -0x0866: { n:"HFPicture" }, -0x0867: { n:'FeatHdr', f:parsenoop2 }, -0x0868: { n:"Feat" }, -0x086a: { n:"DataLabExt" }, -0x086b: { n:"DataLabExtContents" }, -0x086c: { n:"CellWatch" }, -0x0871: { n:"FeatHdr11" }, -0x0872: { n:"Feature11" }, -0x0874: { n:"DropDownObjIds" }, -0x0875: { n:"ContinueFrt11" }, -0x0876: { n:"DConn" }, -0x0877: { n:"List12" }, -0x0878: { n:"Feature12" }, -0x0879: { n:"CondFmt12" }, -0x087a: { n:"CF12" }, -0x087b: { n:"CFEx" }, -0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, -0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, -0x087e: { n:"AutoFilter12" }, -0x087f: { n:"ContinueFrt12" }, -0x0884: { n:"MDTInfo" }, -0x0885: { n:"MDXStr" }, -0x0886: { n:"MDXTuple" }, -0x0887: { n:"MDXSet" }, -0x0888: { n:"MDXProp" }, -0x0889: { n:"MDXKPI" }, -0x088a: { n:"MDB" }, -0x088b: { n:"PLV" }, -0x088c: { n:"Compat12", f:parsebool, r:12 }, -0x088d: { n:"DXF" }, -0x088e: { n:"TableStyles", r:12 }, -0x088f: { n:"TableStyle" }, -0x0890: { n:"TableStyleElement" }, -0x0892: { n:"StyleExt" }, -0x0893: { n:"NamePublish" }, -0x0894: { n:"NameCmt", f:parse_NameCmt, r:12 }, -0x0895: { n:"SortData" }, -0x0896: { n:"Theme", f:parse_Theme, r:12 }, -0x0897: { n:"GUIDTypeLib" }, -0x0898: { n:"FnGrp12" }, -0x0899: { n:"NameFnGrp12" }, -0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, -0x089b: { n:"CompressPictures", f:parsenoop2 }, -0x089c: { n:"HeaderFooter" }, -0x089d: { n:"CrtLayout12" }, -0x089e: { n:"CrtMlFrt" }, -0x089f: { n:"CrtMlFrtContinue" }, -0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, -0x08a4: { n:"ShapePropsStream" }, -0x08a5: { n:"TextPropsStream" }, -0x08a6: { n:"RichTextStream" }, -0x08a7: { n:"CrtLayout12A" }, -0x1001: { n:"Units" }, -0x1002: { n:"Chart" }, -0x1003: { n:"Series" }, -0x1006: { n:"DataFormat" }, -0x1007: { n:"LineFormat" }, -0x1009: { n:"MarkerFormat" }, -0x100a: { n:"AreaFormat" }, -0x100b: { n:"PieFormat" }, -0x100c: { n:"AttachedLabel" }, -0x100d: { n:"SeriesText" }, -0x1014: { n:"ChartFormat" }, -0x1015: { n:"Legend" }, -0x1016: { n:"SeriesList" }, -0x1017: { n:"Bar" }, -0x1018: { n:"Line" }, -0x1019: { n:"Pie" }, -0x101a: { n:"Area" }, -0x101b: { n:"Scatter" }, -0x101c: { n:"CrtLine" }, -0x101d: { n:"Axis" }, -0x101e: { n:"Tick" }, -0x101f: { n:"ValueRange" }, -0x1020: { n:"CatSerRange" }, -0x1021: { n:"AxisLine" }, -0x1022: { n:"CrtLink" }, -0x1024: { n:"DefaultText" }, -0x1025: { n:"Text" }, -0x1026: { n:"FontX", f:parseuint16 }, -0x1027: { n:"ObjectLink" }, -0x1032: { n:"Frame" }, -0x1033: { n:"Begin" }, -0x1034: { n:"End" }, -0x1035: { n:"PlotArea" }, -0x103a: { n:"Chart3d" }, -0x103c: { n:"PicF" }, -0x103d: { n:"DropBar" }, -0x103e: { n:"Radar" }, -0x103f: { n:"Surf" }, -0x1040: { n:"RadarArea" }, -0x1041: { n:"AxisParent" }, -0x1043: { n:"LegendException" }, -0x1044: { n:"ShtProps", f:parse_ShtProps }, -0x1045: { n:"SerToCrt" }, -0x1046: { n:"AxesUsed" }, -0x1048: { n:"SBaseRef" }, -0x104a: { n:"SerParent" }, -0x104b: { n:"SerAuxTrend" }, -0x104e: { n:"IFmtRecord" }, -0x104f: { n:"Pos" }, -0x1050: { n:"AlRuns" }, -0x1051: { n:"BRAI" }, -0x105b: { n:"SerAuxErrBar" }, -0x105c: { n:"ClrtClient", f:parse_ClrtClient }, -0x105d: { n:"SerFmt" }, -0x105f: { n:"Chart3DBarShape" }, -0x1060: { n:"Fbi" }, -0x1061: { n:"BopPop" }, -0x1062: { n:"AxcExt" }, -0x1063: { n:"Dat" }, -0x1064: { n:"PlotGrowth" }, -0x1065: { n:"SIIndex" }, -0x1066: { n:"GelFrame" }, -0x1067: { n:"BopPopCustom" }, -0x1068: { n:"Fbi2" }, +0x0006: { /* n:"Formula", */ f:parse_Formula }, +0x000a: { /* n:"EOF", */ f:parsenoop2 }, +0x000c: { /* n:"CalcCount", */ f:parseuint16 }, // +0x000d: { /* n:"CalcMode", */ f:parseuint16 }, // +0x000e: { /* n:"CalcPrecision", */ f:parsebool }, // +0x000f: { /* n:"CalcRefMode", */ f:parsebool }, // +0x0010: { /* n:"CalcDelta", */ f:parse_Xnum }, // +0x0011: { /* n:"CalcIter", */ f:parsebool }, // +0x0012: { /* n:"Protect", */ f:parsebool }, +0x0013: { /* n:"Password", */ f:parseuint16 }, +0x0014: { /* n:"Header", */ f:parse_XLHeaderFooter }, +0x0015: { /* n:"Footer", */ f:parse_XLHeaderFooter }, +0x0017: { /* n:"ExternSheet", */ f:parse_ExternSheet }, +0x0018: { /* n:"Lbl", */ f:parse_Lbl }, +0x0019: { /* n:"WinProtect", */ f:parsebool }, +0x001a: { /* n:"VerticalPageBreaks", */ }, +0x001b: { /* n:"HorizontalPageBreaks", */ }, +0x001c: { /* n:"Note", */ f:parse_Note }, +0x001d: { /* n:"Selection", */ }, +0x0022: { /* n:"Date1904", */ f:parsebool }, +0x0023: { /* n:"ExternName", */ f:parse_ExternName }, +0x0026: { /* n:"LeftMargin", */ f:parse_Xnum }, // * +0x0027: { /* n:"RightMargin", */ f:parse_Xnum }, // * +0x0028: { /* n:"TopMargin", */ f:parse_Xnum }, // * +0x0029: { /* n:"BottomMargin", */ f:parse_Xnum }, // * +0x002a: { /* n:"PrintRowCol", */ f:parsebool }, +0x002b: { /* n:"PrintGrid", */ f:parsebool }, +0x002f: { /* n:"FilePass", */ f:parse_FilePass }, +0x0031: { /* n:"Font", */ f:parse_Font }, +0x0033: { /* n:"PrintSize", */ f:parseuint16 }, +0x003c: { /* n:"Continue", */ }, +0x003d: { /* n:"Window1", */ f:parse_Window1 }, +0x0040: { /* n:"Backup", */ f:parsebool }, +0x0041: { /* n:"Pane", */ f:parse_Pane }, +0x0042: { /* n:"CodePage", */ f:parseuint16 }, +0x004d: { /* n:"Pls", */ }, +0x0050: { /* n:"DCon", */ }, +0x0051: { /* n:"DConRef", */ }, +0x0052: { /* n:"DConName", */ }, +0x0055: { /* n:"DefColWidth", */ f:parseuint16 }, +0x0059: { /* n:"XCT", */ }, +0x005a: { /* n:"CRN", */ }, +0x005b: { /* n:"FileSharing", */ }, +0x005c: { /* n:"WriteAccess", */ f:parse_WriteAccess }, +0x005d: { /* n:"Obj", */ f:parse_Obj }, +0x005e: { /* n:"Uncalced", */ }, +0x005f: { /* n:"CalcSaveRecalc", */ f:parsebool }, // +0x0060: { /* n:"Template", */ }, +0x0061: { /* n:"Intl", */ }, +0x0063: { /* n:"ObjProtect", */ f:parsebool }, +0x007d: { /* n:"ColInfo", */ f:parse_ColInfo }, +0x0080: { /* n:"Guts", */ f:parse_Guts }, +0x0081: { /* n:"WsBool", */ f:parse_WsBool }, +0x0082: { /* n:"GridSet", */ f:parseuint16 }, +0x0083: { /* n:"HCenter", */ f:parsebool }, +0x0084: { /* n:"VCenter", */ f:parsebool }, +0x0085: { /* n:"BoundSheet8", */ f:parse_BoundSheet8 }, +0x0086: { /* n:"WriteProtect", */ }, +0x008c: { /* n:"Country", */ f:parse_Country }, +0x008d: { /* n:"HideObj", */ f:parseuint16 }, +0x0090: { /* n:"Sort", */ }, +0x0092: { /* n:"Palette", */ f:parse_Palette }, +0x0097: { /* n:"Sync", */ }, +0x0098: { /* n:"LPr", */ }, +0x0099: { /* n:"DxGCol", */ }, +0x009a: { /* n:"FnGroupName", */ }, +0x009b: { /* n:"FilterMode", */ }, +0x009c: { /* n:"BuiltInFnGroupCount", */ f:parseuint16 }, +0x009d: { /* n:"AutoFilterInfo", */ }, +0x009e: { /* n:"AutoFilter", */ }, +0x00a0: { /* n:"Scl", */ f:parse_Scl }, +0x00a1: { /* n:"Setup", */ f:parse_Setup }, +0x00ae: { /* n:"ScenMan", */ }, +0x00af: { /* n:"SCENARIO", */ }, +0x00b0: { /* n:"SxView", */ }, +0x00b1: { /* n:"Sxvd", */ }, +0x00b2: { /* n:"SXVI", */ }, +0x00b4: { /* n:"SxIvd", */ }, +0x00b5: { /* n:"SXLI", */ }, +0x00b6: { /* n:"SXPI", */ }, +0x00b8: { /* n:"DocRoute", */ }, +0x00b9: { /* n:"RecipName", */ }, +0x00bd: { /* n:"MulRk", */ f:parse_MulRk }, +0x00be: { /* n:"MulBlank", */ f:parse_MulBlank }, +0x00c1: { /* n:"Mms", */ f:parsenoop2 }, +0x00c5: { /* n:"SXDI", */ }, +0x00c6: { /* n:"SXDB", */ }, +0x00c7: { /* n:"SXFDB", */ }, +0x00c8: { /* n:"SXDBB", */ }, +0x00c9: { /* n:"SXNum", */ }, +0x00ca: { /* n:"SxBool", */ f:parsebool }, +0x00cb: { /* n:"SxErr", */ }, +0x00cc: { /* n:"SXInt", */ }, +0x00cd: { /* n:"SXString", */ }, +0x00ce: { /* n:"SXDtr", */ }, +0x00cf: { /* n:"SxNil", */ }, +0x00d0: { /* n:"SXTbl", */ }, +0x00d1: { /* n:"SXTBRGIITM", */ }, +0x00d2: { /* n:"SxTbpg", */ }, +0x00d3: { /* n:"ObProj", */ }, +0x00d5: { /* n:"SXStreamID", */ }, +0x00d7: { /* n:"DBCell", */ }, +0x00d8: { /* n:"SXRng", */ }, +0x00d9: { /* n:"SxIsxoper", */ }, +0x00da: { /* n:"BookBool", */ f:parseuint16 }, +0x00dc: { /* n:"DbOrParamQry", */ }, +0x00dd: { /* n:"ScenarioProtect", */ f:parsebool }, +0x00de: { /* n:"OleObjectSize", */ }, +0x00e0: { /* n:"XF", */ f:parse_XF }, +0x00e1: { /* n:"InterfaceHdr", */ f:parse_InterfaceHdr }, +0x00e2: { /* n:"InterfaceEnd", */ f:parsenoop2 }, +0x00e3: { /* n:"SXVS", */ }, +0x00e5: { /* n:"MergeCells", */ f:parse_MergeCells }, +0x00e9: { /* n:"BkHim", */ }, +0x00eb: { /* n:"MsoDrawingGroup", */ }, +0x00ec: { /* n:"MsoDrawing", */ }, +0x00ed: { /* n:"MsoDrawingSelection", */ }, +0x00ef: { /* n:"PhoneticInfo", */ }, +0x00f0: { /* n:"SxRule", */ }, +0x00f1: { /* n:"SXEx", */ }, +0x00f2: { /* n:"SxFilt", */ }, +0x00f4: { /* n:"SxDXF", */ }, +0x00f5: { /* n:"SxItm", */ }, +0x00f6: { /* n:"SxName", */ }, +0x00f7: { /* n:"SxSelect", */ }, +0x00f8: { /* n:"SXPair", */ }, +0x00f9: { /* n:"SxFmla", */ }, +0x00fb: { /* n:"SxFormat", */ }, +0x00fc: { /* n:"SST", */ f:parse_SST }, +0x00fd: { /* n:"LabelSst", */ f:parse_LabelSst }, +0x00ff: { /* n:"ExtSST", */ f:parse_ExtSST }, +0x0100: { /* n:"SXVDEx", */ }, +0x0103: { /* n:"SXFormula", */ }, +0x0122: { /* n:"SXDBEx", */ }, +0x0137: { /* n:"RRDInsDel", */ }, +0x0138: { /* n:"RRDHead", */ }, +0x013b: { /* n:"RRDChgCell", */ }, +0x013d: { /* n:"RRTabId", */ f:parseuint16a }, +0x013e: { /* n:"RRDRenSheet", */ }, +0x013f: { /* n:"RRSort", */ }, +0x0140: { /* n:"RRDMove", */ }, +0x014a: { /* n:"RRFormat", */ }, +0x014b: { /* n:"RRAutoFmt", */ }, +0x014d: { /* n:"RRInsertSh", */ }, +0x014e: { /* n:"RRDMoveBegin", */ }, +0x014f: { /* n:"RRDMoveEnd", */ }, +0x0150: { /* n:"RRDInsDelBegin", */ }, +0x0151: { /* n:"RRDInsDelEnd", */ }, +0x0152: { /* n:"RRDConflict", */ }, +0x0153: { /* n:"RRDDefName", */ }, +0x0154: { /* n:"RRDRstEtxp", */ }, +0x015f: { /* n:"LRng", */ }, +0x0160: { /* n:"UsesELFs", */ f:parsebool }, +0x0161: { /* n:"DSF", */ f:parsenoop2 }, +0x0191: { /* n:"CUsr", */ }, +0x0192: { /* n:"CbUsr", */ }, +0x0193: { /* n:"UsrInfo", */ }, +0x0194: { /* n:"UsrExcl", */ }, +0x0195: { /* n:"FileLock", */ }, +0x0196: { /* n:"RRDInfo", */ }, +0x0197: { /* n:"BCUsrs", */ }, +0x0198: { /* n:"UsrChk", */ }, +0x01a9: { /* n:"UserBView", */ }, +0x01aa: { /* n:"UserSViewBegin", */ }, +0x01ab: { /* n:"UserSViewEnd", */ }, +0x01ac: { /* n:"RRDUserView", */ }, +0x01ad: { /* n:"Qsi", */ }, +0x01ae: { /* n:"SupBook", */ f:parse_SupBook }, +0x01af: { /* n:"Prot4Rev", */ f:parsebool }, +0x01b0: { /* n:"CondFmt", */ }, +0x01b1: { /* n:"CF", */ }, +0x01b2: { /* n:"DVal", */ }, +0x01b5: { /* n:"DConBin", */ }, +0x01b6: { /* n:"TxO", */ f:parse_TxO }, +0x01b7: { /* n:"RefreshAll", */ f:parsebool }, // +0x01b8: { /* n:"HLink", */ f:parse_HLink }, +0x01b9: { /* n:"Lel", */ }, +0x01ba: { /* n:"CodeName", */ f:parse_XLUnicodeString }, +0x01bb: { /* n:"SXFDBType", */ }, +0x01bc: { /* n:"Prot4RevPass", */ f:parseuint16 }, +0x01bd: { /* n:"ObNoMacros", */ }, +0x01be: { /* n:"Dv", */ }, +0x01c0: { /* n:"Excel9File", */ f:parsenoop2 }, +0x01c1: { /* n:"RecalcId", */ f:parse_RecalcId, r:2}, +0x01c2: { /* n:"EntExU2", */ f:parsenoop2 }, +0x0200: { /* n:"Dimensions", */ f:parse_Dimensions }, +0x0201: { /* n:"Blank", */ f:parse_Blank }, +0x0203: { /* n:"Number", */ f:parse_Number }, +0x0204: { /* n:"Label", */ f:parse_Label }, +0x0205: { /* n:"BoolErr", */ f:parse_BoolErr }, +0x0207: { /* n:"String", */ f:parse_String }, +0x0208: { /* n:"Row", */ f:parse_Row }, +0x020b: { /* n:"Index", */ }, +0x0221: { /* n:"Array", */ f:parse_Array }, +0x0225: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, +0x0236: { /* n:"Table", */ }, +0x023e: { /* n:"Window2", */ f:parse_Window2 }, +0x027e: { /* n:"RK", */ f:parse_RK }, +0x0293: { /* n:"Style", */ }, +0x0418: { /* n:"BigName", */ }, +0x041e: { /* n:"Format", */ f:parse_Format }, +0x043c: { /* n:"ContinueBigName", */ }, +0x04bc: { /* n:"ShrFmla", */ f:parse_ShrFmla }, +0x0800: { /* n:"HLinkTooltip", */ f:parse_HLinkTooltip }, +0x0801: { /* n:"WebPub", */ }, +0x0802: { /* n:"QsiSXTag", */ }, +0x0803: { /* n:"DBQueryExt", */ }, +0x0804: { /* n:"ExtString", */ }, +0x0805: { /* n:"TxtQry", */ }, +0x0806: { /* n:"Qsir", */ }, +0x0807: { /* n:"Qsif", */ }, +0x0808: { /* n:"RRDTQSIF", */ }, +0x0809: { /* n:"BOF", */ f:parse_BOF }, +0x080a: { /* n:"OleDbConn", */ }, +0x080b: { /* n:"WOpt", */ }, +0x080c: { /* n:"SXViewEx", */ }, +0x080d: { /* n:"SXTH", */ }, +0x080e: { /* n:"SXPIEx", */ }, +0x080f: { /* n:"SXVDTEx", */ }, +0x0810: { /* n:"SXViewEx9", */ }, +0x0812: { /* n:"ContinueFrt", */ }, +0x0813: { /* n:"RealTimeData", */ }, +0x0850: { /* n:"ChartFrtInfo", */ }, +0x0851: { /* n:"FrtWrapper", */ }, +0x0852: { /* n:"StartBlock", */ }, +0x0853: { /* n:"EndBlock", */ }, +0x0854: { /* n:"StartObject", */ }, +0x0855: { /* n:"EndObject", */ }, +0x0856: { /* n:"CatLab", */ }, +0x0857: { /* n:"YMult", */ }, +0x0858: { /* n:"SXViewLink", */ }, +0x0859: { /* n:"PivotChartBits", */ }, +0x085a: { /* n:"FrtFontList", */ }, +0x0862: { /* n:"SheetExt", */ }, +0x0863: { /* n:"BookExt", */ r:12}, +0x0864: { /* n:"SXAddl", */ }, +0x0865: { /* n:"CrErr", */ }, +0x0866: { /* n:"HFPicture", */ }, +0x0867: { /* n:"FeatHdr", */ f:parsenoop2 }, +0x0868: { /* n:"Feat", */ }, +0x086a: { /* n:"DataLabExt", */ }, +0x086b: { /* n:"DataLabExtContents", */ }, +0x086c: { /* n:"CellWatch", */ }, +0x0871: { /* n:"FeatHdr11", */ }, +0x0872: { /* n:"Feature11", */ }, +0x0874: { /* n:"DropDownObjIds", */ }, +0x0875: { /* n:"ContinueFrt11", */ }, +0x0876: { /* n:"DConn", */ }, +0x0877: { /* n:"List12", */ }, +0x0878: { /* n:"Feature12", */ }, +0x0879: { /* n:"CondFmt12", */ }, +0x087a: { /* n:"CF12", */ }, +0x087b: { /* n:"CFEx", */ }, +0x087c: { /* n:"XFCRC", */ f:parse_XFCRC, r:12 }, +0x087d: { /* n:"XFExt", */ f:parse_XFExt, r:12 }, +0x087e: { /* n:"AutoFilter12", */ }, +0x087f: { /* n:"ContinueFrt12", */ }, +0x0884: { /* n:"MDTInfo", */ }, +0x0885: { /* n:"MDXStr", */ }, +0x0886: { /* n:"MDXTuple", */ }, +0x0887: { /* n:"MDXSet", */ }, +0x0888: { /* n:"MDXProp", */ }, +0x0889: { /* n:"MDXKPI", */ }, +0x088a: { /* n:"MDB", */ }, +0x088b: { /* n:"PLV", */ }, +0x088c: { /* n:"Compat12", */ f:parsebool, r:12 }, +0x088d: { /* n:"DXF", */ }, +0x088e: { /* n:"TableStyles", */ r:12 }, +0x088f: { /* n:"TableStyle", */ }, +0x0890: { /* n:"TableStyleElement", */ }, +0x0892: { /* n:"StyleExt", */ }, +0x0893: { /* n:"NamePublish", */ }, +0x0894: { /* n:"NameCmt", */ f:parse_NameCmt, r:12 }, +0x0895: { /* n:"SortData", */ }, +0x0896: { /* n:"Theme", */ f:parse_Theme, r:12 }, +0x0897: { /* n:"GUIDTypeLib", */ }, +0x0898: { /* n:"FnGrp12", */ }, +0x0899: { /* n:"NameFnGrp12", */ }, +0x089a: { /* n:"MTRSettings", */ f:parse_MTRSettings, r:12 }, +0x089b: { /* n:"CompressPictures", */ f:parsenoop2 }, +0x089c: { /* n:"HeaderFooter", */ }, +0x089d: { /* n:"CrtLayout12", */ }, +0x089e: { /* n:"CrtMlFrt", */ }, +0x089f: { /* n:"CrtMlFrtContinue", */ }, +0x08a3: { /* n:"ForceFullCalculation", */ f:parse_ForceFullCalculation }, +0x08a4: { /* n:"ShapePropsStream", */ }, +0x08a5: { /* n:"TextPropsStream", */ }, +0x08a6: { /* n:"RichTextStream", */ }, +0x08a7: { /* n:"CrtLayout12A", */ }, +0x1001: { /* n:"Units", */ }, +0x1002: { /* n:"Chart", */ }, +0x1003: { /* n:"Series", */ }, +0x1006: { /* n:"DataFormat", */ }, +0x1007: { /* n:"LineFormat", */ }, +0x1009: { /* n:"MarkerFormat", */ }, +0x100a: { /* n:"AreaFormat", */ }, +0x100b: { /* n:"PieFormat", */ }, +0x100c: { /* n:"AttachedLabel", */ }, +0x100d: { /* n:"SeriesText", */ }, +0x1014: { /* n:"ChartFormat", */ }, +0x1015: { /* n:"Legend", */ }, +0x1016: { /* n:"SeriesList", */ }, +0x1017: { /* n:"Bar", */ }, +0x1018: { /* n:"Line", */ }, +0x1019: { /* n:"Pie", */ }, +0x101a: { /* n:"Area", */ }, +0x101b: { /* n:"Scatter", */ }, +0x101c: { /* n:"CrtLine", */ }, +0x101d: { /* n:"Axis", */ }, +0x101e: { /* n:"Tick", */ }, +0x101f: { /* n:"ValueRange", */ }, +0x1020: { /* n:"CatSerRange", */ }, +0x1021: { /* n:"AxisLine", */ }, +0x1022: { /* n:"CrtLink", */ }, +0x1024: { /* n:"DefaultText", */ }, +0x1025: { /* n:"Text", */ }, +0x1026: { /* n:"FontX", */ f:parseuint16 }, +0x1027: { /* n:"ObjectLink", */ }, +0x1032: { /* n:"Frame", */ }, +0x1033: { /* n:"Begin", */ }, +0x1034: { /* n:"End", */ }, +0x1035: { /* n:"PlotArea", */ }, +0x103a: { /* n:"Chart3d", */ }, +0x103c: { /* n:"PicF", */ }, +0x103d: { /* n:"DropBar", */ }, +0x103e: { /* n:"Radar", */ }, +0x103f: { /* n:"Surf", */ }, +0x1040: { /* n:"RadarArea", */ }, +0x1041: { /* n:"AxisParent", */ }, +0x1043: { /* n:"LegendException", */ }, +0x1044: { /* n:"ShtProps", */ f:parse_ShtProps }, +0x1045: { /* n:"SerToCrt", */ }, +0x1046: { /* n:"AxesUsed", */ }, +0x1048: { /* n:"SBaseRef", */ }, +0x104a: { /* n:"SerParent", */ }, +0x104b: { /* n:"SerAuxTrend", */ }, +0x104e: { /* n:"IFmtRecord", */ }, +0x104f: { /* n:"Pos", */ }, +0x1050: { /* n:"AlRuns", */ }, +0x1051: { /* n:"BRAI", */ }, +0x105b: { /* n:"SerAuxErrBar", */ }, +0x105c: { /* n:"ClrtClient", */ f:parse_ClrtClient }, +0x105d: { /* n:"SerFmt", */ }, +0x105f: { /* n:"Chart3DBarShape", */ }, +0x1060: { /* n:"Fbi", */ }, +0x1061: { /* n:"BopPop", */ }, +0x1062: { /* n:"AxcExt", */ }, +0x1063: { /* n:"Dat", */ }, +0x1064: { /* n:"PlotGrowth", */ }, +0x1065: { /* n:"SIIndex", */ }, +0x1066: { /* n:"GelFrame", */ }, +0x1067: { /* n:"BopPopCustom", */ }, +0x1068: { /* n:"Fbi2", */ }, -0x0000: { n:"Dimensions", f:parse_Dimensions }, -0x0001: { n:"BIFF2BLANK" }, -0x0002: { n:"BIFF2INT", f:parse_BIFF2INT }, -0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, -0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, -0x0005: { n:"BoolErr", f:parse_BoolErr }, -0x0007: { n:"String", f:parse_BIFF2STRING }, -0x0008: { n:"BIFF2ROW" }, -0x0009: { n:'BOF', f:parse_BOF }, -0x000b: { n:"Index" }, -0x0016: { n:"ExternCount", f:parseuint16 }, -0x001e: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, -0x001f: { n:"BIFF2FMTCNT" }, /* 16-bit cnt of BIFF2FORMAT records */ -0x0020: { n:"BIFF2COLINFO" }, -0x0021: { n:"Array", f:parse_Array }, -0x0024: { n:"COLWIDTH" }, -0x0025: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, +0x0000: { /* n:"Dimensions", */ f:parse_Dimensions }, +0x0001: { /* n:"BIFF2BLANK", */ }, +0x0002: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, +0x0003: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, +0x0004: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, +0x0005: { /* n:"BoolErr", */ f:parse_BoolErr }, +0x0007: { /* n:"String", */ f:parse_BIFF2STRING }, +0x0008: { /* n:"BIFF2ROW", */ }, +0x0009: { /* n:"BOF", */ f:parse_BOF }, +0x000b: { /* n:"Index", */ }, +0x0016: { /* n:"ExternCount", */ f:parseuint16 }, +0x001e: { /* n:"BIFF2FORMAT", */ f:parse_BIFF2Format }, +0x001f: { /* n:"BIFF2FMTCNT", */ }, /* 16-bit cnt of BIFF2FORMAT records */ +0x0020: { /* n:"BIFF2COLINFO", */ }, +0x0021: { /* n:"Array", */ f:parse_Array }, +0x0024: { /* n:"COLWIDTH", */ }, +0x0025: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, // 0x2c ?? // 0x2d ?? // 0x2e ?? // 0x30 FONTCOUNT: number of fonts -0x0032: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, +0x0032: { /* n:"BIFF2FONTXTRA", */ f:parse_BIFF2FONTXTRA }, // 0x35: INFOOPTS // 0x36: TABLE (BIFF2 only) // 0x37: TABLE2 (BIFF2 only) @@ -20495,7 +20573,7 @@ var XLSRecordEnum = { // 0x39 ?? // 0x3a: BEGINPREF // 0x3b: ENDPREF -0x003e: { n:"BIFF2WINDOW2" }, +0x003e: { /* n:"BIFF2WINDOW2", */ }, // 0x3f ?? // 0x46: SHOWSCROLL // 0x47: SHOWFORMULA @@ -20509,72 +20587,71 @@ var XLSRecordEnum = { // 0x58: TOOLBAR (BIFF3) /* - - - */ -0x0034: { n:"DDEObjName" }, -0x0043: { n:"BIFF2XF" }, -0x0044: { n:"BIFF2XFINDEX", f:parseuint16 }, -0x0045: { n:"BIFF2FONTCLR" }, -0x0056: { n:"BIFF4FMTCNT" }, /* 16-bit cnt, similar to BIFF2 */ -0x007e: { n:"RK" }, /* Not necessarily same as 0x027e */ -0x007f: { n:"ImData", f:parse_ImData }, -0x0087: { n:"Addin" }, -0x0088: { n:"Edg" }, -0x0089: { n:"Pub" }, +0x0034: { /* n:"DDEObjName", */ }, +0x0043: { /* n:"BIFF2XF", */ }, +0x0044: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, +0x0045: { /* n:"BIFF2FONTCLR", */ }, +0x0056: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ +0x007e: { /* n:"RK", */ }, /* Not necessarily same as 0x027e */ +0x007f: { /* n:"ImData", */ f:parse_ImData }, +0x0087: { /* n:"Addin", */ }, +0x0088: { /* n:"Edg", */ }, +0x0089: { /* n:"Pub", */ }, // 0x8A // 0x8B LH: alternate menu key flag (BIFF3/4) // 0x8E // 0x8F -0x0091: { n:"Sub" }, +0x0091: { /* n:"Sub", */ }, // 0x93 STYLE -0x0094: { n:"LHRecord" }, -0x0095: { n:"LHNGraph" }, -0x0096: { n:"Sound" }, +0x0094: { /* n:"LHRecord", */ }, +0x0095: { /* n:"LHNGraph", */ }, +0x0096: { /* n:"Sound", */ }, // 0xA2 FNPROTO: function prototypes (BIFF4) // 0xA3 // 0xA8 -0x00a9: { n:"CoordList" }, -0x00ab: { n:"GCW" }, -0x00bc: { n:"ShrFmla" }, /* Not necessarily same as 0x04bc */ -0x00bf: { n:"ToolbarHdr" }, -0x00c0: { n:"ToolbarEnd" }, -0x00c2: { n:"AddMenu" }, -0x00c3: { n:"DelMenu" }, -0x00d6: { n:"RString", f:parse_RString }, -0x00df: { n:"UDDesc" }, -0x00ea: { n:"TabIdConf" }, -0x0162: { n:"XL5Modify" }, -0x01a5: { n:"FileSharing2" }, -0x0206: { n:"Formula", f:parse_Formula }, -0x0209: { n:'BOF', f:parse_BOF }, -0x0218: { n:"Lbl", f:parse_Lbl }, -0x0223: { n:"ExternName", f:parse_ExternName }, -0x0231: { n:"Font" }, -0x0243: { n:"BIFF3XF" }, -0x0406: { n:"Formula", f:parse_Formula }, -0x0409: { n:'BOF', f:parse_BOF }, -0x0443: { n:"BIFF4XF" }, -0x086d: { n:"FeatInfo" }, -0x0873: { n:"FeatInfo11" }, -0x0881: { n:"SXAddl12" }, -0x08c0: { n:"AutoWebPub" }, -0x08c1: { n:"ListObj" }, -0x08c2: { n:"ListField" }, -0x08c3: { n:"ListDV" }, -0x08c4: { n:"ListCondFmt" }, -0x08c5: { n:"ListCF" }, -0x08c6: { n:"FMQry" }, -0x08c7: { n:"FMSQry" }, -0x08c8: { n:"PLV" }, -0x08c9: { n:"LnExt" }, -0x08ca: { n:"MkrExt" }, -0x08cb: { n:"CrtCoopt" }, -0x08d6: { n:"FRTArchId$", r:12 }, +0x00a9: { /* n:"CoordList", */ }, +0x00ab: { /* n:"GCW", */ }, +0x00bc: { /* n:"ShrFmla", */ }, /* Not necessarily same as 0x04bc */ +0x00bf: { /* n:"ToolbarHdr", */ }, +0x00c0: { /* n:"ToolbarEnd", */ }, +0x00c2: { /* n:"AddMenu", */ }, +0x00c3: { /* n:"DelMenu", */ }, +0x00d6: { /* n:"RString", */ f:parse_RString }, +0x00df: { /* n:"UDDesc", */ }, +0x00ea: { /* n:"TabIdConf", */ }, +0x0162: { /* n:"XL5Modify", */ }, +0x01a5: { /* n:"FileSharing2", */ }, +0x0206: { /* n:"Formula", */ f:parse_Formula }, +0x0209: { /* n:"BOF", */ f:parse_BOF }, +0x0218: { /* n:"Lbl", */ f:parse_Lbl }, +0x0223: { /* n:"ExternName", */ f:parse_ExternName }, +0x0231: { /* n:"Font", */ }, +0x0243: { /* n:"BIFF3XF", */ }, +0x0406: { /* n:"Formula", */ f:parse_Formula }, +0x0409: { /* n:"BOF", */ f:parse_BOF }, +0x0443: { /* n:"BIFF4XF", */ }, +0x086d: { /* n:"FeatInfo", */ }, +0x0873: { /* n:"FeatInfo11", */ }, +0x0881: { /* n:"SXAddl12", */ }, +0x08c0: { /* n:"AutoWebPub", */ }, +0x08c1: { /* n:"ListObj", */ }, +0x08c2: { /* n:"ListField", */ }, +0x08c3: { /* n:"ListDV", */ }, +0x08c4: { /* n:"ListCondFmt", */ }, +0x08c5: { /* n:"ListCF", */ }, +0x08c6: { /* n:"FMQry", */ }, +0x08c7: { /* n:"FMSQry", */ }, +0x08c8: { /* n:"PLV", */ }, +0x08c9: { /* n:"LnExt", */ }, +0x08ca: { /* n:"MkrExt", */ }, +0x08cb: { /* n:"CrtCoopt", */ }, +0x08d6: { /* n:"FRTArchId$", */ r:12 }, 0x7262: {} }; -var XLSRE = evert_key(XLSRecordEnum, 'n'); function write_biff_rec(ba, type, payload, length) { - var t = typeof type == "number" ? type : (+type || +XLSRE[type]); + var t = type; if(isNaN(t)) return; var len = length || (payload||[]).length || 0; var o = ba.next(4); @@ -20586,7 +20663,7 @@ function write_biff_rec(ba, type, payload, length) { function write_biff_continue(ba, type, payload, length) { var len = length || (payload||[]).length || 0; if(len <= 8224) return write_biff_rec(ba, type, payload, len); - var t = +type || +XLSRE[type]; + var t = type; if(isNaN(t)) return; var parts = payload.parts || [], sidx = 0; var i = 0, w = 0; @@ -20688,7 +20765,7 @@ function write_biff2_buf(wb, opts) { } function write_FONTS_biff8(ba, data, opts) { - write_biff_rec(ba, "Font", write_Font({ + write_biff_rec(ba, 0x0031 /* Font */, write_Font({ sz:12, color: {theme:1}, name: "Arial", @@ -20701,7 +20778,7 @@ function write_FONTS_biff8(ba, data, opts) { function write_FMTS_biff8(ba, NF, opts) { if(!NF) return; [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { -for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i], opts)); +for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, 0x041E /* Format */, write_Format(i, NF[i], opts)); }); } @@ -20710,7 +20787,7 @@ function write_FEAT(ba, ws) { var o = new_buf(19); o.write_shift(4, 0x867); o.write_shift(4, 0); o.write_shift(4, 0); o.write_shift(2, 3); o.write_shift(1, 1); o.write_shift(4, 0); - write_biff_rec(ba, "FeatHdr", o); + write_biff_rec(ba, 0x0867 /* FeatHdr */, o); /* [MS-XLS] 2.4.111 */ o = new_buf(39); o.write_shift(4, 0x868); o.write_shift(4, 0); o.write_shift(4, 0); @@ -20718,31 +20795,31 @@ function write_FEAT(ba, ws) { o.write_shift(2, 1); o.write_shift(4, 4); o.write_shift(2, 0); write_Ref8U(safe_decode_range(ws['!ref']||"A1"), o); o.write_shift(4, 4); - write_biff_rec(ba, "Feat", o); + write_biff_rec(ba, 0x0868 /* Feat */, o); } function write_CELLXFS_biff8(ba, opts) { - for(var i = 0; i < 16; ++i) write_biff_rec(ba, "XF", write_XF({numFmtId:0, style:true}, 0, opts)); + for(var i = 0; i < 16; ++i) write_biff_rec(ba, 0x00e0 /* XF */, write_XF({numFmtId:0, style:true}, 0, opts)); opts.cellXfs.forEach(function(c) { - write_biff_rec(ba, "XF", write_XF(c, 0, opts)); + write_biff_rec(ba, 0x00e0 /* XF */, write_XF(c, 0, opts)); }); } function write_ws_biff8_hlinks(ba, ws) { for(var R=0; R 255) { // note: 255 is IV - if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); + if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); } } @@ -21012,7 +21089,7 @@ var HTML_ = (function() { m = htmldecode(m); if(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R; if(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C; - if(!m.length) continue; + if(!m.length) { C += CS; continue; } var o = {t:'s', v:m}; if(opts.raw || !m.trim().length || _t == 's'){} else if(m === 'TRUE') o = {t:'b', v:true}; @@ -21036,8 +21113,8 @@ var HTML_ = (function() { var mtch = str.match(/[\s\S]*?<\/table>/gi); if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find "); if(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts); - var wb = utils.book_new(); - mtch.forEach(function(s, idx) { utils.book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); + var wb = book_new(); + mtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); return wb; } function make_html_row(ws, r, R, o) { @@ -21211,37 +21288,36 @@ function get_get_computed_style_function(element) { return null; } /* OpenDocument */ -var parse_content_xml = (function() { +function parse_text_p(text) { + /* 6.1.2 White Space Characters */ + var fixed = text + .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") + .replace(//g," ") + .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) + .replace(/]*\/>/g,"\t") + .replace(//g,"\n"); + var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); - var parse_text_p = function(text) { - /* 6.1.2 White Space Characters */ - var fixed = text - .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") - .replace(//g," ") - .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) - .replace(/]*\/>/g,"\t") - .replace(//g,"\n"); - var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); + return [v]; +} - return [v]; - }; +var number_formats_ods = { + /* ods name: [short ssf fmt, long ssf fmt] */ + day: ["d", "dd"], + month: ["m", "mm"], + year: ["y", "yy"], + hours: ["h", "hh"], + minutes: ["m", "mm"], + seconds: ["s", "ss"], + "am-pm": ["A/P", "AM/PM"], + "day-of-week": ["ddd", "dddd"], + era: ["e", "ee"], + /* there is no native representation of LO "Q" format */ + quarter: ["\\Qm", "m\\\"th quarter\""] +}; - var number_formats = { - /* ods name: [short ssf fmt, long ssf fmt] */ - day: ["d", "dd"], - month: ["m", "mm"], - year: ["y", "yy"], - hours: ["h", "hh"], - minutes: ["m", "mm"], - seconds: ["s", "ss"], - "am-pm": ["A/P", "AM/PM"], - "day-of-week": ["ddd", "dddd"], - era: ["e", "ee"], - /* there is no native representation of LO "Q" format */ - quarter: ["\\Qm", "m\\\"th quarter\""] - }; - return function pcx(d, _opts) { +function parse_content_xml(d, _opts) { var opts = _opts || {}; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var str = xlml_normalize(d); @@ -21520,7 +21596,7 @@ var parse_content_xml = (function() { case 'time-style': case 'date-style': tag = parsexmltag(Rn[0], false); - NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; } break; case 'fraction': break; // TODO 16.27.6 @@ -21540,7 +21616,7 @@ var parse_content_xml = (function() { case 'time-style': case 'date-style': tag = parsexmltag(Rn[0], false); - NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; } break; case 'boolean-style': break; // 16.27.23 @@ -21764,8 +21840,7 @@ var parse_content_xml = (function() { }); if(opts.bookSheets) delete out.Sheets; return out; - }; -})(); +} function parse_ods(zip, opts) { opts = opts || ({}); @@ -21781,7 +21856,7 @@ function parse_fods(data, opts) { } /* OpenDocument */ -var write_styles_ods = (function() { +var write_styles_ods = /* @__PURE__ */(function() { var master_styles = [ '', '', @@ -21812,7 +21887,7 @@ var write_styles_ods = (function() { return XML_HEADER + payload; }; })(); -var write_content_ods = (function() { +var write_content_ods = /* @__PURE__ */(function() { /* 6.1.2 White Space Characters */ var write_text_p = function(text) { return escapexml(text) @@ -22076,673 +22151,591 @@ function write_ods(wb, opts) { return zip; } -var NUMBERS = !Object.defineProperty ? (void 0) :(function() { - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __markAsModule = function(target) { - return __defProp(target, "__esModule", { value: true }); - }; - var __export = function(target, all) { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); - }; - var __reExport = function(target, module, copyDefault, desc) { - if (module && typeof module === "object" || typeof module === "function") - for (var keys = __getOwnPropNames(module), i = 0, n = keys.length, key; i < n; i++) { - key = keys[i]; - if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) - __defProp(target, key, { get: function(k) { - return module[k]; - }.bind(null, key), enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); - } - return target; - }; - var __toCommonJS = /* @__PURE__ */ function(cache) { - return function(module, temp) { - return cache && cache.get(module) || (temp = __reExport(__markAsModule({}), module, 1), cache && cache.set(module, temp), temp); - }; - }(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); - - // 83_numbers.ts - var numbers_exports = {}; - __export(numbers_exports, { - parse_numbers: function() { - return numbers_default; - } +/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ +var u8_to_dataview = function(array) { + return new DataView(array.buffer, array.byteOffset, array.byteLength); +}; +var u8str = function(u8) { + return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); +}; +var u8concat = function(u8a) { + var len = u8a.reduce(function(acc, x) { + return acc + x.length; + }, 0); + var out = new Uint8Array(len); + var off = 0; + u8a.forEach(function(u8) { + out.set(u8, off); + off += u8.length; }); - - // src/util.ts - var u8_to_dataview = function(array) { - return new DataView(array.buffer, array.byteOffset, array.byteLength); - }; - var u8str = function(u8) { - return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); - }; - var u8concat = function(u8a) { - var len = u8a.reduce(function(acc, x) { - return acc + x.length; - }, 0); - var out = new Uint8Array(len); - var off = 0; - u8a.forEach(function(u8) { - out.set(u8, off); - off += u8.length; - }); - return out; - }; - var popcnt = function(x) { - x -= x >> 1 & 1431655765; - x = (x & 858993459) + (x >> 2 & 858993459); - return (x + (x >> 4) & 252645135) * 16843009 >>> 24; - }; - var readDecimal128LE = function(buf, offset) { - var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; - var mantissa = buf[offset + 14] & 1; - for (var j = offset + 13; j >= offset; --j) - mantissa = mantissa * 256 + buf[j]; - return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); - }; - - // src/proto.ts - function parse_varint49(buf, ptr) { - var l = ptr ? ptr[0] : 0; - var usz = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - usz |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 28); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 35); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 42); - ++l; - if (buf[l++] < 128) - break varint; - } - if (ptr) - ptr[0] = l; - return usz; - } - function varint_to_i32(buf) { - var l = 0, i32 = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - i32 |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 28; - } - return i32; - } - function parse_shallow(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var off = ptr[0]; - var num = parse_varint49(buf, ptr); - var type = num & 7; - num = Math.floor(num / 8); - var len = 0; - var res; - if (num == 0) - break; - switch (type) { - case 0: - { - var l = ptr[0]; - while (buf[ptr[0]++] >= 128) - ; - res = buf.slice(l, ptr[0]); - } - break; - case 5: - len = 4; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 1: - len = 8; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 2: - len = parse_varint49(buf, ptr); - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 3: - case 4: - default: - throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); - } - var v = { offset: off, data: res, type: type }; - if (out[num] == null) - out[num] = [v]; - else - out[num].push(v); + return out; +}; +var popcnt = function(x) { + x -= x >> 1 & 1431655765; + x = (x & 858993459) + (x >> 2 & 858993459); + return (x + (x >> 4) & 252645135) * 16843009 >>> 24; +}; +var readDecimal128LE = function(buf, offset) { + var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; + var mantissa = buf[offset + 14] & 1; + for (var j = offset + 13; j >= offset; --j) + mantissa = mantissa * 256 + buf[j]; + return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); +}; +function parse_varint49(buf, ptr) { + var l = ptr ? ptr[0] : 0; + var usz = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + usz |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 28); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 35); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 42); + ++l; + if (buf[l++] < 128) + break varint; } - return out; - } - function mappa(data, cb) { - if (!data) - return []; - return data.map(function(d) { - var _a; - try { - return cb(d.data); - } catch (e) { - var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); - if (m) - e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); - throw e; - } - }); - } - - // src/frame.ts - function deframe(buf) { - var out = []; - var l = 0; - while (l < buf.length) { - var t = buf[l++]; - var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; - l += 3; - out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); - l += len; + if (ptr) + ptr[0] = l; + return usz; +} +function varint_to_i32(buf) { + var l = 0, i32 = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 28; } - if (l !== buf.length) - throw new Error("data is not a valid framed stream!"); - return u8concat(out); - } - function parse_snappy_chunk(type, buf) { - if (type != 0) - throw new Error("Unexpected Snappy chunk type ".concat(type)); - var ptr = [0]; - var usz = parse_varint49(buf, ptr); - var chunks = []; - while (ptr[0] < buf.length) { - var tag = buf[ptr[0]] & 3; - if (tag == 0) { - var len = buf[ptr[0]++] >> 2; - if (len < 60) - ++len; - else { - var c = len - 59; - len = buf[ptr[0]]; - if (c > 1) - len |= buf[ptr[0] + 1] << 8; - if (c > 2) - len |= buf[ptr[0] + 2] << 16; - if (c > 3) - len |= buf[ptr[0] + 3] << 24; - len >>>= 0; - len++; - ptr[0] += c; + return i32; +} +function parse_shallow(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var off = ptr[0]; + var num = parse_varint49(buf, ptr); + var type = num & 7; + num = Math.floor(num / 8); + var len = 0; + var res; + if (num == 0) + break; + switch (type) { + case 0: + { + var l = ptr[0]; + while (buf[ptr[0]++] >= 128) + ; + res = buf.slice(l, ptr[0]); } - chunks.push(buf.slice(ptr[0], ptr[0] + len)); + break; + case 5: + len = 4; + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; + break; + case 1: + len = 8; + res = buf.slice(ptr[0], ptr[0] + len); ptr[0] += len; - continue; - } else { - var offset = 0, length = 0; - if (tag == 1) { - length = (buf[ptr[0]] >> 2 & 7) + 4; - offset = (buf[ptr[0]++] & 224) << 3; - offset |= buf[ptr[0]++]; - } else { - length = (buf[ptr[0]++] >> 2) + 1; - if (tag == 2) { - offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; - ptr[0] += 2; - } else { - offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; - ptr[0] += 4; - } - } - chunks = [u8concat(chunks)]; - if (offset == 0) - throw new Error("Invalid offset 0"); - if (offset > chunks[0].length) - throw new Error("Invalid offset beyond length"); - if (length >= offset) { - chunks.push(chunks[0].slice(-offset)); - length -= offset; - while (length >= chunks[chunks.length - 1].length) { - chunks.push(chunks[chunks.length - 1]); - length -= chunks[chunks.length - 1].length; - } - } - chunks.push(chunks[0].slice(-offset, -offset + length)); - } - } - var o = u8concat(chunks); - if (o.length != usz) - throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); - return o; - } - - // src/iwa.ts - function parse_iwa(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var len = parse_varint49(buf, ptr); - var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); - ptr[0] += len; - var res = { - id: varint_to_i32(ai[1][0].data), - messages: [] - }; - ai[2].forEach(function(b) { - var mi = parse_shallow(b.data); - var fl = varint_to_i32(mi[3][0].data); - res.messages.push({ - meta: mi, - data: buf.slice(ptr[0], ptr[0] + fl) - }); - ptr[0] += fl; - }); - out.push(res); - } - return out; - } - - // src/cell.ts - function parse_old_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[buf[0] == 4 ? 1 : 2]; - var flags = dv.getUint32(4, true); - var data_offset = 12 + popcnt(flags & 3470) * 4; - var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 512) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - data_offset += popcnt(flags & 12288) * 4; - if (flags & 16) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 32) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - var ret; - switch (ctype) { - case 0: break; case 2: - ret = { t: "n", v: ieee }; + len = parse_varint49(buf, ptr); + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else if (sidx > -1) - ret = { t: "s", v: sst[sidx] }; - else if (!isNaN(ieee)) - ret = { t: "n", v: ieee }; - else - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - break; - default: - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - return ret; - } - function parse_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[1]; - var flags = dv.getUint32(8, true); - var data_offset = 12; - var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 1) { - d128 = readDecimal128LE(buf, data_offset); - data_offset += 16; - } - if (flags & 2) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - if (flags & 8) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 16) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - var ret; - switch (ctype) { - case 0: - break; - case 2: - ret = { t: "n", v: d128 }; - break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - break; - case 10: - ret = { t: "n", v: d128 }; - break; - default: - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - return ret; - } - function parse(buf, sst, rsst) { - switch (buf[0]) { case 3: case 4: - return parse_old_storage(buf, sst, rsst); - case 5: - return parse_storage(buf, sst, rsst); default: - throw new Error("Unsupported payload version ".concat(buf[0])); + throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); } + var v = { offset: off, data: res, type: type }; + if (out[num] == null) + out[num] = [v]; + else + out[num].push(v); } - - // src/numbers.ts - var encode_col = function(C) { - var s = ""; - for (++C; C; C = Math.floor((C - 1) / 26)) - s = String.fromCharCode((C - 1) % 26 + 65) + s; - return s; - }; - var encode_cell = function(c) { - return "".concat(encode_col(c.c)).concat(c.r + 1); - }; - var encode_range = function(r) { - return encode_cell(r.s) + ":" + encode_cell(r.e); - }; - var book_new = function() { - return { Sheets: {}, SheetNames: [] }; - }; - var book_append_sheet = function(wb, ws, name) { - if (!name) - for (var i = 1; i < 9999; ++i) { - if (wb.SheetNames.indexOf(name = "Sheet ".concat(i)) == -1) - break; - } - else if (wb.SheetNames.indexOf(name) > -1) - for (var i = 1; i < 9999; ++i) { - if (wb.SheetNames.indexOf("".concat(name, "_").concat(i)) == -1) { - name = "".concat(name, "_").concat(i); - break; - } - } - wb.SheetNames.push(name); - wb.Sheets[name] = ws; - }; - function parse_numbers(cfb) { - var out = []; - cfb.FullPaths.forEach(function(p) { - if (p.match(/\.iwpv2/)) - throw new Error("Unsupported password protection"); - }); - cfb.FileIndex.forEach(function(s) { - if (!s.name.match(/\.iwa$/)) - return; - var o; - try { - o = deframe(s.content); - } catch (e) { - return console.log("?? " + s.content.length + " " + (e.message || e)); - } - var packets; - try { - packets = parse_iwa(o); - } catch (e) { - return console.log("## " + (e.message || e)); - } - packets.forEach(function(packet) { - out[+packet.id] = packet.messages; - }); - }); - if (!out.length) - throw new Error("File has no messages"); - var docroot; - out.forEach(function(iwams) { - iwams.forEach(function(iwam) { - var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; - if (mtype == 1) { - if (!docroot) - docroot = iwam; - else - throw new Error("Document has multiple roots"); - } - }); - }); - if (!docroot) - throw new Error("Cannot find Document root"); - return parse_docroot(out, docroot); - } - var numbers_default = parse_numbers; - function parse_Reference(buf) { - var pb = parse_shallow(buf); - return parse_varint49(pb[1][0].data); - } - function parse_TST_TableDataList(M, root) { - var pb = parse_shallow(root.data); - var type = varint_to_i32(pb[1][0].data); - var entries = pb[3]; - var data = []; - (entries || []).forEach(function(entry) { - var le = parse_shallow(entry.data); - var key = varint_to_i32(le[1][0].data) >>> 0; - switch (type) { - case 1: - data[key] = u8str(le[3][0].data); - break; - case 8: - { - var rt = M[parse_Reference(le[9][0].data)][0]; - var rtp = parse_shallow(rt.data); - var rtpref = M[parse_Reference(rtp[1][0].data)][0]; - var mtype = varint_to_i32(rtpref.meta[1][0].data); - if (mtype != 2001) - throw new Error("2000 unexpected reference to ".concat(mtype)); - var tswpsa = parse_shallow(rtpref.data); - data[key] = tswpsa[3].map(function(x) { - return u8str(x.data); - }).join(""); - } - break; - } - }); - return data; - } - function parse_TST_TileRowInfo(u8) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; - var pb = parse_shallow(u8); - var R = varint_to_i32(pb[1][0].data) >>> 0; - var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; - var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); - var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; - var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); - var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; - var width = wide_offsets ? 4 : 1; - var cells = []; - var off = 0; - for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { - if (storage && storage_offsets) { - off = storage_offsets.getUint16(C * 2, true) * width; - if (off < storage.length) { - cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); - continue; - } - } - if (pre_bnc && pre_bnc_offsets) { - off = pre_bnc_offsets.getUint16(C * 2, true) * width; - if (off < pre_bnc.length) - cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); - } - } - return { R: R, cells: cells }; - } - function parse_TST_Tile(M, root) { - var pb = parse_shallow(root.data); - var ri = mappa(pb[5], parse_TST_TileRowInfo); - return ri.reduce(function(acc, x) { - if (!acc[x.R]) - acc[x.R] = []; - x.cells.forEach(function(cell, C) { - if (acc[x.R][C]) - throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); - acc[x.R][C] = cell; - }); - return acc; - }, []); - } - function parse_TST_TableModelArchive(M, root, ws) { + return out; +} +function mappa(data, cb) { + if (!data) + return []; + return data.map(function(d) { var _a; - var pb = parse_shallow(root.data); - var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; - range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; - if (range.e.r < 0) - throw new Error("Invalid row varint ".concat(pb[6][0].data)); - range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; - if (range.e.c < 0) - throw new Error("Invalid col varint ".concat(pb[7][0].data)); - ws["!ref"] = encode_range(range); - { - var store = parse_shallow(pb[4][0].data); - var sst = parse_TST_TableDataList(M, M[parse_Reference(store[4][0].data)][0]); - var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_Reference(store[17][0].data)][0]) : []; - { - var tile = parse_shallow(store[3][0].data); - var tiles = []; - tile[1].forEach(function(t) { - var tl = parse_shallow(t.data); - var ref = M[parse_Reference(tl[2][0].data)][0]; - var mtype = varint_to_i32(ref.meta[1][0].data); - if (mtype != 6002) - throw new Error("6001 unexpected reference to ".concat(mtype)); - tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); - }); - tiles.forEach(function(tile2) { - tile2.ref.forEach(function(row, R) { - row.forEach(function(buf, C) { - var addr = encode_cell({ r: R, c: C }); - var res = parse(buf, sst, rsst); - if (res) - ws[addr] = res; - }); - }); - }); - } + try { + return cb(d.data); + } catch (e) { + var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); + if (m) + e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); + throw e; } - } - function parse_TST_TableInfoArchive(M, root) { - var pb = parse_shallow(root.data); - var out = { "!ref": "A1" }; - var tableref = M[parse_Reference(pb[2][0].data)]; - var mtype = varint_to_i32(tableref[0].meta[1][0].data); - if (mtype != 6001) - throw new Error("6000 unexpected reference to ".concat(mtype)); - parse_TST_TableModelArchive(M, tableref[0], out); - return out; - } - function parse_sheetroot(M, root) { - var _a; - var pb = parse_shallow(root.data); - var out = { - name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", - sheets: [] + }); +} +function parse_iwa_file(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var len = parse_varint49(buf, ptr); + var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + var res = { + id: varint_to_i32(ai[1][0].data), + messages: [] }; - var shapeoffs = mappa(pb[2], parse_Reference); - shapeoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 6e3) - out.sheets.push(parse_TST_TableInfoArchive(M, m)); + ai[2].forEach(function(b) { + var mi = parse_shallow(b.data); + var fl = varint_to_i32(mi[3][0].data); + res.messages.push({ + meta: mi, + data: buf.slice(ptr[0], ptr[0] + fl) }); + ptr[0] += fl; }); - return out; + out.push(res); } - function parse_docroot(M, root) { - var out = book_new(); - var pb = parse_shallow(root.data); - var sheetoffs = mappa(pb[1], parse_Reference); - sheetoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 2) { - var root2 = parse_sheetroot(M, m); - root2.sheets.forEach(function(sheet) { - book_append_sheet(out, sheet, root2.name); - }); + return out; +} +function parse_snappy_chunk(type, buf) { + if (type != 0) + throw new Error("Unexpected Snappy chunk type ".concat(type)); + var ptr = [0]; + var usz = parse_varint49(buf, ptr); + var chunks = []; + while (ptr[0] < buf.length) { + var tag = buf[ptr[0]] & 3; + if (tag == 0) { + var len = buf[ptr[0]++] >> 2; + if (len < 60) + ++len; + else { + var c = len - 59; + len = buf[ptr[0]]; + if (c > 1) + len |= buf[ptr[0] + 1] << 8; + if (c > 2) + len |= buf[ptr[0] + 2] << 16; + if (c > 3) + len |= buf[ptr[0] + 3] << 24; + len >>>= 0; + len++; + ptr[0] += c; + } + chunks.push(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + continue; + } else { + var offset = 0, length = 0; + if (tag == 1) { + length = (buf[ptr[0]] >> 2 & 7) + 4; + offset = (buf[ptr[0]++] & 224) << 3; + offset |= buf[ptr[0]++]; + } else { + length = (buf[ptr[0]++] >> 2) + 1; + if (tag == 2) { + offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; + ptr[0] += 2; + } else { + offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; + ptr[0] += 4; } - }); - }); - if (out.SheetNames.length == 0) - throw new Error("Empty NUMBERS file"); - return out; + } + chunks = [u8concat(chunks)]; + if (offset == 0) + throw new Error("Invalid offset 0"); + if (offset > chunks[0].length) + throw new Error("Invalid offset beyond length"); + if (length >= offset) { + chunks.push(chunks[0].slice(-offset)); + length -= offset; + while (length >= chunks[chunks.length - 1].length) { + chunks.push(chunks[chunks.length - 1]); + length -= chunks[chunks.length - 1].length; + } + } + chunks.push(chunks[0].slice(-offset, -offset + length)); + } } - return __toCommonJS(numbers_exports); -})(); -/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ + var o = u8concat(chunks); + if (o.length != usz) + throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); + return o; +} +function deframe(buf) { + var out = []; + var l = 0; + while (l < buf.length) { + var t = buf[l++]; + var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; + l += 3; + out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); + l += len; + } + if (l !== buf.length) + throw new Error("data is not a valid framed stream!"); + return u8concat(out); +} +function parse_old_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[buf[0] == 4 ? 1 : 2]; + var flags = dv.getUint32(4, true); + var data_offset = 12 + popcnt(flags & 3470) * 4; + var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 512) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + data_offset += popcnt(flags & 12288) * 4; + if (flags & 16) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 32) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 64) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: ieee }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else if (sidx > -1) + ret = { t: "s", v: sst[sidx] }; + else if (!isNaN(ieee)) + ret = { t: "n", v: ieee }; + else + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + break; + default: + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + return ret; +} +function parse_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[1]; + var flags = dv.getUint32(8, true); + var data_offset = 12; + var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 1) { + d128 = readDecimal128LE(buf, data_offset); + data_offset += 16; + } + if (flags & 2) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 4) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + if (flags & 8) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 16) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: d128 }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + break; + case 10: + ret = { t: "n", v: d128 }; + break; + default: + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + return ret; +} +function parse_cell_storage(buf, sst, rsst) { + switch (buf[0]) { + case 3: + case 4: + return parse_old_storage(buf, sst, rsst); + case 5: + return parse_storage(buf, sst, rsst); + default: + throw new Error("Unsupported payload version ".concat(buf[0])); + } +} +function parse_TSP_Reference(buf) { + var pb = parse_shallow(buf); + return parse_varint49(pb[1][0].data); +} +function parse_TST_TableDataList(M, root) { + var pb = parse_shallow(root.data); + var type = varint_to_i32(pb[1][0].data); + var entries = pb[3]; + var data = []; + (entries || []).forEach(function(entry) { + var le = parse_shallow(entry.data); + var key = varint_to_i32(le[1][0].data) >>> 0; + switch (type) { + case 1: + data[key] = u8str(le[3][0].data); + break; + case 8: + { + var rt = M[parse_TSP_Reference(le[9][0].data)][0]; + var rtp = parse_shallow(rt.data); + var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0]; + var mtype = varint_to_i32(rtpref.meta[1][0].data); + if (mtype != 2001) + throw new Error("2000 unexpected reference to ".concat(mtype)); + var tswpsa = parse_shallow(rtpref.data); + data[key] = tswpsa[3].map(function(x) { + return u8str(x.data); + }).join(""); + } + break; + } + }); + return data; +} +function parse_TST_TileRowInfo(u8) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var pb = parse_shallow(u8); + var R = varint_to_i32(pb[1][0].data) >>> 0; + var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; + var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); + var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; + var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); + var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; + var width = wide_offsets ? 4 : 1; + var cells = []; + var off = 0; + for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { + if (storage && storage_offsets) { + off = storage_offsets.getUint16(C * 2, true) * width; + if (off < storage.length) { + cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); + continue; + } + } + if (pre_bnc && pre_bnc_offsets) { + off = pre_bnc_offsets.getUint16(C * 2, true) * width; + if (off < pre_bnc.length) + cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); + } + } + return { R: R, cells: cells }; +} +function parse_TST_Tile(M, root) { + var pb = parse_shallow(root.data); + var ri = mappa(pb[5], parse_TST_TileRowInfo); + return ri.reduce(function(acc, x) { + if (!acc[x.R]) + acc[x.R] = []; + x.cells.forEach(function(cell, C) { + if (acc[x.R][C]) + throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); + acc[x.R][C] = cell; + }); + return acc; + }, []); +} +function parse_TST_TableModelArchive(M, root, ws) { + var _a; + var pb = parse_shallow(root.data); + var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; + range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; + if (range.e.r < 0) + throw new Error("Invalid row varint ".concat(pb[6][0].data)); + range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; + if (range.e.c < 0) + throw new Error("Invalid col varint ".concat(pb[7][0].data)); + ws["!ref"] = encode_range(range); + { + var store = parse_shallow(pb[4][0].data); + var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); + var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : []; + { + var tile = parse_shallow(store[3][0].data); + var tiles = []; + tile[1].forEach(function(t) { + var tl = parse_shallow(t.data); + var ref = M[parse_TSP_Reference(tl[2][0].data)][0]; + var mtype = varint_to_i32(ref.meta[1][0].data); + if (mtype != 6002) + throw new Error("6001 unexpected reference to ".concat(mtype)); + tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); + }); + tiles.forEach(function(tile2) { + tile2.ref.forEach(function(row, R) { + row.forEach(function(buf, C) { + var addr = encode_cell({ r: R, c: C }); + var res = parse_cell_storage(buf, sst, rsst); + if (res) + ws[addr] = res; + }); + }); + }); + } + } +} +function parse_TST_TableInfoArchive(M, root) { + var pb = parse_shallow(root.data); + var out = { "!ref": "A1" }; + var tableref = M[parse_TSP_Reference(pb[2][0].data)]; + var mtype = varint_to_i32(tableref[0].meta[1][0].data); + if (mtype != 6001) + throw new Error("6000 unexpected reference to ".concat(mtype)); + parse_TST_TableModelArchive(M, tableref[0], out); + return out; +} +function parse_TN_SheetArchive(M, root) { + var _a; + var pb = parse_shallow(root.data); + var out = { + name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", + sheets: [] + }; + var shapeoffs = mappa(pb[2], parse_TSP_Reference); + shapeoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 6e3) + out.sheets.push(parse_TST_TableInfoArchive(M, m)); + }); + }); + return out; +} +function parse_TN_DocumentArchive(M, root) { + var out = book_new(); + var pb = parse_shallow(root.data); + var sheetoffs = mappa(pb[1], parse_TSP_Reference); + sheetoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 2) { + var root2 = parse_TN_SheetArchive(M, m); + root2.sheets.forEach(function(sheet) { + book_append_sheet(out, sheet, root2.name); + }); + } + }); + }); + if (out.SheetNames.length == 0) + throw new Error("Empty NUMBERS file"); + return out; +} +function parse_numbers_iwa(cfb) { + var out = []; + cfb.FullPaths.forEach(function(p) { + if (p.match(/\.iwpv2/)) + throw new Error("Unsupported password protection"); + }); + cfb.FileIndex.forEach(function(s) { + if (!s.name.match(/\.iwa$/)) + return; + var o; + try { + o = deframe(s.content); + } catch (e) { + return console.log("?? " + s.content.length + " " + (e.message || e)); + } + var packets; + try { + packets = parse_iwa_file(o); + } catch (e) { + return console.log("## " + (e.message || e)); + } + packets.forEach(function(packet) { + out[+packet.id] = packet.messages; + }); + }); + if (!out.length) + throw new Error("File has no messages"); + var docroot; + out.forEach(function(iwams) { + iwams.forEach(function(iwam) { + var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; + if (mtype == 1) { + if (!docroot) + docroot = iwam; + else + throw new Error("Document has multiple roots"); + } + }); + }); + if (!docroot) + throw new Error("Cannot find Document root"); + return parse_TN_DocumentArchive(out, docroot); +} function fix_opts_func(defaults) { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { @@ -22753,7 +22746,7 @@ function fix_opts_func(defaults) { }; } -var fix_read_opts = function(opts) { +function fix_read_opts(opts) { fix_opts_func([ ['cellNF', false], /* emit cell number format string as .z */ ['cellHTML', true], /* emit html string as .h */ @@ -22774,9 +22767,10 @@ fix_opts_func([ ['password',''], /* password */ ['WTF', false] /* WTF mode (throws errors) */ ])(opts); -}; +} -var fix_write_opts = fix_opts_func([ +function fix_write_opts(opts) { +fix_opts_func([ ['cellDates', false], /* write date cells with type `d` */ ['bookSST', false], /* Generate Shared String Table */ @@ -22786,7 +22780,8 @@ var fix_write_opts = fix_opts_func([ ['compression', false], /* Use file compression */ ['WTF', false] /* WTF mode (throws errors) */ -]); +])(opts); +} function get_sheet_type(n) { if(RELS.WS.indexOf(n) > -1) return "sheet"; if(RELS.CS && n == RELS.CS) return "chart"; @@ -22824,16 +22819,22 @@ function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, st } sheets[sheet] = _ws; - /* scan rels for comments */ - var comments = []; + /* scan rels for comments and threaded comments */ + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { + var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { - var dfile = resolve_path(sheetRels[sheet][n].Target, path); - comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); + dfile = resolve_path(sheetRels[sheet][n].Target, path); + var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments); + sheet_insert_comments(_ws, comments, false); + } + if(sheetRels[sheet][n].Type == RELS.TCMNT) { + dfile = resolve_path(sheetRels[sheet][n].Target, path); + tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); } }); + if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); } catch(e) { if(opts.WTF) throw e; } } @@ -22851,11 +22852,11 @@ function parse_zip(zip, opts) { /* Numbers */ if(safegetzipfile(zip, 'Index/Document.iwa')) { if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof NUMBERS != "undefined") { - if(zip.FileIndex) return NUMBERS.parse_numbers(zip); + if(typeof parse_numbers_iwa != "undefined") { + if(zip.FileIndex) return parse_numbers_iwa(zip); var _zip = CFB.utils.cfb_new(); zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return NUMBERS.parse_numbers(_zip); + return parse_numbers_iwa(_zip); } throw new Error('Unsupported NUMBERS file'); } @@ -22957,8 +22958,11 @@ function parse_zip(zip, opts) { opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); } - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); + if((dir.people || []).length >= 1) { + opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); + } + if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; @@ -23069,9 +23073,14 @@ if(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std7 function write_zip(wb, opts) { if(opts.bookType == "ods") return write_ods(wb, opts); - return write_zip_xlsxb(wb, opts); + if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); + return write_zip_xlsx(wb, opts); } +/* XLSX and XLSB writing are very similar. Originally they were unified in one + export function. This is horrible for tree shaking in the common case (most + applications need to export files in one format) so this function supports + both formats while write_zip_xlsx only handles XLSX */ function write_zip_xlsxb(wb, opts) { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23142,8 +23151,9 @@ f = "docProps/app.xml"; if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23205,7 +23215,6 @@ f = "docProps/app.xml"; return zip; } -/* this version does not reference XLSB write functions */ function write_zip_xlsx(wb, opts) { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23259,6 +23268,9 @@ f = "docProps/app.xml"; add_rels(opts.rels, 4, f, RELS.CUST_PROPS); } + var people = ["SheetJ5"]; + opts.tcid = 0; + for(rId=1;rId <= wb.SheetNames.length; ++rId) { var wsrels = {'!id':{}}; var ws = wb.Sheets[wb.SheetNames[rId-1]]; @@ -23276,8 +23288,20 @@ f = "docProps/app.xml"; if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + var needtc = false; + comments.forEach(function(carr) { + carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); + }); + if(needtc) { + cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); + } + + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23331,6 +23355,13 @@ f = "docProps/app.xml"; ct.metadata.push(f); add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); + if(people.length > 1) { + f = "xl/persons/person.xml"; + zip_add_file(zip, f, write_people_xml(people, opts)); + ct.people.push(f); + add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); + } + zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); @@ -23391,7 +23422,7 @@ function read_plaintext_raw(data, o) { function read_utf16(data, o) { var d = data; if(o.type == 'base64') d = Base64.decode(d); - d = cptable.utils.decode(1200, d.slice(2), 'str'); + d = $cptable.utils.decode(1200, d.slice(2), 'str'); o.type = "binary"; return read_plaintext(d, o); } @@ -23449,7 +23480,7 @@ function readSync(data, opts) { case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o); case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break; } - if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); + if(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); return read_prn(data, d, o, str); } @@ -23457,29 +23488,6 @@ function readFileSync(filename, opts) { var o = opts||{}; o.type = 'file'; return readSync(filename, o); } -function write_obj_str(factory) { - return function write_str(wb, o) { - var idx = 0; - if(o.sheet) { - if(typeof o.sheet == "number") idx = o.sheet; - else idx = wb.SheetNames.indexOf(o.sheet); - if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); - } - return factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb); - }; -} - -var write_htm_str = write_obj_str(HTML_); -var write_csv_str = write_obj_str({from_sheet:sheet_to_csv}); -var write_slk_str = write_obj_str(typeof SYLK !== "undefined" ? SYLK : {}); -var write_dif_str = write_obj_str(typeof DIF !== "undefined" ? DIF : {}); -var write_prn_str = write_obj_str(typeof PRN !== "undefined" ? PRN : {}); -var write_rtf_str = write_obj_str(typeof RTF !== "undefined" ? RTF : {}); -var write_txt_str = write_obj_str({from_sheet:sheet_to_txt}); -var write_dbf_buf = write_obj_str(typeof DBF !== "undefined" ? DBF : {}); -var write_eth_str = write_obj_str(typeof ETH !== "undefined" ? ETH : {}); -var write_wk1_buf = write_obj_str(typeof WK_ !== "undefined" ? {from_sheet:WK_.sheet_to_wk1} : {}); - function write_cfb_ctr(cfb, o) { switch(o.type) { case "base64": case "binary": break; @@ -23596,22 +23604,28 @@ function writeSync(wb, opts) { var o = dup(opts||{}); if(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; } if(o.type == "array") { o.type = "binary"; var out = (writeSync(wb, o)); o.type = "array"; return s2ab(out); } + var idx = 0; + if(o.sheet) { + if(typeof o.sheet == "number") idx = o.sheet; + else idx = wb.SheetNames.indexOf(o.sheet); + if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); + } switch(o.bookType || 'xlsb') { case 'xml': case 'xlml': return write_string_type(write_xlml(wb, o), o); case 'slk': - case 'sylk': return write_string_type(write_slk_str(wb, o), o); + case 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); case 'htm': - case 'html': return write_string_type(write_htm_str(wb, o), o); - case 'txt': return write_stxt_type(write_txt_str(wb, o), o); - case 'csv': return write_string_type(write_csv_str(wb, o), o, "\ufeff"); - case 'dif': return write_string_type(write_dif_str(wb, o), o); - case 'dbf': return write_binary_type(write_dbf_buf(wb, o), o); - case 'prn': return write_string_type(write_prn_str(wb, o), o); - case 'rtf': return write_string_type(write_rtf_str(wb, o), o); - case 'eth': return write_string_type(write_eth_str(wb, o), o); + case 'html': return write_string_type(HTML_.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, "\ufeff"); + case 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); case 'fods': return write_string_type(write_ods(wb, o), o); - case 'wk1': return write_binary_type(write_wk1_buf(wb, o), o); + case 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o); case 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o); case 'biff2': if(!o.biff) o.biff = 2; /* falls through */ case 'biff3': if(!o.biff) o.biff = 3; /* falls through */ @@ -23726,9 +23740,13 @@ function sheet_to_json(sheet, opts) { var out = []; var outi = 0, counter = 0; var dense = Array.isArray(sheet); - var R = r.s.r, C = 0, CC = 0; + var R = r.s.r, C = 0; + var header_cnt = {}; if(dense && !sheet[R]) sheet[R] = []; + var colinfo = o.skipHidden && sheet["!cols"] || []; + var rowinfo = o.skipHidden && sheet["!rows"] || []; for(C = r.s.c; C <= r.e.c; ++C) { + if(((colinfo[C]||{}).hidden)) continue; cols[C] = encode_col(C); val = dense ? sheet[R][C] : sheet[cols[C] + rr]; switch(header) { @@ -23738,12 +23756,17 @@ function sheet_to_json(sheet, opts) { default: if(val == null) val = {w: "__EMPTY", t: "s"}; vv = v = format_cell(val, null, o); - counter = 0; - for(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) { vv = v + "_" + (++counter); CC = -1; } + counter = header_cnt[v] || 0; + if(!counter) header_cnt[v] = 1; + else { + do { vv = v + "_" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter; + header_cnt[vv] = 1; + } hdr[C] = vv; } } for (R = r.s.r + offset; R <= r.e.r; ++R) { + if ((rowinfo[R]||{}).hidden) continue; var row = make_json_row(sheet, r, R, cols, header, hdr, dense, o); if((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row; } @@ -23803,8 +23826,8 @@ function sheet_to_csv(sheet, opts) { function sheet_to_txt(sheet, opts) { if(!opts) opts = {}; opts.FS = "\t"; opts.RS = "\n"; var s = sheet_to_csv(sheet, opts); - if(typeof cptable == 'undefined' || opts.type == 'string') return s; - var o = cptable.utils.encode(1200, s, 'str'); + if(typeof $cptable == 'undefined' || opts.type == 'string') return s; + var o = $cptable.utils.encode(1200, s, 'str'); return String.fromCharCode(255) + String.fromCharCode(254) + o; } @@ -23873,7 +23896,7 @@ function sheet_add_json(_ws, js, opts) { var t = 'z'; var z = ""; var ref = encode_cell({c:_C + C,r:_R + R + offset}); - cell = utils.sheet_get_cell(ws, ref); + cell = ws_get_cell_stub(ws, ref); if(v && typeof v === 'object' && !(v instanceof Date)){ ws[ref] = v; } else { @@ -23904,6 +23927,110 @@ function sheet_add_json(_ws, js, opts) { } function json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); } +/* get cell, creating a stub if necessary */ +function ws_get_cell_stub(ws, R, C) { + /* A1 cell address */ + if(typeof R == "string") { + /* dense */ + if(Array.isArray(ws)) { + var RC = decode_cell(R); + if(!ws[RC.r]) ws[RC.r] = []; + return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); + } + return ws[R] || (ws[R] = {t:'z'}); + } + /* cell address object */ + if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); + /* R and C are 0-based indices */ + return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); +} + +/* find sheet index for given name / validate index */ +function wb_sheet_idx(wb, sh) { + if(typeof sh == "number") { + if(sh >= 0 && wb.SheetNames.length > sh) return sh; + throw new Error("Cannot find sheet # " + sh); + } else if(typeof sh == "string") { + var idx = wb.SheetNames.indexOf(sh); + if(idx > -1) return idx; + throw new Error("Cannot find sheet name |" + sh + "|"); + } else throw new Error("Cannot find sheet |" + sh + "|"); +} + +/* simple blank workbook object */ +function book_new() { + return { SheetNames: [], Sheets: {} }; +} + +/* add a worksheet to the end of a given workbook */ +function book_append_sheet(wb, ws, name) { + if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; + if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); + check_ws_name(name); + if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); + + wb.SheetNames.push(name); + wb.Sheets[name] = ws; +} + +/* set sheet visibility (visible/hidden/very hidden) */ +function book_set_sheet_visibility(wb, sh, vis) { + if(!wb.Workbook) wb.Workbook = {}; + if(!wb.Workbook.Sheets) wb.Workbook.Sheets = []; + + var idx = wb_sheet_idx(wb, sh); + // $FlowIgnore + if(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {}; + + switch(vis) { + case 0: case 1: case 2: break; + default: throw new Error("Bad sheet visibility setting " + vis); + } + // $FlowIgnore + wb.Workbook.Sheets[idx].Hidden = vis; +} + +/* set number format */ +function cell_set_number_format(cell, fmt) { + cell.z = fmt; + return cell; +} + +/* set cell hyperlink */ +function cell_set_hyperlink(cell, target, tooltip) { + if(!target) { + delete cell.l; + } else { + cell.l = ({ Target: target }); + if(tooltip) cell.l.Tooltip = tooltip; + } + return cell; +} +function cell_set_internal_link(cell, range, tooltip) { return cell_set_hyperlink(cell, "#" + range, tooltip); } + +/* add to cell comments */ +function cell_add_comment(cell, text, author) { + if(!cell.c) cell.c = []; + cell.c.push({t:text, a:author||"SheetJS"}); +} + +/* set array formula and flush related cells */ +function sheet_set_array_formula(ws, range, formula, dynamic) { + var rng = typeof range != "string" ? range : safe_decode_range(range); + var rngstr = typeof range == "string" ? range : encode_range(range); + for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { + var cell = ws_get_cell_stub(ws, R, C); + cell.t = 'n'; + cell.F = rngstr; + delete cell.v; + if(R == rng.s.r && C == rng.s.c) { + cell.f = formula; + if(dynamic) cell.D = true; + } + } + return ws; +} + var utils = { encode_col: encode_col, encode_row: encode_row, @@ -23927,128 +24054,23 @@ var utils = { sheet_to_json: sheet_to_json, sheet_to_html: HTML_.from_sheet, sheet_to_formulae: sheet_to_formulae, - sheet_to_row_object_array: sheet_to_json -}; - -(function(utils) { -utils.consts = utils.consts || {}; -function add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); } - -function get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); } - -/* get cell, creating a stub if necessary */ -function ws_get_cell_stub(ws, R, C) { - /* A1 cell address */ - if(typeof R == "string") { - /* dense */ - if(Array.isArray(ws)) { - var RC = decode_cell(R); - if(!ws[RC.r]) ws[RC.r] = []; - return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); - } - return ws[R] || (ws[R] = {t:'z'}); + sheet_to_row_object_array: sheet_to_json, + sheet_get_cell: ws_get_cell_stub, + book_new: book_new, + book_append_sheet: book_append_sheet, + book_set_sheet_visibility: book_set_sheet_visibility, + cell_set_number_format: cell_set_number_format, + cell_set_hyperlink: cell_set_hyperlink, + cell_set_internal_link: cell_set_internal_link, + cell_add_comment: cell_add_comment, + sheet_set_array_formula: sheet_set_array_formula, + consts: { + SHEET_VISIBLE: 0, + SHEET_HIDDEN: 1, + SHEET_VERY_HIDDEN: 2 } - /* cell address object */ - if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); - /* R and C are 0-based indices */ - return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); -} -utils.sheet_get_cell = ws_get_cell_stub; - -/* find sheet index for given name / validate index */ -function wb_sheet_idx(wb, sh) { - if(typeof sh == "number") { - if(sh >= 0 && wb.SheetNames.length > sh) return sh; - throw new Error("Cannot find sheet # " + sh); - } else if(typeof sh == "string") { - var idx = wb.SheetNames.indexOf(sh); - if(idx > -1) return idx; - throw new Error("Cannot find sheet name |" + sh + "|"); - } else throw new Error("Cannot find sheet |" + sh + "|"); -} - -/* simple blank workbook object */ -utils.book_new = function() { - return { SheetNames: [], Sheets: {} }; }; -/* add a worksheet to the end of a given workbook */ -utils.book_append_sheet = function(wb, ws, name) { - if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; - if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); - check_ws_name(name); - if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); - - wb.SheetNames.push(name); - wb.Sheets[name] = ws; -}; - -/* set sheet visibility (visible/hidden/very hidden) */ -utils.book_set_sheet_visibility = function(wb, sh, vis) { - get_default(wb,"Workbook",{}); - get_default(wb.Workbook,"Sheets",[]); - - var idx = wb_sheet_idx(wb, sh); - // $FlowIgnore - get_default(wb.Workbook.Sheets,idx, {}); - - switch(vis) { - case 0: case 1: case 2: break; - default: throw new Error("Bad sheet visibility setting " + vis); - } - // $FlowIgnore - wb.Workbook.Sheets[idx].Hidden = vis; -}; -add_consts([ - ["SHEET_VISIBLE", 0], - ["SHEET_HIDDEN", 1], - ["SHEET_VERY_HIDDEN", 2] -]); - -/* set number format */ -utils.cell_set_number_format = function(cell, fmt) { - cell.z = fmt; - return cell; -}; - -/* set cell hyperlink */ -utils.cell_set_hyperlink = function(cell, target, tooltip) { - if(!target) { - delete cell.l; - } else { - cell.l = ({ Target: target }); - if(tooltip) cell.l.Tooltip = tooltip; - } - return cell; -}; -utils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, "#" + range, tooltip); }; - -/* add to cell comments */ -utils.cell_add_comment = function(cell, text, author) { - if(!cell.c) cell.c = []; - cell.c.push({t:text, a:author||"SheetJS"}); -}; - -/* set array formula and flush related cells */ -utils.sheet_set_array_formula = function(ws, range, formula, dynamic) { - var rng = typeof range != "string" ? range : safe_decode_range(range); - var rngstr = typeof range == "string" ? range : encode_range(range); - for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { - var cell = ws_get_cell_stub(ws, R, C); - cell.t = 'n'; - cell.F = rngstr; - delete cell.v; - if(R == rng.s.r && C == rng.s.c) { - cell.f = formula; - if(dynamic) cell.D = true; - } - } - return ws; -}; - -return utils; -})(utils); - var _Readable; function set_readable(R) { _Readable = R; } @@ -24130,9 +24152,13 @@ function write_json_stream(sheet, opts) { var cols = []; var counter = 0; var dense = Array.isArray(sheet); - var R = r.s.r, C = 0, CC = 0; + var R = r.s.r, C = 0; + var header_cnt = {}; if(dense && !sheet[R]) sheet[R] = []; + var colinfo = o.skipHidden && sheet["!cols"] || []; + var rowinfo = o.skipHidden && sheet["!rows"] || []; for(C = r.s.c; C <= r.e.c; ++C) { + if(((colinfo[C]||{}).hidden)) continue; cols[C] = encode_col(C); val = dense ? sheet[R][C] : sheet[cols[C] + rr]; switch(header) { @@ -24142,15 +24168,19 @@ function write_json_stream(sheet, opts) { default: if(val == null) val = {w: "__EMPTY", t: "s"}; vv = v = format_cell(val, null, o); - counter = 0; - for(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + "_" + (++counter); + counter = header_cnt[v] || 0; + if(!counter) header_cnt[v] = 1; + else { + do { vv = v + "_" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter; + header_cnt[vv] = 1; + } hdr[C] = vv; } } R = r.s.r + offset; stream._read = function() { while(R <= r.e.r) { - //if ((rowinfo[R-1]||{}).hidden) continue; + if ((rowinfo[R-1]||{}).hidden) continue; var row = make_json_row(sheet, r, R, cols, header, hdr, dense, o); ++R; if((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) { @@ -24161,7 +24191,7 @@ function write_json_stream(sheet, opts) { return stream.push(null); }; return stream; -}; +} var __stream = { to_json: write_json_stream, diff --git a/dist/xlsx.full.min.js b/dist/xlsx.full.min.js index bec24e1..1a986e4 100644 --- a/dist/xlsx.full.min.js +++ b/dist/xlsx.full.min.js @@ -4,18 +4,19 @@ var DO_NOT_EXPORT_CODEPAGE=true;var cptable={version:"1.15.0"};cptable[437]=func for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}t[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[254].length;++a)if(t[254][a].charCodeAt(0)!==65533){r[t[254][a]]=65024+a;e[65024+a]=t[254][a]}return{enc:r,dec:e}}();cptable[949]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(a=0;a!=t[129].length;++a)if(t[129][a].charCodeAt(0)!==65533){r[t[129][a]]=33024+a;e[33024+a]=t[129][a]}t[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(a=0;a!=t[130].length;++a)if(t[130][a].charCodeAt(0)!==65533){r[t[130][a]]=33280+a;e[33280+a]=t[130][a]}t[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(a=0;a!=t[131].length;++a)if(t[131][a].charCodeAt(0)!==65533){r[t[131][a]]=33536+a;e[33536+a]=t[131][a]}t[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(a=0;a!=t[132].length;++a)if(t[132][a].charCodeAt(0)!==65533){r[t[132][a]]=33792+a;e[33792+a]=t[132][a]}t[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(a=0;a!=t[133].length;++a)if(t[133][a].charCodeAt(0)!==65533){r[t[133][a]]=34048+a;e[34048+a]=t[133][a]}t[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(a=0;a!=t[134].length;++a)if(t[134][a].charCodeAt(0)!==65533){r[t[134][a]]=34304+a;e[34304+a]=t[134][a]}t[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(a=0;a!=t[135].length;++a)if(t[135][a].charCodeAt(0)!==65533){r[t[135][a]]=34560+a;e[34560+a]=t[135][a]}t[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(a=0;a!=t[136].length;++a)if(t[136][a].charCodeAt(0)!==65533){r[t[136][a]]=34816+a;e[34816+a]=t[136][a]}t[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(a=0;a!=t[137].length;++a)if(t[137][a].charCodeAt(0)!==65533){r[t[137][a]]=35072+a;e[35072+a]=t[137][a]}t[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(a=0;a!=t[138].length;++a)if(t[138][a].charCodeAt(0)!==65533){r[t[138][a]]=35328+a;e[35328+a]=t[138][a]}t[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(a=0;a!=t[139].length;++a)if(t[139][a].charCodeAt(0)!==65533){r[t[139][a]]=35584+a;e[35584+a]=t[139][a]}t[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(a=0;a!=t[140].length;++a)if(t[140][a].charCodeAt(0)!==65533){r[t[140][a]]=35840+a;e[35840+a]=t[140][a]}t[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(a=0;a!=t[141].length;++a)if(t[141][a].charCodeAt(0)!==65533){r[t[141][a]]=36096+a;e[36096+a]=t[141][a]}t[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(a=0;a!=t[142].length;++a)if(t[142][a].charCodeAt(0)!==65533){r[t[142][a]]=36352+a;e[36352+a]=t[142][a]}t[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(a=0;a!=t[143].length;++a)if(t[143][a].charCodeAt(0)!==65533){r[t[143][a]]=36608+a;e[36608+a]=t[143][a]}t[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(a=0;a!=t[144].length;++a)if(t[144][a].charCodeAt(0)!==65533){r[t[144][a]]=36864+a;e[36864+a]=t[144][a]}t[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(a=0;a!=t[145].length;++a)if(t[145][a].charCodeAt(0)!==65533){r[t[145][a]]=37120+a;e[37120+a]=t[145][a]}t[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(a=0;a!=t[146].length;++a)if(t[146][a].charCodeAt(0)!==65533){r[t[146][a]]=37376+a;e[37376+a]=t[146][a]}t[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(a=0;a!=t[147].length;++a)if(t[147][a].charCodeAt(0)!==65533){r[t[147][a]]=37632+a;e[37632+a]=t[147][a]}t[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(a=0;a!=t[148].length;++a)if(t[148][a].charCodeAt(0)!==65533){r[t[148][a]]=37888+a;e[37888+a]=t[148][a]}t[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(a=0;a!=t[149].length;++a)if(t[149][a].charCodeAt(0)!==65533){r[t[149][a]]=38144+a;e[38144+a]=t[149][a]}t[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(a=0;a!=t[150].length;++a)if(t[150][a].charCodeAt(0)!==65533){r[t[150][a]]=38400+a;e[38400+a]=t[150][a]}t[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(a=0;a!=t[151].length;++a)if(t[151][a].charCodeAt(0)!==65533){r[t[151][a]]=38656+a;e[38656+a]=t[151][a]}t[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(a=0;a!=t[152].length;++a)if(t[152][a].charCodeAt(0)!==65533){r[t[152][a]]=38912+a;e[38912+a]=t[152][a]}t[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(a=0;a!=t[153].length;++a)if(t[153][a].charCodeAt(0)!==65533){r[t[153][a]]=39168+a;e[39168+a]=t[153][a]}t[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(a=0;a!=t[154].length;++a)if(t[154][a].charCodeAt(0)!==65533){r[t[154][a]]=39424+a;e[39424+a]=t[154][a]}t[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(a=0;a!=t[155].length;++a)if(t[155][a].charCodeAt(0)!==65533){r[t[155][a]]=39680+a;e[39680+a]=t[155][a]}t[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(a=0;a!=t[156].length;++a)if(t[156][a].charCodeAt(0)!==65533){r[t[156][a]]=39936+a;e[39936+a]=t[156][a]}t[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(a=0;a!=t[157].length;++a)if(t[157][a].charCodeAt(0)!==65533){r[t[157][a]]=40192+a;e[40192+a]=t[157][a]}t[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(a=0;a!=t[158].length;++a)if(t[158][a].charCodeAt(0)!==65533){r[t[158][a]]=40448+a;e[40448+a]=t[158][a]}t[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(a=0;a!=t[159].length;++a)if(t[159][a].charCodeAt(0)!==65533){r[t[159][a]]=40704+a;e[40704+a]=t[159][a]}t[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(a=0;a!=t[160].length;++a)if(t[160][a].charCodeAt(0)!==65533){r[t[160][a]]=40960+a;e[40960+a]=t[160][a]}t[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split(""); for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}t[250]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split("");for(a=0;a!=t[250].length;++a)if(t[250][a].charCodeAt(0)!==65533){r[t[250][a]]=64e3+a;e[64e3+a]=t[250][a]}t[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(a=0;a!=t[251].length;++a)if(t[251][a].charCodeAt(0)!==65533){r[t[251][a]]=64256+a;e[64256+a]=t[251][a]}t[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(a=0;a!=t[252].length;++a)if(t[252][a].charCodeAt(0)!==65533){r[t[252][a]]=64512+a;e[64512+a]=t[252][a]}t[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(a=0;a!=t[253].length;++a)if(t[253][a].charCodeAt(0)!==65533){r[t[253][a]]=64768+a;e[64768+a]=t[253][a]}return{enc:r,dec:e}}();cptable[950]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(a=0;a!=t[170].length;++a)if(t[170][a].charCodeAt(0)!==65533){r[t[170][a]]=43520+a;e[43520+a]=t[170][a]}t[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(a=0;a!=t[171].length;++a)if(t[171][a].charCodeAt(0)!==65533){r[t[171][a]]=43776+a;e[43776+a]=t[171][a]}t[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(a=0;a!=t[172].length;++a)if(t[172][a].charCodeAt(0)!==65533){r[t[172][a]]=44032+a;e[44032+a]=t[172][a]}t[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(a=0;a!=t[173].length;++a)if(t[173][a].charCodeAt(0)!==65533){r[t[173][a]]=44288+a;e[44288+a]=t[173][a]}t[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(a=0;a!=t[174].length;++a)if(t[174][a].charCodeAt(0)!==65533){r[t[174][a]]=44544+a;e[44544+a]=t[174][a]}t[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(a=0;a!=t[175].length;++a)if(t[175][a].charCodeAt(0)!==65533){r[t[175][a]]=44800+a;e[44800+a]=t[175][a]}t[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split(""); for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}t[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(a=0;a!=t[248].length;++a)if(t[248][a].charCodeAt(0)!==65533){r[t[248][a]]=63488+a;e[63488+a]=t[248][a]}t[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(a=0;a!=t[249].length;++a)if(t[249][a].charCodeAt(0)!==65533){r[t[249][a]]=63744+a;e[63744+a]=t[249][a]}return{enc:r,dec:e}}();cptable[1250]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1251]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1252]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1253]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1254]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1255]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1256]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1257]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1258]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[1e4]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10006]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10007]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10008]=function(){var e=[],r={},t=[],a;t[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������".split("");for(a=0;a!=t[0].length;++a)if(t[0][a].charCodeAt(0)!==65533){r[t[0][a]]=0+a;e[0+a]=t[0][a]}t[161]="����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�".split("");for(a=0;a!=t[161].length;++a)if(t[161][a].charCodeAt(0)!==65533){r[t[161][a]]=41216+a;e[41216+a]=t[161][a]}t[162]="���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���".split("");for(a=0;a!=t[162].length;++a)if(t[162][a].charCodeAt(0)!==65533){r[t[162][a]]=41472+a;e[41472+a]=t[162][a]}t[163]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(a=0;a!=t[163].length;++a)if(t[163][a].charCodeAt(0)!==65533){r[t[163][a]]=41728+a;e[41728+a]=t[163][a]}t[164]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(a=0;a!=t[164].length;++a)if(t[164][a].charCodeAt(0)!==65533){r[t[164][a]]=41984+a;e[41984+a]=t[164][a]}t[165]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(a=0;a!=t[165].length;++a)if(t[165][a].charCodeAt(0)!==65533){r[t[165][a]]=42240+a;e[42240+a]=t[165][a]}t[166]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������".split("");for(a=0;a!=t[166].length;++a)if(t[166][a].charCodeAt(0)!==65533){ -r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[176]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}return{enc:r,dec:e}}();cptable[10029]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10079]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10081]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[28591]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=cptable;(function(e,r){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var t=cptable;if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=r(t);else e.cptable=r(t)}else throw new Error("cptable not found")}else cptable=r(cptable)})(this,function(e){"use strict";var r={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var t=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var a=[932,936,949,950];var n=[65001];var i={};var s={};var f={};var o={};var l=function D(e){return String.fromCharCode(e)};var c=function P(e){return e.charCodeAt(0)};var h=typeof Buffer!=="undefined";var u=function(){};if(h){var d=!Buffer.from;if(!d)try{Buffer.from("foo","utf8")}catch(v){d=true}u=d?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)};var p=1024,g=Buffer.allocUnsafe(p);var m=function L(e){var r=Buffer.allocUnsafe(65536);for(var t=0;t<65536;++t)r[t]=0;var a=Object.keys(e),n=a.length;for(var i=0,s=a[i];i>10&1023)];n[s++]=t[56320+(o&1023)]}}}n=n.slice(0,s)}else{n=Buffer.allocUnsafe(a);for(i=0;i>8}return function f(e){var r=e.length,t=0,n=0;if(2*r>p){p=2*r;g=Buffer.allocUnsafe(p)}if(Buffer.isBuffer(e)){for(t=0;t>8}return function l(e,r){var t=e.length,n=Buffer.allocUnsafe(2*t),i=0,s=0,f=0,o=0,l=0;if(typeof e==="string"){for(i=o=0;i0)n[o++]=a[s]}n=n.slice(0,o)}else if(Buffer.isBuffer(e)){for(i=o=0;i0)n[o++]=a[s]}else{f=s-65536;s=2*(55296+(f>>10&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s];s=2*(56320+(f&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s]}}n=n.slice(0,o)}else{for(i=o=0;i0)n[o++]=a[s]}}if(!r||r==="buf")return n;if(r!=="arr")return n.toString("binary");return[].slice.call(n)}};var T=function W(r){var t=e[r].dec;var a=Buffer.allocUnsafe(131072),n=0,i,s=0,f=0,o=0;for(o=0;o<65536;++o){a[2*o]=255;a[2*o+1]=253}for(n=0;n>8}return function l(e){var r=e.length,t=Buffer.allocUnsafe(2*r),n=0,i=0,s=0;if(Buffer.isBuffer(e)){for(n=0;np){p=4*r;g=Buffer.allocUnsafe(p)}var n=0;if(r>=3&&e[0]==239)if(e[1]==187&&e[2]==191)n=3;for(var i=1,s=0,f=0;n>8}else{t-=65536;a=55296+(t>>10&1023);t=56320+(t&1023);g[s++]=a&255;g[s++]=a>>>8;g[s++]=t&255;g[s++]=t>>>8&255}}return g.slice(0,s).toString("ucs2")};s[65001]=function z(e,r){if(h&&Buffer.isBuffer(e)){if(!r||r==="buf")return e;if(r!=="arr")return e.toString("binary");return[].slice.call(e)}var t=e.length,a=0,n=0,i=0;var s=typeof e==="string";if(4*t>p){p=4*t;g=Buffer.allocUnsafe(p)}for(var f=0;f>6);g[i++]=128+(a&63)}else if(a>=55296&&a<=57343){a-=55296;++f;n=(s?e.charCodeAt(f):e[f].charCodeAt(0))-56320+(a<<10);g[i++]=240+(n>>>18&7);g[i++]=144+(n>>>12&63);g[i++]=128+(n>>>6&63);g[i++]=128+(n&63)}else{g[i++]=224+(a>>12);g[i++]=128+(a>>6&63);g[i++]=128+(a&63)}}if(!r||r==="buf")return g.slice(0,i);if(r!=="arr")return g.slice(0,i).toString("binary");return[].slice.call(g,0,i)}}var A=function V(){if(h){if(f[t[0]])return;var r=0,l=0;for(r=0;r255){s[d]=f>>8;s[++d]=f&255}else s[d]=f&255}else if(m=r[t])switch(m){case"utf8":if(h&&b){s=u(a,m);d=s.length;break}for(c=0;c>6);s[++d]=128+(f&63)}else if(f>=55296&&f<=57343){f-=55296;v=(b?a.charCodeAt(++c):a[++c].charCodeAt(0))-56320+(f<<10);s[d]=240+(v>>>18&7);s[++d]=144+(v>>>12&63);s[++d]=128+(v>>>6&63);s[++d]=128+(v&63)}else{s[d]=224+(f>>12);s[++d]=128+(f>>6&63);s[++d]=128+(f&63)}}break;case"ascii":if(h&&typeof a==="string"){s=u(a,m);d=s.length;break}for(c=0;c>8}break;case"utf16be":for(c=0;c>8;s[d++]=f&255}break;case"utf32le":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255}break;case"utf32be":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d+3]=f&255;f>>=8;s[d+2]=f&255;f>>=8;s[d+1]=f&255;f>>=8;s[d]=f&255;d+=4}break;case"utf7":for(c=0;c-1){s[d++]=w.charCodeAt(0);continue}var k=X(1201,w);s[d++]=43;s[d++]=_.charCodeAt(k[0]>>2);s[d++]=_.charCodeAt(((k[0]&3)<<4)+((k[1]||0)>>4));s[d++]=_.charCodeAt(((k[1]&15)<<2)+((k[2]||0)>>6));s[d++]=45}break;default:throw new Error("Unsupported magic: "+t+" "+r[t]);}else throw new Error("Unrecognized CP: "+t);s=s.slice(0,d);if(!h)return n=="str"?s.map(l).join(""):s;if(!n||n==="buf")return s;if(n!=="arr")return s.toString("binary");return[].slice.call(s)};var N=function $(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return $(t,a.split("").map(c));var i=a.length,s=new Array(i),o="",l=0,u=0,d=1,v=0,p=0;var g=e[t],m,b="";if(g&&(m=g.dec)){for(u=0;u=3&&a[0]==239)if(a[1]==187&&a[2]==191)u=3;for(;u>10&1023);l=56320+(l&1023);s[v++]=String.fromCharCode(p);s[v++]=String.fromCharCode(l)}}break;case"ascii":if(h&&Buffer.isBuffer(a))return a.toString(b);for(u=0;u=2&&a[0]==255)if(a[1]==254)u=2;if(h&&Buffer.isBuffer(a))return a.toString(b);d=2;for(;u+1=2&&a[0]==254)if(a[1]==255)u=2;d=2;for(;u+1=4&&a[0]==255)if(a[1]==254&&a[2]===0&&a[3]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf32be":if(i>=4&&a[3]==255)if(a[2]==254&&a[1]===0&&a[0]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf7":if(i>=4&&a[0]==43&&a[1]==47&&a[2]==118){if(i>=5&&a[3]==56&&a[4]==45)u=5;else if(a[3]==56||a[3]==57||a[3]==43||a[3]==47)u=4}for(;u>4;k.push(A);x=_.indexOf(String.fromCharCode(a[u+R++]));if(x===-1)break;E=(y&15)<<4|x>>2;k.push(E);O=_.indexOf(String.fromCharCode(a[u+R++]));if(O===-1)break;C=(x&3)<<6|O;if(O<64)k.push(C)}T=$(1201,k);for(R=0;R>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function u(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return h(e.slice(2));if(r==254&&t==255)return u(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function Zm(e){return String.fromCharCode(e)};var p=function Qm(e){return String.fromCharCode(e)};if(typeof a!=="undefined"){o=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};v=function eb(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};p=function rb(e){return a.utils.decode(t,[e])[0]}}var g=null;var m=true;var b=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,o=0,l=0;for(var c=0;c>2;n=r.charCodeAt(c++);f=(a&3)<<4|n>>4;i=r.charCodeAt(c++);o=(n&15)<<2|i>>6;l=i&63;if(isNaN(n)){o=l=64}else if(isNaN(i)){l=64}t+=e.charAt(s)+e.charAt(f)+e.charAt(o)+e.charAt(l)}return t},decode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,o=0,l=0;r=r.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4;t+=String.fromCharCode(a);o=e.indexOf(r.charAt(c++));n=(f&15)<<4|o>>2;if(o!==64){t+=String.fromCharCode(n)}l=e.indexOf(r.charAt(c++));i=(o&3)<<6|l;if(l!==64){t+=String.fromCharCode(i)}}return t}}}();var w=typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node;var k=function(){};if(typeof Buffer!=="undefined"){var T=!Buffer.from;if(!T)try{Buffer.from("foo","utf8")}catch(A){T=true}k=T?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function E(e){return w?Buffer.alloc(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function C(e){return w?Buffer.allocUnsafe(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var S=function tb(e){if(w)return k(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function y(e){if(typeof ArrayBuffer==="undefined")return S(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function _(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=E(65535);a=65530}}r.push(n.slice(0,t));return I(r)}var I=function(e){if(typeof Uint8Array!=="undefined"){var r=0,t=0;for(r=0;r=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function f(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var o=Math.pow(2,32);function l(e,r){if(e>o||e<-o)return s(e,r);var t=Math.round(e);return f(t,r)}function c(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var h=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var u=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function d(e){e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var v={};d(v);var p=[];var g=0;for(g=5;g<=8;++g)p[g]=32+g;for(g=23;g<=26;++g)p[g]=0;for(g=27;g<=31;++g)p[g]=14;for(g=50;g<=58;++g)p[g]=14;for(g=59;g<=62;++g)p[g]=g-58;for(g=67;g<=68;++g)p[g]=g-58;for(g=72;g<=75;++g)p[g]=g-58;for(g=67;g<=68;++g)p[g]=g-57;for(g=76;g<=78;++g)p[g]=g-56;for(g=79;g<=81;++g)p[g]=g-34;var m={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function b(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var o=1,l=0,c=0;var h=Math.floor(n);while(lr){if(l>r){c=o;f=i}else{c=l;f=s}}if(!t)return[0,a*f,c];var u=Math.floor(a*f/c);return[u,a*f-u*c,c]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=_(o,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}e.parse_date_code=w;var k=new Date(1899,11,31,0,0,0);var T=k.getTime();var A=new Date(1900,2,1,0,0,0);function E(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=A)t+=24*60*60*1e3;return(t-(T+(e.getTimezoneOffset()-k.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function C(e){return e.toString(10)}e._general_int=C;var S=function H(){var e=/(?:\.0*|(\.\d*[1-9])0+)$/;function r(r){return r.indexOf(".")==-1?r:r.replace(e,"$1")}var t=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\d)$/;function n(e){if(e.indexOf("E")==-1)return e;return e.replace(t,"$1E").replace(a,"$10$2")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t==="0"||t==="-0"?e.toPrecision(6):t}function f(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return f}();e._general_num=S;function y(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):S(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return B(14,E(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=y;function _(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function x(e,r,t,n){var i="",s=0,f=0,o=t.y,l,c=0;switch(e){case 98:o=t.y+543;case 121:switch(r.length){case 1:;case 2:l=o%100;c=2;break;default:l=o%1e4;c=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;c=r.length;break;case 3:return u[t.m-1][1];case 5:return u[t.m-1][0];default:return u[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;c=r.length;break;case 3:return h[t.q][0];default:return h[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:l=1+(t.H+11)%12;c=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:l=t.H;c=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:l=t.M;c=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)f=n===3?1e3:100;else f=n===1?10:1;s=Math.round(f*(t.S+t.u));if(s>=60*f)s=0;if(r==="s")return s===0?"0":""+s/f;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":l=t.D*24+t.H;break;case"[m]":;case"[mm]":l=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":l=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}c=r.length===3?1:2;break;case 101:l=o;c=1;break;}var d=c>0?a(l,c):"";return d}function O(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var R=function z(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return R(r,i,n*Math.pow(10,2*s))+t("%",s)}function f(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return R(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function o(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+o(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var c=/# (\?+)( ?)\/( ?)(\d+)/;function h(e,r,i){var s=parseInt(e[4],10),f=Math.round(r*s),o=Math.floor(f/s);var l=f-o*s,c=s;return i+(o===0?"":""+o)+" "+(l===0?t(" ",e[1].length+1+e[4].length):n(l,e[1].length)+e[2]+"/"+e[3]+a(c,e[4].length))}function u(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var d=/^#*0*\.([0#]+)/;var v=/\).*[0#]/;var p=/\(###\) ###\\?-####/;function g(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function m(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function k(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function T(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function A(e,u,E){if(e.charCodeAt(0)===40&&!u.match(v)){var C=u.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(E>=0)return A("n",C,E);return"("+A("n",C,-E)+")"}if(u.charCodeAt(u.length-1)===44)return f(e,u,E);if(u.indexOf("%")!==-1)return s(e,u,E);if(u.indexOf("E")!==-1)return o(u,E);if(u.charCodeAt(0)===36)return"$"+A(e,u.substr(u.charAt(1)==" "?2:1),E);var S;var y,_,x,I=Math.abs(E),N=E<0?"-":"";if(u.match(/^00+$/))return N+l(I,u.length);if(u.match(/^[#?]+$/)){S=l(E,0);if(S==="0")S="";return S.length>u.length?S:g(u.substr(0,u.length-S.length))+S}if(y=u.match(c))return h(y,I,N);if(u.match(/^#+0+$/))return N+l(I,u.length-u.indexOf("0"));if(y=u.match(d)){S=m(E,y[1].length).replace(/^([^\.]+)$/,"$1."+g(y[1])).replace(/\.$/,"."+g(y[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",g(y[1]).length-r.length)});return u.indexOf("0.")!==-1?S:S.replace(/^0\./,".")}u=u.replace(/^#+([0.])/,"$1");if(y=u.match(/^(0*)\.(#*)$/)){return N+m(I,y[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,y[1].length?"0.":".")}if(y=u.match(/^#{1,3},##0(\.?)$/))return N+O(l(I,0));if(y=u.match(/^#,##0\.([#0]*0)$/)){return E<0?"-"+A(e,u,-E):O(""+(Math.floor(E)+k(E,y[1].length)))+"."+a(w(E,y[1].length),y[1].length)}if(y=u.match(/^#,#*,#0/))return A(e,u.replace(/^#,#*,/,""),E);if(y=u.match(/^([0#]+)(\\?-([0#]+))+$/)){S=r(A(e,u.replace(/[\\-]/g,""),E));_=0;return r(r(u.replace(/\\/g,"")).replace(/[0#]/g,function(e){return _=0)return y("n",o,f);return"("+y("n",o,-f)+")"}if(s.charCodeAt(s.length-1)===44)return E(e,s,f);if(s.indexOf("%")!==-1)return C(e,s,f);if(s.indexOf("E")!==-1)return S(s,f);if(s.charCodeAt(0)===36)return"$"+y(e,s.substr(s.charAt(1)==" "?2:1),f);var l;var h,m,w,k=Math.abs(f),T=f<0?"-":"";if(s.match(/^00+$/))return T+a(k,s.length);if(s.match(/^[#?]+$/)){l=""+f;if(f===0)l="";return l.length>s.length?l:g(s.substr(0,s.length-l.length))+l}if(h=s.match(c))return u(h,k,T);if(s.match(/^#+0+$/))return T+a(k,s.length-s.indexOf("0"));if(h=s.match(d)){l=(""+f).replace(/^([^\.]+)$/,"$1."+g(h[1])).replace(/\.$/,"."+g(h[1]));l=l.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",g(h[1]).length-r.length)});return s.indexOf("0.")!==-1?l:l.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(h=s.match(/^(0*)\.(#*)$/)){return T+(""+k).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,h[1].length?"0.":".")}if(h=s.match(/^#{1,3},##0(\.?)$/))return T+O(""+k);if(h=s.match(/^#,##0\.([#0]*0)$/)){return f<0?"-"+y(e,s,-f):O(""+f)+"."+t("0",h[1].length)}if(h=s.match(/^#,#*,#0/))return y(e,s.replace(/^#,#*,/,""),f);if(h=s.match(/^([0#]+)(\\?-([0#]+))+$/)){l=r(y(e,s.replace(/[\\-]/g,""),f));m=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return m-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=F;function D(e,r,t,a){var n=[],i="",s=0,f="",o="t",l,h,u;var d="H";while(s=12?"P":"A";g.t="T";d="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(l!=null)g.v=l.H>=12?"PM":"AM";g.t="T";s+=5;d="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(l!=null)g.v=l.H>=12?"下午":"上午";g.t="T";s+=5;d="h"}else{g.t="t";++s}if(l==null&&g.t==="T")return"";n[n.length]=g;o=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!F(e))n[n.length]={t:"t",v:i}}break;case".":if(l!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};o=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var m=0,b=0,k;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=d;o="h";if(m<1)m=1;break;case"s":if(k=n[s].v.match(/\.0+$/))b=Math.max(b,k[0].length-1);if(m<3)m=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(m<2)m=2}break;case"X":break;case"Z":if(m<1&&n[s].v.match(/[Hh]/))m=1;if(m<2&&n[s].v.match(/[Mm]/))m=2;if(m<3&&n[s].v.match(/[Ss]/))m=3;}}switch(m){case 0:break;case 1:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}if(l.M>=60){l.M=0;++l.H}break;case 2:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}break;}var T="",A;for(s=0;s0){if(T.charCodeAt(0)==40){C=r<0&&T.charCodeAt(0)===45?-r:r;S=R("n",T,C)}else{C=r<0&&a>1?-r:r;S=R("n",T,C);if(C<0&&n[0]&&n[0].t=="t"){S=S.substr(1);n[0].v="-"+n[0].v}}A=S.length-1;var _=n.length;for(s=0;s-1){_=s;break}var O=n.length;if(_===n.length&&S.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(A>=n[s].v.length-1){A-=n[s].v.length;n[s].v=S.substr(A+1,n[s].v.length)}else if(A<0)n[s].v="";else{n[s].v=S.substr(0,A+1);A=-1}n[s].t="t";O=s}if(A>=0&&O=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;h=n[s].v.indexOf(".")>-1&&s===_?n[s].v.indexOf(".")-1:n[s].v.length-1;E=n[s].v.substr(h+1);for(;h>=0;--h){if(A>=0&&(n[s].v.charAt(h)==="0"||n[s].v.charAt(h)==="#"))E=S.charAt(A--)+E}n[s].v=E;n[s].t="t";O=s}if(A>=0&&O-1&&s===_?n[s].v.indexOf(".")+1:0;E=n[s].v.substr(0,h);for(;h-1){C=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=R(n[s].t,n[s].v,C);n[s].t="t"}var I="";for(s=0;s!==n.length;++s)if(n[s]!=null)I+=n[s].v;return I}e._eval=D;var P=/\[[=<>]/;var L=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function M(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function U(e,r){var t=I(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(P)!=null||t[1].match(P)!=null){var s=t[0].match(L);var f=t[1].match(L);return M(r,s)?[a,t[0]]:M(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function B(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:v)[e];if(a==null)a=t.table&&t.table[p[e]]||v[p[e]];if(a==null)a=m[e]||"General";break;}if(c(a,0))return y(r,t);if(r instanceof Date)r=E(r,t.date1904);var n=U(a,r);if(c(n[1]))return y(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return D(n[1],r,t,n[0])}function W(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(v[t]==undefined){if(r<0)r=t;continue}if(v[t]==e){r=t;break}}if(r<0)r=391}v[r]=e;return r}e.load=W;e._table=v;e.get_table=function V(){return v};e.load_table=function G(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)W(e[r],r)};e.init_table=d;e.format=B}P(D);var L={"General Number":"General","General Date":D._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":D._table[15],"Short Date":D._table[14],"Long Time":D._table[19],"Medium Time":D._table[18],"Short Time":D._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:D._table[2],Standard:D._table[4],Percent:D._table[10],Scientific:D._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var M={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var U=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function B(e){var r=typeof e=="number"?D._table[e]:e;r=r.replace(U,"(\\d+)");return new RegExp("^"+r+"$")}function W(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(r.match(U)||[]).forEach(function(e,r){var l=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=l;break;case"d":i=l;break;case"h":s=l;break;case"s":o=l;break;case"m":if(s>=0)f=l;else n=l;break;}});if(o>=0&&f==-1&&n>=0){f=n;n=-1}var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(l.length==7)l="0"+l;if(l.length==8)l="20"+l;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);if(s==-1&&f==-1&&o==-1)return l;if(a==-1&&n==-1&&i==-1)return c;return l+"T"+c}var H=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],f=n[2],o=n[3],l=n[4];var c=n[5],h=n[6],u=n[7],d=n[8],v=n[9];var p=n[10],g=n[11],m=n[12],b=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^m[e[k++]^a>>16&255]^g[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^u[e[k++]]^h[e[k++]]^c[e[k++]]^l[e[k++]]^o[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function A(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=T;e.str=A;return e}();var z=function ab(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){et(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function o(){return f||(f=undefined)}function l(e,r){if(e[0]==80&&e[1]==75)return Ne(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return He(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var o=0;var l=[];var v=e.slice(0,512);et(v,0);var g=c(v);t=g[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(g[1]==0)return Ne(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);et(v,28)}var b=e.slice(0,a);h(v,t);var w=v._R(4,"i");if(t===3&&w!==0)throw new Error("# Directory Sectors: Expected 0 saw "+w);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");o=v._R(4,"i");i=v._R(4,"i");for(var k=-1,A=0;A<109;++A){k=v._R(4,"i");if(k<0)break;l[A]=k}var E=u(e,a);p(o,i,E,a,l);var C=m(E,s,l,a);C[s].name="!Directory";if(n>0&&f!==M)C[f].name="!MiniFAT";C[l[0]].name="!FAT";C.fat_addrs=l;C.ssz=a;var S={},y=[],_=[],x=[];T(s,C,E,y,n,S,_,f);d(_,x,y);y.shift();var O={FileIndex:_,FullPaths:x};if(r&&r.raw)O.raw={header:b,sectors:E};return O}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(U,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function h(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function u(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*L,s*L+L));n-=L;s=Xr(t,s*4)}if(i.length===0)return tt(0);return I(i).slice(0,e.size)}function p(e,r,t,a,n){var i=M;if(e===M){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var o=0;o=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var c=t[Math.floor(o*4/a)];l=o*4&f;if(a<4+l)throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[c])break;o=Xr(e[c],l)}return{nodes:i,data:kr([s])}}function m(e,r,t,a){var n=e.length,i=[];var s=[],f=[],o=[];var l=a-1,c=0,h=0,u=0,d=0;for(c=0;c=n)u-=n;if(s[u])continue;o=[];var v=[];for(h=u;h>=0;){v[h]=true;s[h]=true;f[f.length]=h;o.push(e[h]);var p=t[Math.floor(h*4/a)];d=h*4&l;if(a<4+d)throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[p])break;h=Xr(e[p],d);if(v[h])break}i[u]={nodes:f,data:kr([o])}}return i}function T(e,r,t,a,n,i,s,f){var o=0,l=a.length?2:0;var c=r[e].data;var h=0,u=0,d;for(;h0&&o!==M)r[o].name="!StreamData"}else if(m.size>=4096){m.storage="fat";if(r[m.start]===undefined)r[m.start]=g(t,m.start,r.fat_addrs,r.ssz);r[m.start].name=m.name;m.content=r[m.start].data.slice(0,m.size)}else{m.storage="minifat";if(m.size<0)m.size=0;else if(o!==M&&m.start!==M&&r[o]){m.content=v(m,r[o].data,(r[f]||{}).data)}}if(m.content)et(m.content,0);i[d]=m;s.push(m)}}function A(e,r){return new Date((jr(e,r+4)/1e7*Math.pow(2,32)+jr(e,r)/1e7-11644473600)*1e3)}function y(e,r){o();return l(f.readFileSync(e),r)}function _(e,r){var t=r&&r.type;if(!t){if(w&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return y(e,r);case"base64":return l(S(b.decode(e)),r);case"binary":return l(S(e),r);}return l(e,r)}function x(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;O(e)}function O(e){var r="Sh33tJ5";if(z.find(e,"/"+r))return;var t=tt(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);R(e)}function R(e,n){x(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var o=e.FileIndex[f];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var l=new Date(1987,1,19),c=0;var h=Object.create?Object.create(null):{};var u=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(c=f+1;c=u.length?-1:c;for(c=f+1;c=u.length?-1:c;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function D(e,r){var t=r||{};if(t.fileType=="mad")return ze(e,t);R(e);switch(t.fileType){case"zip":return De(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var o=r+127>>7;var l=f+t+s+o;var c=l+127>>7;var h=c<=109?0:Math.ceil((c-109)/127);while(l+c+h+127>>7>c)h=++c<=109?0:Math.ceil((c-109)/127);var u=[1,h,c,o,s,t,r,0];e.FileIndex[0].size=r<<6;u[7]=(e.FileIndex[0].start=u[0]+u[1]+u[2]+u[3]+u[4]+u[5])+(u[6]+7>>3);return u}(e);var n=tt(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,B[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:M);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:M);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,V.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;c.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,V.ENDOFCHAIN);for(i=0;i=4096){n.l=c.start+1<<9;if(w&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+511&-512}else{for(o=0;o0&&c.size<4096){if(w&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+63&-64}else{for(o=0;o>16|r>>8|r)&255}var re=typeof Uint8Array!=="undefined";var te=re?new Uint8Array(1<<8):[];for(var ae=0;ae<1<<8;++ae)te[ae]=ee(ae);function ne(e,r){var t=te[e&255];if(r<=8)return t>>>8-r;t=t<<8|te[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|te[e>>16&255];return t>>>24-r}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function ce(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function he(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function ue(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function ve(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function pe(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(w){var i=C(a);if(e.copy)e.copy(i);else for(;n>a-h;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=re?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=he(t,n,+!!(i+f==r.length)+2);var o=0;while(f-- >0){var l=r[i];o=(o<<5^l)&32767;var c=-1,h=0;if(c=s[o]){c|=i&~32767;if(c>i)c-=32768;if(c2){l=a[h];if(l<=22)n=de(t,n,te[l+1]>>1)-1;else{de(t,n,3);n+=5;de(t,n,te[l-23]>>5);n+=3}var u=l<8?0:l-4>>2;if(u>0){ve(t,n,h-Z[l]);n+=u}l=e[i-c];n=de(t,n,te[l]>>3);n-=3;var d=l<4?0:l-2>>1;if(d>0){ve(t,n,i-c-Q[l]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)Se[d|p<>>=3){case 16:i=3+ie(e,r);r+=2;d=g[g.length-1];while(i-- >0)g.push(d);break;case 17:i=3+se(e,r);r+=3;while(i-- >0)g.push(0);break;case 18:i=11+le(e,r);r+=7;while(i-- >0)g.push(0);break;default:g.push(d);if(o>>0;var f=0,o=0;while((a&1)==0){a=se(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var l=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(l>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;o=5}else{t=xe(e,t);f=ye;o=_e}for(;;){if(!r&&s>>1==1?be[c]:Ee[c];t+=h&15;h>>>=4;if((h>>>8&255)===0)n[i++]=h;else if(h==256)break;else{h-=257;var u=h<8?0:h-4>>2;if(u>5)u=0;var d=i+Z[h];if(u>0){d+=ce(e,t,u);t+=u}c=ce(e,t,o);h=a>>>1==1?we[c]:Ce[c];t+=h&15;h>>>=4;var v=h<4?0:h-2>>1;var p=Q[h];if(v>0){p+=ce(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Re(e,r){var t=e.slice(e.l||0);var a=Oe(t,r);e.l+=a[1];return a[0]}function Ie(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ne(e,r){var t=e;et(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};x(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var o=t._R(2);t.l+=6;var l=t._R(4);t.l=l;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var o=[],l=[];var c={FileIndex:o,FullPaths:l};x(c);var h,u=0;for(n=0;n=32&&d<128)++h;var p=h>=u*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Le(f,s));n.push("");n.push(p?Ue(c):Me(c))}n.push(a+"--\r\n");return n.join("\r\n")}function Ve(e){var r={};x(r,e);return r}function Ge(e,r,t,n){var i=n&&n.unsafe;if(!i)x(e);var s=!i&&z.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)z.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function je(e,r){x(e);var t=z.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var se=new Date("2017-02-19T19:06:09.000Z");if(isNaN(se.getFullYear()))se=new Date("2/19/17");var fe=se.getFullYear()==2017;function oe(e,r){var t=new Date(e);if(fe){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(se.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function le(e,r){if(w&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return e.slice(2).toString("utf16le");if(e[1]==254&&e[2]==255)return u(e.slice(2).toString("binary"))}return e.toString("binary")}var t=[];for(var a=0;a!=e.length;++a)t.push(String.fromCharCode(e[a]));return t.join("")}function ce(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=ce(e[t]);return r}function he(e,r){var t="";while(t.length3&&de.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var pe="abacaba".split(/(:?b)/i).length==5;function ge(e,r,t){if(pe||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Ne=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm;if(!Re.match(Ne))Ne=/<[^>]*>/g;var Fe=/<\w*:/,De=/<(\/?)\w+:/;function Pe(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ie),f=0,o="",l=0,c="",h="",u=1;if(s)for(l=0;l!=s.length;++l){h=s[l];for(i=0;i!=h.length;++i)if(h.charCodeAt(i)===61)break;c=h.slice(0,i).trim();while(h.charCodeAt(i+1)==32)++i;u=(n=h.charCodeAt(i+1))==34||n==39?1:0;o=h.slice(i+1+u,h.length-u);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=o;if(!t)a[c.toLowerCase()]=o}else{var d=(f===5&&c.slice(0,5)==="xmlns"?"xmlns":"")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)=="ext")continue;a[d]=o;if(!t)a[d.toLowerCase()]=o}}return a}function Le(e){return e.replace(De,"<$1")}var Me={""":'"',"'":"'",">":">","<":"<","&":"&"};var Ue=J(Me);var Be=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var We=/[&<>'"]/g,He=/[\u0000-\u0008\u000b-\u001f]/g;function ze(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(He,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Ve(e){return ze(e).replace(/ /g,"_x0020_")}var Ge=/[\u0000-\u001f]/g;function je(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(/\n/g,"
").replace(Ge,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Xe(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(Ge,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var $e=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function Ye(e){return e.replace(/(\r\n|[\r\n])/g," ")}function Ke(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var Je=function nb(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r};var qe=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(w){var Ze=function ib(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var Qe="foo bar baz☃🍣";if(Je(Qe)==Ze(Qe))Je=Ze;var er=function sb(e){return k(e,"binary").toString("utf8")};if(Je(Qe)==er(Qe))Je=er;qe=function(e){return k(e,"utf8").toString("binary")}}var rr=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var tr=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var nr=/<\/?(?:vt:)?variant>/g,ir=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function lr(e){return Y(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function cr(e,r,t){return"<"+e+(t!=null?lr(t):"")+(r!=null?(r.match(fr)?' xml:space="preserve"':"")+">"+r+""}function hr(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function ur(e,r){switch(typeof e){case"string":var t=cr("vt:lpwstr",ze(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return cr((e|0)==e?"vt:i4":"vt:r8",ze(String(e)));case"boolean":return cr("vt:bool",e?"true":"false");}if(e instanceof Date)return cr("vt:filetime",hr(e));throw new Error("Unable to serialize "+e)}function dr(e){if(w&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return Je(_(O(e)));throw new Error("Bad input format: expected Buffer or string")}var vr=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var pr={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var gr=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var mr={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function br(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function wr(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var kr=function(e){var r=[],t=10240;for(var a=0;a0?yr(e,r+4,r+4+t-1):""};var Or=xr;var Rr=function(e,r){var t=jr(e,r);return t>0?yr(e,r+4,r+4+t-1):""};var Ir=Rr;var Nr=function(e,r){var t=2*jr(e,r);return t>0?yr(e,r+4,r+4+t-1):""};var Fr=Nr;var Dr,Pr;Dr=Pr=function fb(e,r){var t=jr(e,r);return t>0?Ar(e,r+4,r+4+t):""};var Lr=function(e,r){var t=jr(e,r);return t>0?yr(e,r+4,r+4+t):""};var Mr=Lr;var Ur,Br;Ur=Br=function(e,r){return br(e,r)};var Wr=function ob(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(w){Ar=function(e,r,t){if(!Buffer.isBuffer(e))return Er(e,r,t);return e.toString("utf16le",r,t).replace(N,"")};Cr=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):Sr(e,r,t)};xr=function lb(e,r){if(!Buffer.isBuffer(e))return Or(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Rr=function cb(e,r){if(!Buffer.isBuffer(e))return Ir(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Nr=function hb(e,r){if(!Buffer.isBuffer(e))return Fr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Dr=function ub(e,r){if(!Buffer.isBuffer(e))return Pr(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};Lr=function db(e,r){if(!Buffer.isBuffer(e))return Mr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};yr=function vb(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):_r(e,r,t)};kr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:k(e)})):Tr(e)};I=function(e){return Buffer.concat(e.map(function(e){return Buffer.isBuffer(e)?e:k(e)}))};Ur=function pb(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Br(e,r)};Wr=function gb(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function Hr(){Ar=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(N,"")};yr=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};xr=function(e,r){var n=jr(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Rr=function(e,t){var n=jr(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Nr=function(e,r){var t=2*jr(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Dr=function(e,r){var t=jr(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};Lr=function(e,r){var t=jr(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")Hr();var zr=function(e,r){return e[r]};var Vr=function(e,r){return e[r+1]*(1<<8)+e[r]};var Gr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var jr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Xr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var $r=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Yr(e,t){var n="",i,s,f=[],o,l,c,h;switch(t){case"dbcs":h=this.l;if(w&&Buffer.isBuffer(this))n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?Xr:$r)(this,this.l);this.l+=4;return i}else{s=jr(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=Ur(this,this.l);else s=Ur([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return s}else e=8;case 16:n=Cr(this,this.l,e);break;};}this.l+=e;return n}var Kr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var qr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Zr(e,r,n){var i=0,s=0;if(n==="dbcs"){for(s=0;s!=r.length;++s)qr(this,r.charCodeAt(s),this.l+2*s);i=2*r.length}else if(n==="sbcs"){if(typeof a!=="undefined"&&t==874){for(s=0;s!=r.length;++s){var f=a.utils.encode(t,r.charAt(s));this[this.l+s]=f[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(s=0;s!=r.length;++s)this[this.l+s]=r.charCodeAt(s)&255}i=r.length}else if(n==="hex"){for(;s>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:i=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:i=4;Kr(this,r,this.l);break;case 8:i=8;if(n==="f"){wr(this,r,this.l);break};case 16:break;case-4:i=4;Jr(this,r,this.l);break;}this.l+=i;return this}function Qr(e,r){var t=Cr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function et(e,r){e.l=r;e._R=Yr;e.chk=Qr;e._W=Zr}function rt(e,r){e.l+=r}function tt(e){var r=E(e);et(r,0);return r}function at(e,r,t){if(!e)return;var a,n,i;et(e,e.l||0);var s=e.length,f=0,o=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Wr(t))e.push(t)}function st(e,r,t){var a=ce(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function ft(e,r,t){var a=ce(e);a.s=st(a.s,r.s,t);a.e=st(a.e,r.s,t);return a}function ot(e,r){if(e.cRel&&e.c<0){e=ce(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=ce(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=kt(e);if(!e.cRel&&e.cRel!=null)t=gt(t);if(!e.rRel&&e.rRel!=null)t=ut(t);return t}function lt(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+pt(e.s.c)+":"+(e.e.cRel?"":"$")+pt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+ht(e.s.r)+":"+(e.e.rRel?"":"$")+ht(e.e.r)}}return ot(e.s,r.biff)+":"+ot(e.e,r.biff)}function ct(e){return parseInt(dt(e),10)-1}function ht(e){return""+(e+1)}function ut(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function dt(e){return e.replace(/\$(\d+)$/,"$1")}function vt(e){var r=mt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64; -return t-1}function pt(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function gt(e){return e.replace(/^([A-Z])/,"$$$1")}function mt(e){return e.replace(/^\$([A-Z])/,"$1")}function bt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function wt(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function kt(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Tt(e){var r=e.indexOf(":");if(r==-1)return{s:wt(e),e:wt(e)};return{s:wt(e.slice(0,r)),e:wt(e.slice(r+1))}}function At(e,r){if(typeof r==="undefined"||typeof r==="number"){return At(e.s,e.e)}if(typeof e!=="string")e=kt(e);if(typeof r!=="string")r=kt(r);return e==r?e:e+":"+r}function Et(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function Ct(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=D.format(e.z,t?ee(r):r)}catch(a){}try{return e.w=D.format((e.XF||{}).numFmtId||(t?14:0),t?ee(r):r)}catch(a){return""+r}}function St(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Fa[e.v]||e.v;if(r==undefined)return Ct(e,e.v);return Ct(e,r)}function yt(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function _t(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(g!=null&&n==null)n=g;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?wt(a.origin):a.origin;s=o.r;f=o.c}if(!i["!ref"])i["!ref"]="A1:A1"}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=Et(i["!ref"]);l.s.c=c.s.c;l.s.r=c.s.r;l.e.c=Math.max(l.e.c,c.e.c);l.e.r=Math.max(l.e.r,c.e.r);if(s==-1)l.e.r=s=c.e.r+1}for(var h=0;h!=r.length;++h){if(!r[h])continue;if(!Array.isArray(r[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=r[h].length;++u){if(typeof r[h][u]==="undefined")continue;var d={v:r[h][u]};var v=s+h,p=f+u;if(l.s.r>v)l.s.r=v;if(l.s.c>p)l.s.c=p;if(l.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Ft(e){return{ich:e._R(2),ifnt:e._R(2)}}function Dt(e,r){if(!r)r=tt(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function Pt(e,r){var t=e.l;var a=e._R(1);var n=It(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var o=0;o!=f;++o)i.push(Ft(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Lt(e,r){var t=false;if(r==null){t=true;r=tt(15+4*e.t.length)}r._W(1,0);Nt(e.t,r);return t?r.slice(0,r.l):r}var Mt=Pt;function Ut(e,r){var t=false;if(r==null){t=true;r=tt(23+4*e.t.length)}r._W(1,1);Nt(e.t,r);r._W(4,1);Dt({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Bt(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Wt(e,r){if(r==null)r=tt(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function Ht(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function zt(e,r){if(r==null)r=tt(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Vt=It;var Gt=Nt;function jt(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function Xt(e,r){var t=false;if(r==null){t=true;r=tt(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var $t=It;var Yt=jt;var Kt=Xt;function Jt(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?Ur([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):Xr(r,0)>>2;return t?n/100:n}function qt(e,r){if(r==null)r=tt(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function Zt(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Qt(e,r){if(!r)r=tt(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var ea=Zt;var ra=Qt;function ta(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function aa(e,r){return(r||tt(8))._W(8,e,"f")}function na(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var o=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var l=Na[n];if(l)r.rgb=po(l);break;case 2:r.rgb=po([s,f,o]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function ia(e,r){if(!r)r=tt(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function sa(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function fa(e,r){if(!r)r=tt(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function oa(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function la(e){return oa(e,1)}function ca(e){return oa(e,2)}var ha=2;var ua=3;var da=11;var va=12;var pa=19;var ga=30;var ma=64;var ba=65;var wa=71;var ka=4096;var Ta=80;var Aa=81;var Ea=[Ta,Aa];var Ca={1:{n:"CodePage",t:ha},2:{n:"Category",t:Ta},3:{n:"PresentationFormat",t:Ta},4:{n:"ByteCount",t:ua},5:{n:"LineCount",t:ua},6:{n:"ParagraphCount",t:ua},7:{n:"SlideCount",t:ua},8:{n:"NoteCount",t:ua},9:{n:"HiddenCount",t:ua},10:{n:"MultimediaClipCount",t:ua},11:{n:"ScaleCrop",t:da},12:{n:"HeadingPairs",t:ka|va},13:{n:"TitlesOfParts",t:ka|ga},14:{n:"Manager",t:Ta},15:{n:"Company",t:Ta},16:{n:"LinksUpToDate",t:da},17:{n:"CharacterCount",t:ua},19:{n:"SharedDoc",t:da},22:{n:"HyperlinksChanged",t:da},23:{n:"AppVersion",t:ua,p:"version"},24:{n:"DigSig",t:ba},26:{n:"ContentType",t:Ta},27:{n:"ContentStatus",t:Ta},28:{n:"Language",t:Ta},29:{n:"Version",t:Ta},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var Sa={1:{n:"CodePage",t:ha},2:{n:"Title",t:Ta},3:{n:"Subject",t:Ta},4:{n:"Author",t:Ta},5:{n:"Keywords",t:Ta},6:{n:"Comments",t:Ta},7:{n:"Template",t:Ta},8:{n:"LastAuthor",t:Ta},9:{n:"RevNumber",t:Ta},10:{n:"EditTime",t:ma},11:{n:"LastPrinted",t:ma},12:{n:"CreatedDate",t:ma},13:{n:"ModifiedDate",t:ma},14:{n:"PageCount",t:ua},15:{n:"WordCount",t:ua},16:{n:"CharCount",t:ua},17:{n:"Thumbnail",t:wa},18:{n:"Application",t:Ta},19:{n:"DocSecurity",t:ua},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var ya=K(Ca,"n");var _a=K(Sa,"n");var xa={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var Oa=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ra(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Ia=Ra([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Na=ce(Ia);var Fa={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Da=q(Fa);var Pa={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var La={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Ma(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],TODO:[],xmlns:""}}function Ua(e){var r=Ma();if(!e||!e.match)return r;var t={};(e.match(Ne)||[]).forEach(function(e){var a=Pe(e);switch(a[0].replace(Fe,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var Ba=cr("Types",null,{xmlns:pr.CT,"xmlns:xsd":pr.xsd,"xmlns:xsi":pr.xsi});var Wa=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return cr("Default",null,{Extension:e[0],ContentType:e[1]})});function Ha(e,r){var t=Z(Pa);var a=[],n;a[a.length]=Re;a[a.length]=Ba;a=a.concat(Wa);var i=function(t){if(e[t]&&e[t].length>0){n=e[t][0];a[a.length]=cr("Override",null,{PartName:(n[0]=="/"?"":"/")+n,ContentType:La[t][r.bookType]||La[t]["xlsx"]})}};var s=function(t){(e[t]||[]).forEach(function(e){a[a.length]=cr("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:La[t][r.bookType]||La[t]["xlsx"]})})};var f=function(r){(e[r]||[]).forEach(function(e){a[a.length]=cr("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:t[r][0]})})};i("workbooks");s("sheets");s("charts");f("themes");["strs","styles"].forEach(i);["coreprops","extprops","custprops"].forEach(f);f("vba");f("comments");f("drawings");s("metadata");if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var za={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Va(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Ga(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Ne)||[]).forEach(function(e){var n=Pe(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var $a=[za.HLINK,za.XPATH,za.XMISS];function Ya(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if($a.indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var Ka="application/vnd.oasis.opendocument.spreadsheet";function Ja(e,r){var t=dr(e);var a;var n;while(a=vr.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Pe(a[0],false);if(n.path=="/"&&n.type!==Ka)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function qa(e){var r=[Re];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function Za(e,r,t){return[' \n',' \n'," \n"].join("")}function Qa(e,r){return[' \n',' \n'," \n"].join("")}function en(e){var r=[Re];r.push('\n');for(var t=0;t!=e.length;++t){r.push(Za(e[t][0],e[t][1]));r.push(Qa("",e[t][0]))}r.push(Za("","Document","pkg"));r.push("");return r.join("")}function rn(){return'Sheet'+"JS "+e.version+""}var tn=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];za.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var an=function(){var e=new Array(tn.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function nn(e){var r={};e=Je(e);for(var t=0;t0)r[a[1]]=Be(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=oe(r[a[1]])}return r}var sn=cr("cp:coreProperties",null,{"xmlns:cp":pr.CORE_PROPS,"xmlns:dc":pr.dc,"xmlns:dcterms":pr.dcterms,"xmlns:dcmitype":pr.dcmitype,"xmlns:xsi":pr.xsi});function fn(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=ze(r);a[a.length]=t?cr(e,r,t):or(e,r)}function on(e,r){var t=r||{};var a=[Re,sn],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)fn("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:hr(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)fn("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:hr(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=tn.length;++i){var s=tn[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)fn(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var ln=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];za.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";var cn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function hn(e,r,t,a){var n=[];if(typeof e=="string")n=sr(e,a);else for(var i=0;i0)for(var l=0;l!==n.length;l+=2){o=+n[l+1].v;switch(n[l].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=o;t.SheetNames=s.slice(f,f+o);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=o;t.DefinedNames=s.slice(f,f+o);break;case"Charts":;case"Diagramme":t.Chartsheets=o;t.ChartNames=s.slice(f,f+o);break;}f+=o}}function un(e,r,t){var a={};if(!r)r={};e=Je(e);ln.forEach(function(t){var n=(e.match(rr(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Be(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)hn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}var dn=cr("Properties",null,{xmlns:pr.EXT_PROPS,"xmlns:vt":pr.vt});function vn(e){var r=[],t=cr;if(!e)e={};e.Application="SheetJS";r[r.length]=Re;r[r.length]=dn;ln.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=ze(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+ze(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}za.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var pn=/<[^>]+>[^<]*/g;function gn(e,r){var t={},a="";var n=e.match(pn);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Pe(s);switch(f[0]){case"":a=null;break;default:if(s.indexOf("");var l=o[0].slice(4),c=o[1];switch(l){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Be(c);break;case"bool":t[a]=Ke(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=oe(c);break;case"cy":;case"error":t[a]=Be(c);break;default:if(l.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,l,o);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var wn={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var kn=J(wn);function Tn(e,r,t){r=kn[r]||r;e[r]=t}function An(e,r){var t=[];Y(wn).map(function(e){for(var r=0;r'+n.join("")+""}function Cn(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function Sn(e){var r=typeof e=="string"?new Date(Date.parse(e)):e; -var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=tt(8);s._W(4,a);s._W(4,n);return s}function yn(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function _n(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function xn(e,r,t){if(r===31)return _n(e);return yn(e,r,t)}function On(e,r,t){return xn(e,r,t===false?0:4)}function Rn(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return xn(e,r,0)}function In(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(N,"");if(e.l-n&2)e.l+=2}return t}function Nn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(N,"");return t}function Fn(e){var r=e.l;var t=Un(e,Aa);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Un(e,ua);return[t,a]}function Dn(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Ln(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function Mn(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Un(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==va)if(a!==r&&Ea.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===va?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return yn(e,a,4).replace(N,"");case 31:return _n(e);case 64:return Cn(e);case 65:return Ln(e);case 71:return Mn(e);case 80:return On(e,a,!i.raw).replace(N,"");case 81:return Rn(e,a).replace(N,"");case 4108:return Dn(e);case 4126:;case 4127:return a==4127?In(e):Nn(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Bn(e,r){var t=tt(4),a=tt(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=tt(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Sn(r);break;case 31:;case 80:a=tt(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return I([t,a])}function Wn(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var l=-1,c={};for(s=0;s!=n;++s){var h=e._R(4);var u=e._R(4);i[s]=[h,u+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=Un(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:o(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Un(e,ha);o(f);if(l!==-1){var g=e.l;e.l=i[l][1];c=Pn(e,f);e.l=g}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}c=Pn(e,f)}else{var m=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=Ln(e);break;case 30:e.l+=4;b=On(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;b=On(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4;b=e._R(4,"i");break;case 19:e.l+=4;b=e._R(4);break;case 5:e.l+=4;b=e._R(8,"f");break;case 11:e.l+=4;b=Kn(e,4);break;case 64:e.l+=4;b=oe(Cn(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[m]=b}}}e.l=t+a;return d}var Hn=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"].concat(cn);function zn(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function Vn(e,r,t){var a=tt(8),n=[],i=[];var s=8,f=0;var o=tt(8),l=tt(8);o._W(4,2);o._W(4,1200);l._W(4,1);i.push(o);n.push(l);s+=8+o.length;if(!r){l=tt(8);l._W(4,0);n.unshift(l);var c=[tt(4)];c[0]._W(4,e.length);for(f=0;f-1)continue;if(e[f][1]==null)continue;var u=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof u=="string"){var p=u.split(".");u=(+p[0]<<16)+(+p[1]||0)}o=Bn(v.t,u)}else{var g=zn(u);if(g==-1){g=31;u=String(u)}o=Bn(g,u)}i.push(o);l=tt(8);l._W(4,!r?2+f:d);n.push(l);s+=8+o.length}var m=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var o=n?e._R(n,i):"";r=s;return o}function ai(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var o=0,l;var c={};if(s)o=e._R(2);if(i)l=e._R(4);var h=f==2?"dbcs-cont":"sbcs-cont";var u=a===0?"":e._R(a,h);if(s)e.l+=4*o;if(i)e.l+=l;c.t=u;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function ni(e){var r=e.t||"",t=1;var a=tt(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=tt(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return I(i)}function ii(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function si(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return ii(e,a,t)}function fi(e,r,t){if(t.biff>5)return si(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function oi(e,r,t){if(!t)t=tt(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function li(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function ci(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(N,"");if(a)e.l+=24;return n}function hi(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(N,"");return t+s}function ui(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return ci(e,r);case"0303000000000000c000000000000046":return hi(e,r);default:throw new Error("Unsupported Moniker "+t);}}function di(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(N,""):"";return t}function vi(e,r){if(!r)r=tt(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a;r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function Ci(e){var r=e._R(2);var t=Jt(e);return[r,t]}function Si(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=ti(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function yi(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function _i(e,r){if(!r)r=tt(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function xi(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Oi=xi;function Ri(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function Ii(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function Ni(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Fi(e){e.l+=2;e.l+=e._R(2)}var Di={0:Fi,4:Fi,5:Fi,6:Fi,7:Ni,8:Fi,9:Fi,10:Fi,11:Fi,12:Fi,13:Ii,14:Fi,15:Fi,16:Fi,17:Fi,18:Fi,19:Fi,20:Fi,21:Ri};function Pi(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function Mi(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=tt(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Ui(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Bi(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=fi(e,0,t);e._R(r+a-e.l);return n}function Wi(e,r){var t=!r||r.biff==8;var a=tt(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=tt(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function Gi(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function qi(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var o=e._R(2),l=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:o,TabRatio:l}}function Zi(){var e=tt(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function Qi(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function es(e){var r=tt(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function rs(){}function ts(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=ti(e,0,t);return a}function as(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=tt(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function ns(e){var r=wi(e);r.isst=e._R(4);return r}function is(e,r,t,a){var n=tt(10);ki(e,r,a,n);n._W(4,t);return n}function ss(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=wi(e,6);if(t.biff==2)e.l++;var i=si(e,a-e.l,t);n.val=i;return n}function fs(e,r,t,a,n){var i=!n||n.biff==8;var s=tt(6+2+ +i+(1+i)*t.length);ki(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function os(e,r,t){var a=e._R(2);var n=fi(e,0,t);return[a,n]}function ls(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var cs=fi;function hs(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),o=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:o}}}function us(e,r){var t=r.biff==8||!r.biff?4:2;var a=tt(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function ds(e){var r=e._R(2),t=e._R(2);var a=Ci(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function vs(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=o&127;n.icvBack=o>>7&127;n.fsxButton=o>>14&1;return n}function ms(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=gs(e,r,a.fStyle,t);return a}function bs(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function ws(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function ks(e){var r=tt(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function Ts(e,r,t){var a=wi(e,6);if(t.biff==2||r==9)++e.l;var n=ei(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function As(e,r,t,a,n,i){var s=tt(8);ki(e,r,a,s);ri(t,i,s);return s}function Es(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=wi(e,6);var n=ta(e,8);a.val=n;return a}function Cs(e,r,t,a){var n=tt(14);ki(e,r,a,n);aa(t,n);return n}var Ss=Ai;function ys(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=ii(e,i);var f=[];while(a>e.l)f.push(si(e));return[i,n,s,f]}function _s(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=Si(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var xs=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Os(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var o=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;o=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var l=ii(e,s,t);if(n&32)l=xs[l.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:tu(e,c,t,f);return{chKey:i,Name:l,itab:o,rgce:h}}function Rs(e,r,t){if(t.biff<8)return Is(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ei(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Is(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=ti(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function Ns(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=ii(e,a,t);var s=ii(e,n,t);return[i,s]}function Fs(e,r,t){var a=xi(e,6);e.l++;var n=e._R(1);r-=8;return[au(e,r,t),n,a]}function Ds(e,r,t){var a=Oi(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,eu(e,r,t,a)]}function Ps(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Ls(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=fi(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Ms(e,r,t){return Ls(e,r,t)}function Us(e,r){var t=[];var a=e._R(2);while(a--)t.push(yi(e,r));return t}function Bs(e){var r=tt(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(u){e.l=a+r;return{t:n}}}function Gs(e,r){var t=yi(e,8);e.l+=16;var a=pi(e,r-24);return[t,a]}function js(e){var r=tt(24);var t=wt(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return I([r,gi(e[1])])}function Xs(e,r){e._R(2);var t=yi(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(N,"");return[t,a]}function $s(e){var r=e[1].Tooltip;var t=tt(10+2*(r.length+1));t._W(2,2048);var a=wt(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(bi(e,8));return t}function qs(e){var r=e._R(2);var t=[];while(r-- >0)t.push(bi(e,8));return t}function Zs(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function Qs(e,r,t){if(!t.cellStyles)return rt(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var o=e._R(2);if(a==2)e.l+=2;var l={s:n,e:i,w:s,ixfe:f,flags:o};if(t.biff>=5||!t.biff)l.level=o>>8&7;return l}function ef(e,r){var t=tt(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function rf(e,r){var t={};if(r<32)return t;e.l+=16;t.header=ta(e,8);t.footer=ta(e,8);e.l+=2;return t}function tf(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function af(e){var r=tt(2*e);for(var t=0;t1048576)c=1e6;if(s!=2)h=i._R(2);var u=i._R(2);var d=t.codepage||1252;if(s!=2){i.l+=16;i._R(1);if(i[i.l]!==0)d=e[i[i.l]];i.l+=1;i.l+=2}if(l)i.l+=36;var v=[],p={};var g=Math.min(i.length,s==2?521:h-10-(o?264:0));var m=l?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++w]=[];k=0;for(k=0;k!=v.length;++k){var T=i.slice(i.l,i.l+v[k].len);i.l+=v[k].len;et(T,0);var A=a.utils.decode(d,T);switch(v[k].type){case"C":if(A.trim().length)n[w][k]=A.replace(/\s+$/,"");break;case"D":if(A.length===8)n[w][k]=new Date(+A.slice(0,4),+A.slice(4,6)-1,+A.slice(6,8));else n[w][k]=A;break;case"F":n[w][k]=parseFloat(A.trim());break;case"+":;case"I":n[w][k]=l?T._R(-4,"i")^2147483648:T._R(4,"i");break;case"L":switch(A.trim().toUpperCase()){case"Y":;case"T":n[w][k]=true;break;case"N":;case"F":n[w][k]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+A+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[w][k]="##MEMO##"+(l?parseInt(A.trim(),10):T._R(4));break;case"N":A=A.replace(/\u0000/g,"").trim();if(A&&A!=".")n[w][k]=+A||0;break;case"@":n[w][k]=new Date(T._R(-8,"f")-621356832e5);break;case"T":n[w][k]=new Date((T._R(4)-2440588)*864e5+T._R(4));break;case"Y":n[w][k]=T._R(4,"i")/1e4+T._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[w][k]=-T._R(-8,"f");break;case"B":if(o&&v[k].len==8){n[w][k]=T._R(8,"f");break};case"G":;case"P":T.l+=v[k].len;break;case"0":if(v[k].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[k].type);}}}if(s!=2)if(i.l=0)o(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=nt();var s=ym(e,{ -header:1,raw:true,cellDates:true});var l=s[0],c=s.slice(1),h=e["!cols"]||[];var u=0,d=0,v=0,p=1;for(u=0;u250)A=250;T=((h[u]||{}).DBF||{}).type;if(T=="C"){if(h[u].DBF.len>A)A=h[u].DBF.len}if(k=="B"&&T=="N"){k="N";w[u]=h[u].DBF.dec;A=h[u].DBF.len}b[u]=k=="C"||T=="N"?A:f[k]||0;p+=b[u];m[u]=k}var C=i.next(32);C._W(4,318902576);C._W(4,c.length);C._W(2,296+32*v);C._W(2,p);for(u=0;u<4;++u)C._W(4,0);C._W(4,0|(+r[t]||3)<<8);for(u=0,d=0;u":190,"?":191,"{":223};var r=new RegExp("N("+Y(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?p(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(b.decode(e),r);case"binary":return s(e,r);case"buffer":return s(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),r);case"array":return s(le(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),f=-1,l=-1,c=0,h=0,u=[];var d=[];var v=null;var p={},g=[],m=[],b=[];var w=0,k;if(+i.codepage>=0)o(+i.codepage);for(;c!==s.length;++c){w=0;var T=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var A=T.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var E=A[0],C;if(T.length>0)switch(E){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(A[1].charAt(0)=="P")d.push(T.slice(3).replace(/;;/g,";"));break;case"C":var S=false,y=false,_=false,x=false,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[f][l][1]=kc(N[1],{r:f-O,c:l-R})}break;case"F":var F=0;for(h=1;h0){g[f].hpt=w;g[f].hpx=No(w)}else if(w===0)g[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}if(F<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}}if(g.length>0)p["!rows"]=g;if(m.length>0)p["!cols"]=m;if(i&&i.sheetRows)u=u.slice(0,i.sheetRows);return[u,p]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1];var s=xt(a,r);Y(n).forEach(function(e){s[e]=n[e]});return s}function l(e,r){return yt(f(e,r),r)}function c(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+wc(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function h(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=Eo(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=Co(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*Io(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function d(e,r){var t=["ID;PWXL;N;E"],a=[];var n=Et(e["!ref"]),i;var s=Array.isArray(e);var f="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])h(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var o=n.s.r;o<=n.e.r;++o){for(var l=n.s.c;l<=n.e.c;++l){var d=kt({r:o,c:l});i=s?(e[o]||[])[l]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(c(i,e,o,l,r))}}return t.join(f)+f+a.join(f)+f+"E"+f}return{to_workbook:l,to_sheet:f,from_sheet:d}}();var kf=function(){function e(e,t){switch(t.type){case"base64":return r(b.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(le(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var o=f[0],l=f[1];++i;var c=t[i]||"";while((c.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,o=0;var l=0;for(;l<=s;++l){o=i[l].indexOf(" ");if(o==-1)o=i[l].length;else o++;f=Math.max(f,o)}for(l=0;l<=s;++l){n[l]=[];var c=0;e(i[l].slice(0,f).trim(),n,l,c,a);for(c=1;c<=(i[l].length-f)/10+1;++c)e(i[l].slice(f+(c-1)*10,f+c*10).trim(),n,l,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var n={44:3,9:2,59:1,124:0};function i(e){var r={},a=false,i=0,s=0;for(;i0)b();n["!ref"]=At(s);return n}function f(e,t){if(!(t&&t.PRN))return s(e,t);if(t.FS)return s(e,t);if(e.slice(0,4)=="sep=")return s(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return s(e,t);return xt(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:rm(e,r);switch(r.type){case"base64":t=b.decode(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof a!=="undefined")t=a.utils.decode(r.codepage,e);else t=w&&Buffer.isBuffer(e)?e.toString("binary"):_(e);break;case"array":t=le(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(n[0]==239&&n[1]==187&&n[2]==191)t=Je(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=Je(t);else if(r.type=="binary"&&typeof a!=="undefined"&&r.codepage)t=a.utils.decode(r.codepage,a.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return Tf.to_sheet(r.type=="string"?t:Je(t),r);return f(t,r)}function l(e,r){return yt(o(e,r),r)}function c(e){var r=[];var t=Et(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var o=kt({r:i,c:f});a=n?(e[i]||[])[f]:e[o];if(!a||a.v==null){s.push(" ");continue}var l=(a.w||(St(a),a.w)||"").slice(0,10);while(l.length<10)l+=" ";s.push(l+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:l,to_sheet:o,from_sheet:c}}();function Ef(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=wf.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return Af.to_workbook(e,r)}}var Cf=function(){function e(e,r,t){if(!e)return;et(e,e.l||0);var a=t.Enum||z;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){a.Enum=z;e(r,function(e,r,t){switch(t){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:h=e;break;case 204:if(e)s=e;break;case 222:s=e;break;case 15:;case 51:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:if(t==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||D._table[14];if(a.cellDates){e[1].t="d";e[1].v=ne(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=At(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(n[e[0].r]||[])[e[0].c]:n[kt(e[0])];if(c){c.t=e[1].t;c.v=e[1].v;if(e[1].z!=null)c.z=e[1].z;if(e[1].f!=null)c.f=e[1].f;break}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];break;default:;}},a)}else if(r[2]==26||r[2]==14){a.Enum=V;if(r[2]==14){a.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:i=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=At(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(u>0&&e[0].r>=u)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];if(h.e.c=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=nt();var n=Et(e["!ref"]);var s=Array.isArray(e);var f=[];lg(a,0,i(1030));lg(a,6,l(n));var c=Math.min(n.e.r,8191);for(var h=n.s.r;h<=c;++h){var d=ht(h);for(var p=n.s.c;p<=n.e.c;++p){if(h===n.s.r)f[p]=pt(p);var g=f[p]+d;var b=s?(e[h]||[])[p]:e[g];if(!b||b.t=="z")continue;if(b.t=="n"){if((b.v|0)==b.v&&b.v>=-32768&&b.v<=32767)lg(a,13,v(h,p,b.v));else lg(a,14,m(h,p,b.v))}else{var w=St(b);lg(a,15,u(h,p,w.slice(0,239)))}}}lg(a,1);return a.end()}function n(e,r){var t=r||{};if(+t.codepage>=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=nt();lg(a,0,s(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function f(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function l(e){var r=tt(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function c(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function h(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function u(e,r,t){var a=tt(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function d(e,r,t){var a=c(e,r,t);a[1].v=e._R(2,"i");return a}function v(e,r,t){var a=tt(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function p(e,r,t){var a=c(e,r,t);a[1].v=e._R(8,"f");return a}function m(e,r,t){var a=tt(13);a._W(1,255);a._W(2,r);a._W(2,e);a._W(8,t,"f");return a}function w(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);C(e.slice(e.l,e.l+i),n);e.l+=i}return n}function k(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?pt(r):ht(r))}var T=[8,8,8,8,8,8,8,8,6,4,4,5,5,7,3,3,3,3,3,3,1,1,2,6,8,8,8,8,8,8,8,8];var A={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]};var E=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function C(e,r){et(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+o.toString(16)+":|"+t.join("|")+"|");return}var u=t.slice(-a);t.length-=a;t.push(A[o][0]+"("+u.join(",")+")")}else if(o<=7)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=24)return console.error("WK1 unsupported op "+o.toString(16));else if(o<=30)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=115)return console.error("WK1 unsupported function opcode "+o.toString(16));else return console.error("WK1 unrecognized opcode "+o.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function y(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function _(e,r){var t=y(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function x(e,r,t,a){var n=tt(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function O(e,r){var t=y(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function R(e,r){var t=y(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function I(e,r,t,a){var n=tt(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,o=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);o=a>>>0;if((o&2147483648)==0){a/=2;++s;o=a>>>0}a-=o;o|=2147483648;o>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,o);s+=16383+(i?32768:0);n._W(2,s);return n}function N(e,r){var t=R(e,14);e.l+=r-14;return t}function F(e,r){var t=y(e,r);var a=e._R(4);t[1].v=a>>6;return t}function P(e,r){var t=y(e,r);var a=e._R(8,"f");t[1].v=a;return t}function L(e,r){var t=P(e,14);e.l+=r-10;return t}function M(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function U(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var z={0:{n:"BOF",f:qn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:f},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:d},14:{n:"NUMBER",f:p},15:{n:"LABEL",f:h},16:{n:"FORMULA",f:w},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:h},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:M},222:{n:"SHEETNAMELP",f:U},65535:{n:""}};var V={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:_},23:{n:"NUMBER17",f:R},24:{n:"NUMBER18",f:O},25:{n:"FORMULA19",f:N},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:W},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:F},38:{n:"??"},39:{n:"NUMBER27",f:P},40:{n:"FORMULA28",f:L},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:M},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:B},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function Sf(e){var r={},t=e.match(Ne),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Pe(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var yf=function(){var e=rr("t"),r=rr("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Be(a[1])};var i=t.match(r);if(i)n.s=Sf(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var _f=function mb(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push(""); -t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var xf=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Of=/<(?:\w+:)?r>/;var Rf=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function If(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Be(Je(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=Je(e);if(t)a.h=je(a.t)}else if(e.match(Of)){a.r=Je(e);a.t=Be(Je((e.replace(Rf,"").match(xf)||[]).join("").replace(Ne,"")));if(t)a.h=_f(yf(a.r))}return a}var Nf=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Ff=/<(?:\w+:)?(?:si|sstItem)>/g;var Df=/<\/(?:\w+:)?(?:si|sstItem)>/;function Pf(e,r){var t=[],a="";if(!e)return t;var n=e.match(Nf);if(n){a=n[2].replace(Ff,"").split(Df);for(var i=0;i!=a.length;++i){var s=If(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Pe(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}za.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var Lf=/^\s|\s$|[\t\n\r]/;function Mf(e,r){if(!r.bookSST)return"";var t=[Re];t[t.length]=cr("sst",null,{xmlns:gr[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Uf(e){return[e._R(4),e._R(4)]}function Bf(e,r){var t=[];var a=false;at(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.T){}if(!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16));}});return t}function Wf(e,r){if(!r)r=tt(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var Hf=Lt;function zf(e){var r=nt();it(r,159,Wf(e));for(var t=0;t=4)e.l+=r-4;return t}function jf(e){var r={};r.id=e._R(0,"lpp4");r.R=Gf(e,4);r.U=Gf(e,4);r.W=Gf(e,4);return r}function Xf(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function $f(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(Xf(e));return r}function Yf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function Kf(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=Gf(e,4);r.U=Gf(e,4);r.W=Gf(e,4);return r}function Jf(e){var r=Kf(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function qf(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function Zf(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function Qf(e){var r=Gf(e);switch(r.Minor){case 2:return[r.Minor,eo(e,r)];case 3:return[r.Minor,ro(e,r)];case 4:return[r.Minor,to(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function eo(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=qf(e,t);var n=Zf(e,e.length-e.l);return{t:"Std",h:a,v:n}}function ro(){throw new Error("File is password-protected: ECMA-376 Extensible")}function to(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(Ne,function n(e){var t=Pe(e);switch(Le(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=qf(e,n);r-=n;t.EncryptionVerifier=Zf(e,r);return t}function no(e){var r={};var t=r.EncryptionVersionInfo=Gf(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function io(e){var r=0,t;var a=Vf(e);var n=a.length+1,i,s;var f,o,l;t=E(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;o=r<<1&32767;l=f|o;r=l^s}return r^52811}var so=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=Vf(r);var a=i(t);var s=t.length;var f=E(16);for(var o=0;o!=16;++o)f[o]=0;var l,c,h;if((s&1)===1){l=a>>8;f[s]=n(e[0],l);--s;l=a&255;c=t[t.length-1];f[s]=n(c,l)}while(s>0){--s;l=a>>8;f[s]=n(t[s],l);--s;l=a&255;f[s]=n(t[s],l)}s=15;h=15-t.length;while(h>0){l=a>>8;f[s]=n(e[h],l);--s;--h;l=a&255;f[s]=n(t[s],l);--s;--h}return f}}();var fo=function(e,r,t,a,n){if(!n)n=r;if(!a)a=so(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var oo=function(e){var r=0,t=so(e);return function(e){var a=fo("",e,r,t);r=a[1];return a[0]}};function lo(e,r,t,a){var n={key:qn(e),verificationBytes:qn(e)};if(t.password)n.verifier=io(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=oo(t.password);return n}function co(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=no(e,r);else a.Data=ao(e,r);return a}function ho(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)co(e,r-2,a);else lo(e,t.biff>=8?r:r-2,t,a);return a}var uo=function(){function e(e,t){switch(t.type){case"base64":return r(b.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(le(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var i={s:{c:0,r:0},e:{c:0,r:n.length-1}};n.forEach(function(e,r){if(Array.isArray(a))a[r]=[];var t=/\\\w+\b/g;var n=0;var s;var f=-1;while(s=t.exec(e)){switch(s[0]){case"\\cell":var o=e.slice(n,t.lastIndex-s[0].length);if(o[0]==" ")o=o.slice(1);++f;if(o.length){var l={v:o,t:"s"};if(Array.isArray(a))a[r][f]=l;else a[kt({r:r,c:f})]=l}break;}n=t.lastIndex}if(f>i.e.c)i.e.c=f});a["!ref"]=At(i);return a}function t(r,t){return yt(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=Et(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1");for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var f=kt({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(St(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function vo(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function po(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function go(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,o=0,l=n+i;o=s/(l>1?2-l:l);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,o,l/2]}function mo(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var o;if(t!==0)switch(f|0){case 0:;case 6:o=n*f;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-f);s[0]+=o;s[1]+=n;break;case 2:o=n*(f-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-f);s[1]+=o;s[2]+=n;break;case 4:o=n*(f-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-f);s[2]+=o;s[0]+=n;break;}for(var l=0;l!=3;++l)s[l]=Math.round(s[l]*255);return s}function bo(e,r){if(r===0)return e;var t=go(vo(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return po(mo(t))}var wo=6,ko=15,To=1,Ao=wo;function Eo(e){return Math.floor((e+Math.round(128/Ao)/256)*Ao)}function Co(e){return Math.floor((e-5)/Ao*100+.5)/100}function So(e){return Math.round((e*Ao+5)/Ao*256)/256}function yo(e){return So(Co(Eo(e)))}function _o(e){var r=Math.abs(e-yo(e)),t=Ao;if(r>.005)for(Ao=To;Ao":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Ke(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Ke(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function Po(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Ne)||[]).forEach(function(e){var t=Pe(e);switch(Le(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Lo(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Ne)||[]).forEach(function(e){var f=Pe(e);switch(Le(f[0])){case"":;case"":break;case"":break;case"":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function Mo(e,r,t){r.NumberFmt=[];var a=Y(D._table);for(var n=0;n":;case"":;case"":break;case"0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=f}D.load(f,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function Uo(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=cr("numFmt",null,{numFmtId:a,formatCode:ze(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=cr("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Bo=["numFmtId","fillId","fontId","borderId","xfId"];var Wo=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Ho(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Ne)||[]).forEach(function(e){var i=Pe(e),s=0;switch(Le(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=Ke(i.wrapText);a.alignment=f;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function zo(e){var r=[];r[r.length]=cr("cellXfs",null);e.forEach(function(e){r[r.length]=cr("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=cr("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Vo=function bb(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,f,o){var l={};if(!s)return l;s=s.replace(//gm,"").replace(//gm,"");var c;if(c=s.match(e))Mo(c,l,o);if(c=s.match(a))Lo(c,l,f,o);if(c=s.match(t))Po(c,l,f,o);if(c=s.match(n))Do(c,l,f,o);if(c=s.match(r))Ho(c,l,o);return l}}();za.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function Go(e,r){var t=[Re,cr("styleSheet",null,{xmlns:gr[0],"xmlns:vt":pr.vt})],a;if(e.SSF&&(a=Uo(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=zo(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function jo(e,r){var t=e._R(2);var a=It(e,r-2);return[t,a]}function Xo(e,r,t){if(!t)t=tt(6+4*r.length);t._W(2,e);Nt(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function $o(e,r,t){var a={};a.sz=e._R(2)/20;var n=sa(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var o=e._R(1);if(o>0)a.charset=o;e.l++;a.color=na(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=It(e,r-21);return a}function Yo(e,r){if(!r)r=tt(25+4*32);r._W(2,e.sz*20);fa(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);ia(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);Nt(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Ko=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Jo=J(Ko);var qo=rt;function Zo(e,r){if(!r)r=tt(4*3+8*7+16*1);var t=Jo[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){ia({auto:1},r);ia({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function Qo(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function el(e,r,t){if(!t)t=tt(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function rl(e,r){if(!r)r=tt(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var tl=rt;function al(e,r){if(!r)r=tt(51);r._W(1,0);rl(null,r);rl(null,r);rl(null,r);rl(null,r);rl(null,r);return r.length>r.l?r.slice(0,r.l):r}function nl(e,r){if(!r)r=tt(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);Xt(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function il(e,r,t){var a=tt(4+256*2*4);a._W(4,e);Xt(r,a);Xt(t,a);return a.length>a.l?a.slice(0,a.l):a}function sl(e,r,t){var a={};a.NumberFmt=[];for(var n in D._table)a.NumberFmt[n]=D._table[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;at(e,function f(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1];D.load(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=bo(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==617){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(o);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(o);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+o.toString(16));}});return a}function fl(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;it(e,615,Rt(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)it(e,44,Xo(a,r[a]))});it(e,616)}function ol(e){var r=1;if(r==0)return;it(e,611,Rt(r));it(e,43,Yo({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));it(e,612)}function ll(e){var r=2;if(r==0)return;it(e,603,Rt(r));it(e,45,Zo({patternType:"none"}));it(e,45,Zo({patternType:"gray125"}));it(e,604)}function cl(e){var r=1;if(r==0)return;it(e,613,Rt(r));it(e,46,al({}));it(e,614)}function hl(e){var r=1;it(e,626,Rt(r));it(e,47,el({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));it(e,627)}function ul(e,r){it(e,617,Rt(r.length));r.forEach(function(r){it(e,47,el(r,0))});it(e,618)}function dl(e){var r=1;it(e,619,Rt(r));it(e,48,nl({xfId:0,builtinId:0,name:"Normal"}));it(e,620)}function vl(e){var r=0;it(e,505,Rt(r));it(e,506)}function pl(e){var r=0;it(e,508,il(r,"TableStyleMedium9","PivotStyleMedium4"));it(e,509)}function gl(){return}function ml(e,r){var t=nt();it(t,278);fl(t,e.SSF);ol(t,e);ll(t,e);cl(t,e);hl(t,e);ul(t,r.cellXfs);dl(t,e);vl(t,e);pl(t,e);gl(t,e);it(t,279);return t.end()}za.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";var bl=["","","","","","","","","","","",""];function wl(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Ne)||[]).forEach(function(e){var n=Pe(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[bl.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function kl(){}function Tl(){}var Al=/]*)>[\s\S]*<\/a:clrScheme>/;var El=/]*)>[\s\S]*<\/a:fontScheme>/;var Cl=/]*)>[\s\S]*<\/a:fmtScheme>/;function Sl(e,r,t){r.themeElements={};var a;[["clrScheme",Al,wl],["fontScheme",El,kl],["fmtScheme",Cl,Tl]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var yl=/]*)>[\s\S]*<\/a:themeElements>/;function _l(e,r){if(!e||e.length===0)e=xl();var t;var a={};if(!(t=e.match(yl)))throw new Error("themeElements not found in theme");Sl(t[0],a,r);a.raw=e;return a}function xl(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Re];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; -t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function Ol(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=xe(i,{type:"array"})}catch(f){return}var o=Ee(s,"theme/theme/theme1.xml",true);if(!o)return;return _l(o,t)}function Rl(e){return e._R(4)}function Il(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=Nl(e,4);break;case 2:r.xclrValue=mi(e,4);break;case 3:r.xclrValue=Rl(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function Nl(e,r){return rt(e,r)}function Fl(e,r){return rt(e,r)}function Dl(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Il(e,t);break;case 6:a[1]=Fl(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function Pl(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Dl(e,t-e.l));return{ixfe:a,ext:i}}function Ll(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}za.XLMETA="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata";function Ml(e,r,t){var a={Types:[]};if(!e)return a;var n=false;e.replace(Ne,function(e,r){var i=Pe(e);switch(Le(i[0])){case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":;case"":break;case"":n=false;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+i[0]+" in metadata");}return e});return a}function Ul(){var e=[Re];e.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function Bl(e,r){return{flags:e._R(4),version:e._R(4),name:It(e,r-8)}}function Wl(e){var r=tt(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);Nt(e.name,r);return r.slice(0,r.l)}function Hl(e){var r=tt(4+8*e.length);r._W(4,e.length);for(var t=0;t":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var Zl=1024;function Ql(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[cr("xml",null,{"xmlns:v":mr.v,"xmlns:o":mr.o,"xmlns:x":mr.x,"xmlns:mv":mr.mv}).replace(/\/>/,">"),cr("o:shapelayout",cr("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),cr("v:shapetype",[cr("v:stroke",null,{joinstyle:"miter"}),cr("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(Zl",i,cr("v:shadow",null,s),cr("v:path",null,{"o:connecttype":"none"}),'
','',"","",or("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),or("x:AutoFill","False"),or("x:Row",String(r.r)),or("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}za.CMNT="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";function ec(e,r){var t=Array.isArray(e);var a;r.forEach(function(r){var n=wt(r.ref);if(t){if(!e[n.r])e[n.r]=[];a=e[n.r][n.c]}else a=e[r.ref];if(!a){a={t:"z"};if(t)e[n.r][n.c]=a;else e[r.ref]=a;var i=Et(e["!ref"]||"BDWGO1000001:A1");if(i.s.r>n.r)i.s.r=n.r;if(i.e.rn.c)i.s.c=n.c;if(i.e.c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Pe(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=wt(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var l=!!o&&!!o[1]&&If(o[1])||{r:"",t:"",h:""};s.r=l.r;if(l.r=="")l.t=l.h="";s.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=l.h;a.push(s)});return a}function tc(e){var r=[Re,cr("comments",null,{xmlns:gr[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=ze(e.a);if(t.indexOf(a)>-1)return;t.push(a);r.push(""+a+"")})});r.push("");r.push("");e.forEach(function(e){e[1].forEach(function(a){r.push('');r.push(or("t",a.t==null?"":ze(a.t)));r.push("")})});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ac(e){var r={};r.iauthor=e._R(4);var t=ea(e,16);r.rfx=t.s;r.ref=kt(t.s);e.l+=16;return r}function nc(e,r){if(r==null)r=tt(36);r._W(4,e[1].iauthor);ra(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var ic=It;function sc(e){return Nt(e.slice(0,54))}function fc(e,r){var t=[];var a=[];var n={};var i=false;at(e,function s(e,f,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if(f.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}});return t}function oc(e){var r=nt();var t=[];it(r,628);it(r,630);e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));it(r,632,sc(e.a))})});it(r,631);it(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:wt(e[0]),e:wt(e[0])};it(r,635,nc([n,a]));if(a.t&&a.t.length>0)it(r,637,Ut(a));it(r,636);delete a.iauthor})});it(r,634);it(r,629);return r.end()}var lc="application/vnd.ms-office.vbaProject";function cc(e){var r=z.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");z.utils.cfb_add(r,n,e.FileIndex[a].content)});return z.write(r)}function hc(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")z.utils.cfb_add(e,n,r.FileIndex[a].content)})}var uc=["xlsb","xlsm","xlam","biff8","xla"];za.DS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";za.MS="http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet";function dc(){return{"!type":"dialog"}}function vc(){return{"!type":"dialog"}}function pc(){return{"!type":"macro"}}function gc(){return{"!type":"macro"}}var mc=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)f+=r.r;else--f;return t+(i?"":"$")+pt(o)+(s?"":"$")+ht(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var bc=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var wc=function(){return function e(r,t){return r.replace(bc,function(e,r,a,n,i,s){var f=vt(n)-(a?0:t.c);var o=ct(s)-(i?0:t.r);var l=o==0?"":!i?"["+o+"]":o+1;var c=f==0?"":!a?"["+f+"]":f+1;return r+"R"+l+"C"+c})}}();function kc(e,r){return e.replace(bc,function(e,t,a,n,i,s){return t+(a=="$"?a+n:pt(vt(n)+r.c))+(i=="$"?i+s:ht(ct(s)+r.r))})}function Tc(e,r,t){var a=Tt(r),n=a.s,i=wt(t);var s={r:i.r-n.r,c:i.c-n.c};return kc(e,s)}function Ac(e){if(e.length==1)return false;return true}function Ec(e){return e.replace(/_xlfn\./g,"")}function Cc(e){e.l+=1;return}function Sc(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function yc(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return _c(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=Sc(e,2);var f=Sc(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function _c(e){var r=Sc(e,2),t=Sc(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function xc(e,r,t){if(t.biff<8)return _c(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=Sc(e,2);var s=Sc(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function Oc(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Rc(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=Sc(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Rc(e){var r=Sc(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Ic(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function Nc(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Fc(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function Fc(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Dc(e,r,t){var a=(e[e.l++]&96)>>5;var n=yc(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Pc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=yc(e,i,t);return[a,n,s]}function Lc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Mc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function Uc(e,r,t){var a=(e[e.l++]&96)>>5;var n=xc(e,r-1,t);return[a,n]}function Bc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Wc(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Hc(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function zc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Vc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Gc(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function jc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Xc(e){var r=e._R(1),t=e._R(1);return[r,t]}function $c(e){e._R(2);return Xc(e,2)}function Yc(e){e._R(2);return Xc(e,2)}function Kc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Oc(e,0,t);return[a,n]}function Jc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Nc(e,0,t);return[a,n]}function qc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Oc(e,0,t);return[a,n,i]}function Zc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[pu[n],vu[n],a]}function Qc(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:eh(e);return[n,(i[0]===0?vu:du)[i[1]]]}function eh(e){return[e[e.l+1]>>7,e._R(2)&32767]}function rh(e,r,t){e.l+=t&&t.biff==2?3:4;return}function th(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function ah(e){e.l++;return Fa[e._R(1)]}function nh(e){e.l++;return e._R(2)}function ih(e){e.l++;return e._R(1)!==0}function sh(e){e.l++;return ta(e,8)}function fh(e,r,t){e.l++;return ti(e,r-1,t)}function oh(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Kn(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=Fa[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=ta(e,8);break;case 2:t[1]=fi(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function lh(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?ea:yi)(e,8));return n}function ch(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=oh(e,t.biff);return s}function hh(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function uh(e,r,t){if(t.biff==5)return dh(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function dh(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function vh(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function ph(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function gh(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function mh(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var bh=rt;var wh=rt;var kh=rt;function Th(e,r,t){e.l+=2;return[Ic(e,4,t)]}function Ah(e){e.l+=6;return[]}var Eh=Th;var Ch=Ah;var Sh=Ah;var yh=Th;function _h(e){e.l+=2;return[qn(e),e._R(2)&1]}var xh=Th;var Oh=_h;var Rh=Ah;var Ih=Th;var Nh=Th;var Fh=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function Dh(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=Fh[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Ph(e){e.l+=2;return[e._R(4)]}function Lh(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Mh(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function Uh(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Bh(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Wh(e){e.l+=4;return[0,0]}var Hh={1:{n:"PtgExp",f:th},2:{n:"PtgTbl",f:kh},3:{n:"PtgAdd",f:Cc},4:{n:"PtgSub",f:Cc},5:{n:"PtgMul",f:Cc},6:{n:"PtgDiv",f:Cc},7:{n:"PtgPower",f:Cc},8:{n:"PtgConcat",f:Cc},9:{n:"PtgLt",f:Cc},10:{n:"PtgLe",f:Cc},11:{n:"PtgEq",f:Cc},12:{n:"PtgGe",f:Cc},13:{n:"PtgGt",f:Cc},14:{n:"PtgNe",f:Cc},15:{n:"PtgIsect",f:Cc},16:{n:"PtgUnion",f:Cc},17:{n:"PtgRange",f:Cc},18:{n:"PtgUplus",f:Cc},19:{n:"PtgUminus",f:Cc},20:{n:"PtgPercent",f:Cc},21:{n:"PtgParen",f:Cc},22:{n:"PtgMissArg",f:Cc},23:{n:"PtgStr",f:fh},26:{n:"PtgSheet",f:Lh},27:{n:"PtgEndSheet",f:Mh},28:{n:"PtgErr",f:ah},29:{n:"PtgBool",f:ih},30:{n:"PtgInt",f:nh},31:{n:"PtgNum",f:sh},32:{n:"PtgArray",f:Bc},33:{n:"PtgFunc",f:Zc},34:{n:"PtgFuncVar",f:Qc},35:{n:"PtgName",f:hh},36:{n:"PtgRef",f:Kc},37:{n:"PtgArea",f:Dc},38:{n:"PtgMemArea",f:vh},39:{n:"PtgMemErr",f:bh},40:{n:"PtgMemNoMem",f:wh},41:{n:"PtgMemFunc",f:ph},42:{n:"PtgRefErr",f:gh},43:{n:"PtgAreaErr",f:Lc},44:{n:"PtgRefN",f:Jc},45:{n:"PtgAreaN",f:Uc},46:{n:"PtgMemAreaN",f:Uh},47:{n:"PtgMemNoMemN",f:Bh},57:{n:"PtgNameX",f:uh},58:{n:"PtgRef3d",f:qc},59:{n:"PtgArea3d",f:Pc},60:{n:"PtgRefErr3d",f:mh},61:{n:"PtgAreaErr3d",f:Mc},255:{}};var zh={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};var Vh={1:{n:"PtgElfLel",f:_h},2:{n:"PtgElfRw",f:Ih},3:{n:"PtgElfCol",f:Eh},6:{n:"PtgElfRwV",f:Nh},7:{n:"PtgElfColV",f:yh},10:{n:"PtgElfRadical",f:xh},11:{n:"PtgElfRadicalS",f:Rh},13:{n:"PtgElfColS",f:Ch},15:{n:"PtgElfColSV",f:Sh},16:{n:"PtgElfRadicalLel",f:Oh},25:{n:"PtgList",f:Dh},29:{n:"PtgSxName",f:Ph},255:{}};var Gh={0:{n:"PtgAttrNoop",f:Wh},1:{n:"PtgAttrSemi",f:jc},2:{n:"PtgAttrIf",f:Vc},4:{n:"PtgAttrChoose",f:Hc},8:{n:"PtgAttrGoto",f:zc},16:{n:"PtgAttrSum",f:rh},32:{n:"PtgAttrBaxcel",f:Wc},64:{n:"PtgAttrSpace",f:$c},65:{n:"PtgAttrSpaceSemi",f:Yc},128:{n:"PtgAttrIfError",f:Gc},255:{}};Gh[33]=Gh[32];function jh(e,r,t,a){if(a.biff<8)return rt(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=ch(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=lh(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(rt(e,r));return i}function Xh(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=Hh[i]||Hh[zh[i]];if(i===24||i===25)n=(i===24?Vh:Gh)[e[e.l+1]];if(!n||!n.f){rt(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function $h(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};var Kh=new RegExp(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/);function Jh(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(Kh.test(e))return"'"+e+"'";return e}function qh(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function Zh(e,r,t){var a=qh(e,r,t);return a=="#REF"?a:Jh(a,t)}function Qh(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],o,l,c,h=0,u=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,g="";for(var m=0,b=e[0].length;m=0){switch(e[0][p][1][0]){case 0:g=he(" ",e[0][p][1][1]);break;case 1:g=he("\r",e[0][p][1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}l=l+g;p=-1}f.push(l+Yh[w[0]]+o);break;case"PtgIsect":o=f.pop();l=f.pop();f.push(l+" "+o);break;case"PtgUnion":o=f.pop();l=f.pop();f.push(l+","+o);break;case"PtgRange":o=f.pop();l=f.pop();f.push(l+":"+o);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=st(w[1][1],s,n);f.push(ot(c,i));break;case"PtgRefN":c=t?st(w[1][1],t,n):w[1][1];f.push(ot(c,i));break;case"PtgRef3d":h=w[1][1];c=st(w[1][2],s,n);v=Zh(a,h,n);var k=v;f.push(v+"!"+ot(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],A=w[1][1];if(!T)T=0;T&=127;var E=T==0?[]:f.slice(-T);f.length-=T;if(A==="User")A=E.shift();f.push(A+"("+E.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=ft(w[1][1],t?{s:t}:s,n);f.push(lt(d,n));break;case"PtgArea":d=ft(w[1][1],s,n);f.push(lt(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];v=Zh(a,h,n);f.push(v+"!"+lt(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var C=(a.names||[])[u-1]||(a[0]||[])[u];var S=C?C.Name:"SH33TJSNAME"+String(u);if(S&&S.slice(0,6)=="_xlfn."&&!n.xlfn)S=S.slice(6);f.push(S);break;case"PtgNameX":var y=w[1][1];u=w[1][2];var _;if(n.biff<=5){if(y<0)y=-y;if(a[y])_=a[y][u]}else{var x="";if(((a[y]||[])[0]||[])[0]==14849){}else if(((a[y]||[])[0]||[])[0]==1025){if(a[y][u]&&a[y][u].itab>0){x=a.SheetNames[a[y][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[y]&&a[y][u])x+=a[y][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(qh(a,y,n)||"").split(";;");if(O[u-1])x=O[u-1];else x+="SH33TJSERRX"}f.push(x);break}if(!_)_={Name:"SH33TJSERRY"};f.push(_.Name);break;case"PtgParen":var R="(",I=")";if(p>=0){g="";switch(e[0][p][1][0]){case 2:R=he(" ",e[0][p][1][1])+R;break;case 3:R=he("\r",e[0][p][1][1])+R;break;case 4:I=he(" ",e[0][p][1][1])+I;break;case 5:I=he("\r",e[0][p][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(R+f.pop()+I);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":c={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[kt(c)]){var F=a.sharedf[kt(c)];f.push(Qh(F,s,N,a,n))}else{var D=false;for(o=0;o!=a.arrayf.length;++o){l=a.arrayf[o];if(c.cl[0].e.c)continue;if(c.rl[0].e.r)continue;f.push(Qh(l[1],s,N,a,n));D=true;break}if(!D)f.push(w[1])}break;case"PtgArray":f.push("{"+$h(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi": -p=m;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var P=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][m][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:g=he(" ",w[1][1]);break;case 5:L=false;case 1:g=he("\r",w[1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((L?g:"")+f.pop()+(L?"":g));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");return f[0]}function eu(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Xh(e,s,t);if(r!==s+n)i=jh(e,r-s-n,f,t);e.l=a;return[f,i]}function ru(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Xh(e,s,t);if(r!==s+n)i=jh(e,r-s-n,f,t);e.l=a;return[f,i]}function tu(e,r,t,a){var n=e.l+r;var i=Xh(e,a,t);var s;if(n!==e.l)s=jh(e,n-e.l,i,t);return[i,s]}function au(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Xh(e,i,t);if(i==65535)return[[],rt(e,r-2)];if(r!==i+2)n=jh(e,a-i-2,s,t);return[s,n]}function nu(e){var r;if(Vr(e,e.l+6)!==65535)return[ta(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function iu(e){if(e==null){var r=tt(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return aa(e);return aa(0)}function su(e,r,t){var a=e.l+r;var n=wi(e,6);if(t.biff==2)++e.l;var i=nu(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=ru(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function fu(e,r,t,a,n){var i=ki(r,t,n);var s=iu(e.v);var f=tt(6);var o=1|32;f._W(2,o);f._W(4,0);var l=tt(e.bf.length);for(var c=0;c0?jh(e,i,n,t):null;return[n,s]}var lu=ou;var cu=ou;var hu=ou;var uu=ou;var du={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var vu={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var pu={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function gu(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function mu(e){var r="of:="+e.replace(bc,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function bu(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function wu(e){return e.replace(/\./,"!")}var ku={};var Tu={};za.WS=["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"];var Au=typeof Map!=="undefined";function Eu(e,r,t){var a=0,n=e.length;if(t){if(Au?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Au?t.get(r):t[r];for(;a-1){t.width=So(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function Su(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function yu(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){D.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function _u(e,r,t,a,n,i){try{if(a.cellNF)e.z=D._table[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=oe(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(D._table[r]==null)D.load(M[r]||"General",r);if(e.t==="e")e.w=e.w||Fa[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else if(e.t==="d"){var f=ee(e.v);if((f|0)===f)e.w=D._general_int(f);else e.w=D._general_num(f)}else if(e.v===undefined)return"";else e.w=D._general(e.v,Tu)}else if(e.t==="d")e.w=D.format(r,ee(e.v),Tu);else e.w=D.format(r,e.v,Tu)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=bo(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=bo(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function xu(e,r,t){if(e&&e["!ref"]){var a=Et(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=At(t)}var Ru=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Iu=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Nu=/<(?:\w:)?hyperlink [^>]*>/gm;var Fu=/"(\w*:\w*)"/;var Du=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Pu=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Lu=/<(?:\w:)?pageMargins[^>]*\/>/g;var Mu=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Uu=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Bu=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Wu(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(g!=null&&r.dense==null)r.dense=g;var f=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l="",c="";var h=e.match(Iu);if(h){l=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else l=c=e;var u=l.match(Mu);if(u)zu(u[0],f,n,t);else if(u=l.match(Uu))Vu(u[0],u[1]||"",f,n,t,s,i);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=l.slice(d,d+50).match(Fu);if(v)Ou(f,v[1])}var p=l.match(Bu);if(p&&p[1])td(p[1],n);var m=[];if(r.cellStyles){var b=l.match(Du);if(b)qu(m,b)}if(h)id(h[1],f,r,o,i,s);var w=c.match(Pu);if(w)f["!autofilter"]=Qu(w[0]);var k=[];var T=c.match(Ru);if(T)for(d=0;d!=T.length;++d)k[d]=Et(T[d].slice(T[d].indexOf('"')+1));var A=c.match(Nu);if(A)Yu(f,A,a);var E=c.match(Lu);if(E)f["!margins"]=Ku(Pe(E[0]));if(!f["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)f["!ref"]=At(o);if(r.sheetRows>0&&f["!ref"]){var C=Et(f["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>o.e.r)C.e.r=o.e.r;if(C.e.ro.e.c)C.e.c=o.e.c;if(C.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;return f}function Hu(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function zu(e,r,t,a){var n=Pe(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Be(Je(n.codeName))}function Vu(e,r,t,a,n,i,s){zu(e.slice(0,e.indexOf(">")),t,a,n)}function Gu(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(l){}i=true;s.codeName=qe(ze(o))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};if(e["!outline"].above)c.summaryBelow=0;if(e["!outline"].left)c.summaryRight=0;f=(f||"")+cr("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=cr("sheetPr",f,s)}var ju=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Xu=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function $u(e){var r={sheet:1};ju.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Xu.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=io(e.password).toString(16).toUpperCase();return cr("sheetProtection",null,r)}function Yu(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Pe(Je(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Be(i.location)}else{i.Target="#"+Be(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Et(i.ref);for(var o=f.s.r;o<=f.e.r;++o)for(var l=f.s.c;l<=f.e.c;++l){var c=kt({c:l,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][l])e[o][l]={t:"z",v:undefined};e[o][l].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Ku(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Ju(e){Su(e);return cr("pageMargins",null,e)}function qu(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Pe(r[a],true);if(n.hidden)n.hidden=Ke(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;_o(n.width)}xo(n);while(i<=s)e[i++]=ce(n)}}function Zu(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=cr("col",null,Cu(n,a))}t[t.length]="";return t.join("")}function Qu(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function ed(e,r,t,a){var n=typeof e.ref=="string"?e.ref:At(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Tt(n);if(s.s.r==s.e.r){s.e.r=Tt(r["!ref"]).e.r;n=At(s)}for(var f=0;fa-z][^>]*)?\/?>/;function td(e,r){if(!r.Views)r.Views=[{}];(e.match(rd)||[]).forEach(function(e,t){var a=Pe(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(Ke(a.rightToLeft))r.Views[t].RTL=true})}function ad(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return cr("sheetViews",cr("sheetView",null,n),{})}function nd(e,r,t,a){if(e.v===undefined&&typeof e.f!=="string"||e.t==="z")return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Fa[e.v];break;case"d":if(a&&a.cellDates)n=oe(e.v,-1).toISOString();else{e=ce(e);e.t="n";n=""+(e.v=ee(oe(e.v)))}if(typeof e.z==="undefined")e.z=D._table[14];break;default:n=e.v;break;}var f=or("v",ze(n)),o={r:r};var l=yu(a.cellXfs,e,a);if(l!==0)o.s=l;switch(e.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){f=or("v",""+Eu(a.Strings,e.v,a.revStrings));o.t="s";break}o.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;f=cr("f",ze(e.f),c)+(e.v!=null?f:"")}if(e.l)t["!links"].push([r,e.l]);if(e.c)t["!comments"].push([r,e.c]);if(e.D)o.cm=1;return cr("c",f,o)}var id=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=rr("v"),s=rr("f");return function f(o,l,c,h,u,d){var v=0,p="",g=[],m=[],b=0,w=0,k=0,T="",A;var E,C=0,S=0;var y,_;var x=0,O=0;var R=Array.isArray(d.CellXf),I;var N=[];var F=[];var P=Array.isArray(l);var L=[],M={},U=false;var B=!!c.sheetStubs;for(var W=o.split(r),H=0,z=W.length;H!=z;++H){p=W[H].trim();var V=p.length;if(V===0)continue;var G=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(c&&c.cellStyles){E=Pe(p.slice(G,v),true);C=E.r!=null?parseInt(E.r,10):C+1;S=-1;if(c.sheetRows&&c.sheetRows=v)break;E=Pe(p.slice(G,v),true);C=E.r!=null?parseInt(E.r,10):C+1;S=-1;if(c.sheetRows&&c.sheetRowsC-1)h.s.r=C-1;if(h.e.r":"")+p;if(m!=null&&m.length===2){b=0;T=m[1];for(w=0;w!=T.length;++w){if((k=T.charCodeAt(w)-64)<1||k>26)break;b=26*b+k}--b;S=b}else++S;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;E=Pe(p.slice(0,w),true);if(!E.r)E.r=kt({r:C-1,c:S});T=p.slice(w);A={t:""};if((m=T.match(i))!=null&&m[1]!=="")A.v=Be(m[1]);if(c.cellFormula){if((m=T.match(s))!=null&&m[1]!==""){A.f=Be(Je(m[1])).replace(/\r\n/g,"\n");if(!c.xlfn)A.f=Ec(A.f);if(m[0].indexOf('t="array"')>-1){A.F=(T.match(n)||[])[1];if(A.F.indexOf(":")>-1)N.push([Et(A.F),A.F])}else if(m[0].indexOf('t="shared"')>-1){_=Pe(m[0]);var X=Be(Je(m[1]));if(!c.xlfn)X=Ec(X);F[parseInt(_.si,10)]=[_,X,E.r]}}else if(m=T.match(/]*\/>/)){_=Pe(m[0]);if(F[_.si])A.f=Tc(F[_.si][1],F[_.si][2],E.r)}var $=wt(E.r);for(w=0;w=N[w][0].s.r&&$.r<=N[w][0].e.r)if($.c>=N[w][0].s.c&&$.c<=N[w][0].e.c)A.F=N[w][1]}if(E.t==null&&A.v===undefined){if(A.f||A.F){A.v=0;A.t="n"}else if(!B)continue;else A.t="z"}else A.t=E.t||"n";if(h.s.c>S)h.s.c=S;if(h.e.c0)l["!rows"]=L}}();function sd(e,r,t,a){var n=[],i=[],s=Et(e["!ref"]),f="",o,l="",c=[],h=0,u=0,d=e["!rows"];var v=Array.isArray(e);var p={r:l},g,m=-1;for(u=s.s.c;u<=s.e.c;++u)c[u]=pt(u);for(h=s.s.r;h<=s.e.r;++h){i=[];l=ht(h);for(u=s.s.c;u<=s.e.c;++u){o=c[u]+l;var b=v?(e[h]||[])[u]:e[o];if(b===undefined)continue;if((f=nd(b,o,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[h]){p={r:l};if(d&&d[h]){g=d[h];if(g.hidden)p.hidden=1;m=-1;if(g.hpx)m=Io(g.hpx);else if(g.hpt)m=g.hpt;if(m>-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}}n[n.length]=cr("row",i.join(""),p)}}if(d)for(;h-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}n[n.length]=cr("row","",p)}}return n.join("")}function fd(e,r,t,a){var n=[Re,cr("worksheet",null,{xmlns:gr[0],"xmlns:r":pr.r})];var i=t.SheetNames[e],s=0,f="";var o=t.Sheets[i];if(o==null)o={};var l=o["!ref"]||"A1";var c=Et(l);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);l=At(c)}if(!a)a={};o["!comments"]=[];var h=[];Gu(o,t,e,r,n);n[n.length]=cr("dimension",null,{ref:l});n[n.length]=ad(o,r,e,t);if(r.sheetFormat)n[n.length]=cr("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(o["!cols"]!=null&&o["!cols"].length>0)n[n.length]=Zu(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){f=sd(o,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(o["!protect"])n[n.length]=$u(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=ed(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=Hu(o["!merges"]);var u=-1,d,v=-1;if(o["!links"].length>0){n[n.length]="";o["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=Ya(a,-1,ze(e[1].Target).replace(/#.*$/,""),za.HLINK);d["r:id"]="rId"+v}if((u=e[1].Target.indexOf("#"))>-1)d.location=ze(e[1].Target.slice(u+1));if(e[1].Tooltip)d.tooltip=ze(e[1].Tooltip);n[n.length]=cr("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=Ju(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=or("ignoredErrors",cr("ignoredError",null,{numberStoredAsText:1,sqref:l}));if(h.length>0){v=Ya(a,-1,"../drawings/drawing"+(e+1)+".xml",za.DRAW);n[n.length]=cr("drawing",null,{"r:id":"rId"+v});o["!drawing"]=h}if(o["!comments"].length>0){v=Ya(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",za.VML);n[n.length]=cr("legacyDrawing",null,{"r:id":"rId"+v});o["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function od(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function ld(e,r,t){var a=tt(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Io(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,o=a.l;a.l+=4;var l={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.ca.l?a.slice(0,a.l):a}function cd(e,r,t,a){var n=ld(a,t,r);if(n.length>17||(r["!rows"]||[])[a])it(e,0,n)}var hd=ea;var ud=ra;function dd(){}function vd(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Vt(e,r-19);return t}function pd(e,r,t){if(t==null)t=tt(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);ia({auto:1},t);t._W(-4,-1);t._W(-4,-1);Gt(e,t);return t.slice(0,t.l)}function gd(e){var r=Bt(e);return[r]}function md(e,r,t){if(t==null)t=tt(8);return Wt(r,t)}function bd(e){var r=Ht(e);return[r]}function wd(e,r,t){if(t==null)t=tt(4);return zt(r,t)}function kd(e){var r=Bt(e);var t=e._R(1);return[r,t,"b"]}function Td(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v?1:0);return t}function Ad(e){var r=Ht(e);var t=e._R(1);return[r,t,"b"]}function Ed(e,r,t){if(t==null)t=tt(5);zt(r,t);t._W(1,e.v?1:0);return t}function Cd(e){var r=Bt(e);var t=e._R(1);return[r,t,"e"]}function Sd(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v);return t}function yd(e){var r=Ht(e);var t=e._R(1);return[r,t,"e"]}function _d(e,r,t){if(t==null)t=tt(8);zt(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function xd(e){var r=Bt(e);var t=e._R(4);return[r,t,"s"]}function Od(e,r,t){if(t==null)t=tt(12);Wt(r,t);t._W(4,r.v);return t}function Rd(e){var r=Ht(e);var t=e._R(4);return[r,t,"s"]}function Id(e,r,t){if(t==null)t=tt(8);zt(r,t);t._W(4,r.v);return t}function Nd(e){var r=Bt(e);var t=ta(e);return[r,t,"n"]}function Fd(e,r,t){if(t==null)t=tt(16);Wt(r,t);aa(e.v,t);return t}function Dd(e){var r=Ht(e);var t=ta(e);return[r,t,"n"]}function Pd(e,r,t){if(t==null)t=tt(12);zt(r,t);aa(e.v,t);return t}function Ld(e){var r=Bt(e);var t=Jt(e);return[r,t,"n"]}function Md(e,r,t){if(t==null)t=tt(12);Wt(r,t);qt(e.v,t);return t}function Ud(e){var r=Ht(e);var t=Jt(e);return[r,t,"n"]}function Bd(e,r,t){if(t==null)t=tt(8);zt(r,t);qt(e.v,t);return t}function Wd(e){var r=Bt(e);var t=Pt(e);return[r,t,"is"]}function Hd(e){var r=Bt(e);var t=It(e);return[r,t,"str"]}function zd(e,r,t){if(t==null)t=tt(12+4*e.v.length);Wt(r,t);Nt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Vd(e){var r=Ht(e);var t=It(e);return[r,t,"str"]}function Gd(e,r,t){if(t==null)t=tt(8+4*e.v.length);zt(r,t);Nt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function jd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}function Xd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}function $d(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=ta(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}function Yd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=It(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}var Kd=ea;var Jd=ra;function qd(e,r){if(r==null)r=tt(4);r._W(4,e);return r}function Zd(e,r){var t=e.l+r;var a=ea(e,16);var n=jt(e);var i=It(e);var s=It(e);var f=It(e);e.l=t;var o={rfx:a,relId:n,loc:i,display:f};if(s)o.Tooltip=s;return o}function Qd(e,r){var t=tt(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));ra({s:wt(e[0]),e:wt(e[0])},t);Kt("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);Nt(n||"",t);Nt(e[1].Tooltip||"",t);Nt("",t);return t.slice(0,t.l)}function ev(){}function rv(e,r,t){var a=e.l+r;var n=Zt(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=lu(e,a-e.l,t);s[1]=f}else e.l=a;return s}function tv(e,r,t){var a=e.l+r;var n=ea(e,16);var i=[n];if(t.cellFormula){var s=uu(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function av(e,r,t){if(t==null)t=tt(18);var a=Cu(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var nv=["left","right","top","bottom","header","footer"];function iv(e){var r={};nv.forEach(function(t){r[t]=ta(e,8)});return r}function sv(e,r){if(r==null)r=tt(6*8);Su(e);nv.forEach(function(t){aa(e[t],r)});return r}function fv(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function ov(e,r,t){if(t==null)t=tt(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function lv(e){var r=tt(24);r._W(4,4);r._W(4,1);ra(e,r);return r}function cv(e,r){if(r==null)r=tt(16*4+2);r._W(2,e.password?io(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function hv(){}function uv(){}function dv(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(g!=null&&f.dense==null)f.dense=g;var o=f.dense?[]:{};var l;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var v,p,m,b,w,k,T,A,E;var C=[];f.biff=12;f["!row"]=0;var S=0,y=false;var _=[];var x={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=x;O.arrayf=_;O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=O;if(n.Names)for(var R=0;R=b[0].s.r&&v.r<=b[0].e.r)if(w>=b[0].s.c&&w<=b[0].e.c){p.F=At(b[0]);y=true}}if(!y&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.rv.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r=e.s){I[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!F){F=true;_o(e.w/256)}xo(I[e.e+1])}break;case 161:o["!autofilter"]={ref:At(e)};break;case 476:o["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)o["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:u=true;break;case 36:u=false;break;case 37:h.push(g);u=true;break;case 38:h.pop();u=false;break;default:if(r.T){}else if(!u||f.WTF)throw new Error("Unexpected record 0x"+g.toString(16));}},f);delete f.supbooks;delete f["!row"];if(!o["!ref"]&&(c.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0)))o["!ref"]=At(l||c);if(f.sheetRows&&o["!ref"]){var M=Et(o["!ref"]);if(f.sheetRows<=+M.e.r){M.e.r=f.sheetRows-1;if(M.e.r>c.e.r)M.e.r=c.e.r;if(M.e.rc.e.c)M.e.c=c.e.c;if(M.e.c0)o["!merges"]=C;if(I.length>0)o["!cols"]=I;if(N.length>0)o["!rows"]=N;return o}function vv(e,r,t,a,n,i,s){if(r.v===undefined)return false;var f="";switch(r.t){case"b":f=r.v?"1":"0";break;case"d":r=ce(r);r.z=r.z||D._table[14];r.v=ee(oe(r.v));r.t="n";break;case"n":;case"e":f=""+r.v;break;default:f=r.v;break;}var o={r:t,c:a};o.s=yu(n.cellXfs,r,n);if(r.l)i["!links"].push([kt(o),r.l]);if(r.c)i["!comments"].push([kt(o),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){f=Eu(n.Strings,r.v,n.revStrings);o.t="s";o.v=f;if(s)it(e,18,Id(r,o));else it(e,7,Od(r,o))}else{o.t="str";if(s)it(e,17,Gd(r,o));else it(e,6,zd(r,o))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)it(e,13,Bd(r,o));else it(e,2,Md(r,o))}else{if(s)it(e,16,Pd(r,o));else it(e,5,Fd(r,o))}return true;case"b":o.t="b";if(s)it(e,15,Ed(r,o));else it(e,4,Td(r,o));return true;case"e":o.t="e";if(s)it(e,14,_d(r,o));else it(e,3,Sd(r,o));return true;}if(s)it(e,12,wd(r,o));else it(e,1,md(r,o));return true}function pv(e,r,t,a){var n=Et(r["!ref"]||"A1"),i,s="",f=[];it(e,145);var o=Array.isArray(r);var l=n.e.r;if(r["!rows"])l=Math.max(n.e.r,r["!rows"].length-1);for(var c=n.s.r;c<=l;++c){s=ht(c);cd(e,r,n,c);var h=false;if(c<=n.e.r)for(var u=n.s.c;u<=n.e.c;++u){if(c===n.s.r)f[u]=pt(u);i=f[u]+s;var d=o?(r[c]||[])[u]:r[i];if(!d){h=false;continue}h=vv(e,d,c,u,a,r,h)}}it(e,146)}function gv(e,r){if(!r||!r["!merges"])return;it(e,177,qd(r["!merges"].length));r["!merges"].forEach(function(r){it(e,176,Jd(r))});it(e,178)}function mv(e,r){if(!r||!r["!cols"])return;it(e,390);r["!cols"].forEach(function(r,t){if(r)it(e,60,av(t,r))});it(e,391)}function bv(e,r){if(!r||!r["!ref"])return;it(e,648);it(e,649,lv(Et(r["!ref"])));it(e,650)}function wv(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=Ya(t,-1,r[1].Target.replace(/#.*$/,""),za.HLINK);it(e,494,Qd(r,a))});delete r["!links"]}function kv(e,r,t,a){if(r["!comments"].length>0){var n=Ya(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",za.VML);it(e,551,Kt("rId"+n));r["!legacy"]=n}}function Tv(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:At(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Tt(i);if(f.s.r==f.e.r){f.e.r=Tt(r["!ref"]).e.r;i=At(f)}for(var o=0;o16383||l.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");l.e.c=Math.min(l.e.c,16383);l.e.r=Math.min(l.e.c,1048575)}s["!links"]=[];s["!comments"]=[];it(n,129);if(t.vbaraw||s["!outline"])it(n,147,pd(f,s["!outline"]));it(n,148,ud(l));Av(n,s,t.Workbook);Ev(n,s);mv(n,s,e,r,t);pv(n,s,e,r,t);Cv(n,s);Tv(n,s,t,e);gv(n,s);wv(n,s,a);if(s["!margins"])it(n,476,sv(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)bv(n,s);kv(n,s,e,a);it(n,130);return n.end()}za.CHART="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart";za.CHARTEX="http://schemas.microsoft.com/office/2014/relationships/chartEx";function yv(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Be((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function _v(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,o=0,l="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=yv(e);c.s.r=c.s.c=0;c.e.c=f;l=pt(f);r[0].forEach(function(e,t){s[l+ht(t)]={t:"n",v:e,z:r[1]};o=t});if(c.e.r0)s["!ref"]=At(c);return s}za.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";function xv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(Mu);if(f)zu(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Ov(e,r,t,a){var n=[Re,cr("chartsheet",null,{xmlns:gr[0],"xmlns:r":pr.r})];n[n.length]=cr("drawing",null,{"r:id":"rId1"});Ya(a,-1,"../drawings/drawing"+(e+1)+".xml",za.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Rv(e,r){e.l+=10;var t=It(e,r-10);return{name:t}}function Iv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;at(e,function o(e,a,l){switch(l){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(l);break;case 38:s.pop();break;default:if(a.T>0)s.push(l);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Nv(){var e=nt();it(e,129);it(e,130);return e.end()}var Fv=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var Dv=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var Pv=[];var Lv=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Mv(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Ke(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Uv(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Ke(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Bv(e){Uv(e.WBProps,Fv);Uv(e.CalcPr,Lv);Mv(e.WBView,Dv);Mv(e.Sheets,Pv);Tu.date1904=Ke(e.WBProps.date1904)}function Wv(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Ke(e.Workbook.WBProps.date1904)?"true":"false"}var Hv="][*?/\\".split("");function zv(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;Hv.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function Vv(e,r,t){e.forEach(function(a,n){zv(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Gv(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];Vv(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Fv.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Ke(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=Je(c.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete c[0];t.WBView.push(c);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Be(Je(e.slice(s,l)));t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"
":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Fv.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=cr("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:ze(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=cr("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=cr("definedName",ze(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Yv(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Yt(e,r-8);t.name=It(e);return t}function Kv(e,r){if(!r)r=tt(127);r._W(4,e.Hidden);r._W(4,e.iTabID);Kt(e.strRelID,r);Nt(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function Jv(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?It(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function qv(e,r){if(!r)r=tt(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);Gt(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Zv(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Qv(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=$t(e);var s=hu(e,0,t);var f=jt(e);e.l=a;var o={Name:i,Ptg:s};if(n<268435455)o.Sheet=n;if(f)o.Comment=f;return o}function ep(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];fg[16]={n:"BrtFRTArchID$",f:Zv};at(e,function f(e,o,l){switch(l){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=Qh(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[l,e];else s.push([l,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a.push(l);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(l);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(o.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+l.toString(16));}},r);Bv(t);t.Names=i;t.supbooks=s;return t}function rp(e,r){it(e,143);for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};it(e,156,Kv(n))}it(e,144)}function tp(r,t){if(!t)t=tt(127);for(var a=0;a!=4;++a)t._W(4,0);Nt("SheetJS",t);Nt(e.version,t);Nt(e.version,t);Nt("7262",t);return t.length>t.l?t.slice(0,t.l):t}function ap(e,r){if(!r)r=tt(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function np(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;it(e,135);it(e,158,ap(n));it(e,136)}function ip(e,r){var t=nt();it(t,131);it(t,128,tp());it(t,153,qv(e.Workbook&&e.Workbook.WBProps||null));np(t,e,r);rp(t,e,r);it(t,132);return t.end()}function sp(e,r,t){if(r.slice(-4)===".bin")return ep(e,t);return Xv(e,t)}function fp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return dv(e,a,t,n,i,s,f);return Wu(e,a,t,n,i,s,f)}function op(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Iv(e,a,t,n,i,s,f);return xv(e,a,t,n,i,s,f)}function lp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return pc(e,a,t,n,i,s,f);return gc(e,a,t,n,i,s,f)}function cp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return dc(e,a,t,n,i,s,f);return vc(e,a,t,n,i,s,f)}function hp(e,r,t,a){if(r.slice(-4)===".bin")return sl(e,t,a);return Vo(e,t,a)}function up(e,r,t){return _l(e,t)}function dp(e,r,t){if(r.slice(-4)===".bin")return Bf(e,t);return Pf(e,t)}function vp(e,r,t){if(r.slice(-4)===".bin")return fc(e,t);return rc(e,t)}function pp(e,r,t){if(r.slice(-4)===".bin")return Yl(e,r,t);return Xl(e,r,t)}function gp(e,r,t,a){if(t.slice(-4)===".bin")return Jl(e,r,t,a);return Kl(e,r,t,a)}function mp(e,r,t){if(r.slice(-4)===".bin")return Gl(e,r,t);return Ml(e,r,t)}function bp(e,r,t){return(r.slice(-4)===".bin"?ip:$v)(e,t)}function wp(e,r,t,a,n){return(r.slice(-4)===".bin"?Sv:fd)(e,t,a,n)}function kp(e,r,t,a,n){return(r.slice(-4)===".bin"?Nv:Ov)(e,t,a,n)}function Tp(e,r,t){return(r.slice(-4)===".bin"?ml:Go)(e,t)}function Ap(e,r,t){return(r.slice(-4)===".bin"?zf:Mf)(e,t)}function Ep(e,r,t){return(r.slice(-4)===".bin"?oc:tc)(e,t)}function Cp(e){return(e.slice(-4)===".bin"?jl:Ul)()}var Sp=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var yp=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function _p(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(Sp),i,s,f,o;if(n)for(o=0;o!=n.length;++o){i=n[o].match(yp);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")f="xmlns"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function xp(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(Sp),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(yp);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t; -}function Op(e,r){var t=L[e]||Be(e);if(t==="General")return D._general(r);return D.format(t,r)}function Rp(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Ke(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=oe(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[Be(r)]=n}function Ip(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Fa[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else e.w=D._general(e.v)}else e.w=Op(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=L[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&D.is_date(n)){var i=D.parse_date_code(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function Np(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=Fo[a.Pattern]||a.Pattern}}e[r.ID]=r}function Fp(e,r,t,a,n,i,s,f,o,l){var c="General",h=a.StyleID,u={};l=l||{};var d=[];var v=0;if(h===undefined&&f)h=f.StyleID;if(h===undefined&&s)h=s.StyleID;while(i[h]!==undefined){if(i[h].nf)c=i[h].nf;if(i[h].Interior)d.push(i[h].Interior);if(!i[h].Parent)break;h=i[h].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=Ke(e);break;case"String":a.t="s";a.r=$e(Be(e));a.v=e.indexOf("<")>-1?Be(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(oe(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=Be(e);else if(a.v<60)a.v=a.v-1;if(!c||c=="General")c="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=Da[e];if(l.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=$e(r||e)}break;}Ip(a,c,l);if(l.cellFormula!==false){if(a.Formula){var p=Be(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=mc(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=mc("RC:RC",n);else if(a.ArrayRange){a.F=mc(a.ArrayRange,n);o.push([Et(a.F),a.F])}}else{for(v=0;v=o[v][0].s.r&&n.r<=o[v][0].e.r)if(n.c>=o[v][0].s.c&&n.c<=o[v][0].e.c)a.F=o[v][1]}}if(l.cellStyles){d.forEach(function(e){if(!u.patternType&&e.patternType)u.patternType=e.patternType});a.s=u}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Dp(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Pp(e,r){var t=r||{};P(D);var n=d(dr(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=Je(n)}var i=n.slice(0,1024).toLowerCase(),s=false;i=i.replace(/".*?"/g,"");if((i.indexOf(">")&1023)>Math.min(i.indexOf(",")&1023,i.indexOf(";")&1023)){var f=ce(t);f.type="string";return Af.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return xg.to_workbook(n,t);var o;var l=[],h;if(g!=null&&t.dense==null)t.dense=g;var u={},v=[],p=t.dense?[]:{},m="";var b={},w={},k={};var T=_p(''),A=0;var E=0,C=0;var S={s:{r:2e6,c:2e6},e:{r:0,c:0}};var y={},_={};var x="",O=0;var R=[];var I={},N={},F=0,M=[];var U=[],B={};var W=[],H,z=false;var V=[];var G=[],j={},X=0,$=0;var Y={Sheets:[],WBProps:{date1904:false}},K={};vr.lastIndex=0;n=n.replace(//gm,"");var J="";while(o=vr.exec(n))switch(o[3]=(J=o[3]).toLowerCase()){case"data":if(J=="data"){if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break}if(l[l.length-1][1])break;if(o[1]==="/")Fp(n.slice(A,o.index),x,T,l[l.length-1][0]=="comment"?B:w,{c:E,r:C},y,W[E],k,V,t);else{x="";T=_p(o[0]);A=o.index+o[0].length}break;case"cell":if(o[1]==="/"){if(U.length>0)w.c=U;if((!t.sheetRows||t.sheetRows>C)&&w.v!==undefined){if(t.dense){if(!p[C])p[C]=[];p[C][E]=w}else p[pt(E)+ht(C)]=w}if(w.HRef){w.l={Target:Be(w.HRef)};if(w.HRefScreenTip)w.l.Tooltip=w.HRefScreenTip;delete w.HRef;delete w.HRefScreenTip}if(w.MergeAcross||w.MergeDown){X=E+(parseInt(w.MergeAcross,10)|0);$=C+(parseInt(w.MergeDown,10)|0);R.push({s:{c:E,r:C},e:{c:X,r:$}})}if(!t.sheetStubs){if(w.MergeAcross)E=X+1;else++E}else if(w.MergeAcross||w.MergeDown){for(var q=E;q<=X;++q){for(var Z=C;Z<=$;++Z){if(q>E||Z>C){if(t.dense){if(!p[Z])p[Z]=[];p[Z][q]={t:"z"}}else p[pt(q)+ht(Z)]={t:"z"}}}}E=X+1}else++E}else{w=xp(o[0]);if(w.Index)E=+w.Index-1;if(ES.e.c)S.e.c=E;if(o[0].slice(-2)==="/>")++E;U=[]}break;case"row":if(o[1]==="/"||o[0].slice(-2)==="/>"){if(CS.e.r)S.e.r=C;if(o[0].slice(-2)==="/>"){k=_p(o[0]);if(k.Index)C=+k.Index-1}E=0;++C}else{k=_p(o[0]);if(k.Index)C=+k.Index-1;j={};if(k.AutoFitHeight=="0"||k.Height){j.hpx=parseInt(k.Height,10);j.hpt=Io(j.hpx);G[C]=j}if(k.Hidden=="1"){j.hidden=true;G[C]=j}}break;case"worksheet":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));v.push(m);if(S.s.r<=S.e.r&&S.s.c<=S.e.c){p["!ref"]=At(S);if(t.sheetRows&&t.sheetRows<=S.e.r){p["!fullref"]=p["!ref"];S.e.r=t.sheetRows-1;p["!ref"]=At(S)}}if(R.length)p["!merges"]=R;if(W.length>0)p["!cols"]=W;if(G.length>0)p["!rows"]=G;u[m]=p}else{S={s:{r:2e6,c:2e6},e:{r:0,c:0}};C=E=0;l.push([o[3],false]);h=_p(o[0]);m=Be(h.Name);p=t.dense?[]:{};R=[];V=[];G=[];K={name:m,Hidden:0};Y.Sheets.push(K)}break;case"table":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].slice(-2)=="/>")break;else{b=_p(o[0]);l.push([o[3],false]);W=[];z=false}break;case"style":if(o[1]==="/")Np(y,_,t);else _=_p(o[0]);break;case"numberformat":_.nf=Be(_p(o[0]).Format||"General");if(L[_.nf])_.nf=L[_.nf];for(var Q=0;Q!=392;++Q)if(D._table[Q]==_.nf)break;if(Q==392)for(Q=57;Q!=392;++Q)if(D._table[Q]==null){D.load(_.nf,Q);break}break;case"column":if(l[l.length-1][0]!=="table")break;H=_p(o[0]);if(H.Hidden){H.hidden=true;delete H.Hidden}if(H.Width)H.wpx=parseInt(H.Width,10);if(!z&&H.wpx>10){z=true;Ao=wo;for(var ee=0;ee0)ae.Sheet=Y.Sheets.length-1;Y.Names.push(ae);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")x+=n.slice(O,o.index);else O=o.index+o[0].length;break;case"interior":if(!t.cellStyles)break;_.Interior=_p(o[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Tn(I,J,n.slice(F,o.index));else F=o.index+o[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else l.push([o[3],false]);break;case"comment":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));Dp(B);U.push(B)}else{l.push([o[3],false]);h=_p(o[0]);B={a:h.Author}}break;case"autofilter":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/"){var ne=_p(o[0]);p["!autofilter"]={ref:mc(ne.Range).replace(/\$/g,"")};l.push([o[3],true])}break;case"name":break;case"datavalidation":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else{if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break;case"null":break;default:if(l.length==0&&o[3]=="document")return Ug(n,t);if(l.length==0&&o[3]=="uof")return Ug(n,t);var ie=true;switch(l[l.length-1][0]){case"officedocumentsettings":switch(o[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:ie=false;}break;case"componentoptions":switch(o[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:ie=false;}break;case"excelworkbook":switch(o[3]){case"date1904":Y.WBProps.date1904=true;break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex":break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:ie=false;}break;case"workbookoptions":switch(o[3]){case"owcversion":break;case"height":break;case"width":break;default:ie=false;}break;case"worksheetoptions":switch(o[3]){case"visible":if(o[0].slice(-2)==="/>"){}else if(o[1]==="/")switch(n.slice(F,o.index)){case"SheetHidden":K.Hidden=1;break;case"SheetVeryHidden":K.Hidden=2;break;}else F=o.index+o[0].length;break;case"header":if(!p["!margins"])Su(p["!margins"]={},"xlml");if(!isNaN(+Pe(o[0]).Margin))p["!margins"].header=+Pe(o[0]).Margin;break;case"footer":if(!p["!margins"])Su(p["!margins"]={},"xlml");if(!isNaN(+Pe(o[0]).Margin))p["!margins"].footer=+Pe(o[0]).Margin;break;case"pagemargins":var se=Pe(o[0]);if(!p["!margins"])Su(p["!margins"]={},"xlml");if(!isNaN(+se.Top))p["!margins"].top=+se.Top;if(!isNaN(+se.Left))p["!margins"].left=+se.Left;if(!isNaN(+se.Right))p["!margins"].right=+se.Right;if(!isNaN(+se.Bottom))p["!margins"].bottom=+se.Bottom;break;case"displayrighttoleft":if(!Y.Views)Y.Views=[];if(!Y.Views[0])Y.Views[0]={};Y.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:ie=false;}break;case"pivottable":;case"pivotcache":switch(o[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:ie=false;}break;case"pagebreaks":switch(o[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:ie=false;}break;case"autofilter":switch(o[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:ie=false;}break;case"querytable":switch(o[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:ie=false;}break;case"datavalidation":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:ie=false;}break;case"sorting":;case"conditionalformatting":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:ie=false;}break;case"mapinfo":;case"schema":;case"data":switch(o[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:ie=false;}break;case"smarttags":break;default:ie=false;break;}if(ie)break;if(o[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+o[3]+"|"+l.join("|");if(l[l.length-1][0]==="customdocumentproperties"){if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Rp(N,J,M,n.slice(F,o.index));else{M=o;F=o.index+o[0].length}break}if(t.WTF)throw"Unrecognized tag: "+o[3]+"|"+l.join("|");}var fe={};if(!t.bookSheets&&!t.bookProps)fe.Sheets=u;fe.SheetNames=v;fe.Workbook=Y;fe.SSF=D.get_table();fe.Props=I;fe.Custprops=N;return fe}function Lp(e,r){Gg(r=r||{});switch(r.type||"base64"){case"base64":return Pp(b.decode(e),r);case"binary":;case"buffer":;case"file":return Pp(e,r);case"array":return Pp(_(e),r);}}function Mp(e,r){var t=[];if(e.Props)t.push(An(e.Props,r));if(e.Custprops)t.push(En(e.Props,e.Custprops,r));return t.join("")}function Up(){return""}function Bp(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(cr("NumberFormat",null,{"ss:Format":ze(D._table[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(cr("Style",a.join(""),n))});return cr("Styles",t.join(""))}function Wp(e){return cr("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+wc(e.Ref,{r:0,c:0})})}function Hp(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(cr("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(cr("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(cr("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(cr("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(or("ProtectContents","True"));if(e["!protect"].objects)n.push(or("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(or("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(or("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(or("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return cr("WorksheetOptions",n.join(""),{xmlns:mr.x})}function Gp(e){return e.map(function(e){var r=Ye(e.t||"");var t=cr("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return cr("Comment",t,{"ss:Author":e.a})}).join("")}function jp(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+ze(wc(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=wt(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(o.r==s.r?"":"["+(o.r-s.r)+"]")+"C"+(o.c==s.c?"":"["+(o.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=ze(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=ze(e.l.Tooltip)}if(t["!merges"]){var l=t["!merges"];for(var c=0;c!=l.length;++c){if(l[c].s.c!=s.c||l[c].s.r!=s.r)continue;if(l[c].e.c>l[c].s.c)f["ss:MergeAcross"]=l[c].e.c-l[c].s.c;if(l[c].e.r>l[c].s.r)f["ss:MergeDown"]=l[c].e.r-l[c].s.r}}var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number";u=String(e.v);break;case"b":h="Boolean";u=e.v?"1":"0";break;case"e":h="Error";u=Fa[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||D._table[14];break;case"s":h="String";u=Xe(e.v||"");break;}var d=yu(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?u:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Gp(e.c);return cr("Cell",p,f)}function Xp(e,r){var t='"}function $p(e,r,t,a){if(!e["!ref"])return"";var n=Et(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){xo(e);var t=!!e.width;var a=Cu(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Eo(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(cr("Column",null,n))});var o=Array.isArray(e);for(var l=n.s.r;l<=n.e.r;++l){var c=[Xp(l,(e["!rows"]||[])[l])];for(var h=n.s.c;h<=n.e.c;++h){var u=false;for(s=0;s!=i.length;++s){if(i[s].s.c>h)continue;if(i[s].s.r>l)continue;if(i[s].e.c");if(c.length>2)f.push(c.join(""))}return f.join("")}function Yp(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?zp(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?$p(i,r,e,t):"";if(s.length>0)a.push("
"+s+"
");a.push(Vp(i,r,e,t));return a.join("")}function Kp(e,r){if(!r)r={};if(!e.SSF)e.SSF=D.get_table();if(e.SSF){P(D);D.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(Mp(e,r));t.push(Up(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=ca(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var qp=[60,1084,2066,2165,2175];function Zp(e,r,t,a,n){var i=a;var s=[];var f=t.slice(t.l,t.l+i);if(n&&n.enc&&n.enc.insitu&&f.length>0)switch(e){case 9:;case 521:;case 1033:;case 2057:;case 47:;case 405:;case 225:;case 406:;case 312:;case 404:;case 10:break;case 133:break;default:n.enc.insitu(f);}s.push(f);t.l+=i;var o=Vr(t,t.l),l=og[o];var c=0;while(l!=null&&qp.indexOf(o)>-1){i=Vr(t,t.l+2);c=t.l+4;if(o==2066)c+=4;else if(o==2165||o==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;l=og[o=Vr(t,t.l)]}var h=I(s);et(h,0);var u=0;h.lens=[];for(var d=0;d1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)x(e,r,t);delete r.ixfe;delete r.XF;u=e;d=kt(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==J)throw new Error("rt mismatch: "+Q+"!="+J);if(Z.r==12){e.l+=10;q-=10}}var ee={};if(J===10)ee=Z.f(e,q,R);else ee=Zp(J,Z,e,q,R);if(z==0&&[9,521,1033,2057].indexOf(H)===-1)continue;switch(J){case 34:t.opts.Date1904=S.WBProps.date1904=ee;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!R.enc)e.l=0;R.enc=ee;if(!r.password)throw new Error("File is password-protected");if(ee.valid==null)throw new Error("Encryption scheme unsupported");if(!ee.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=ee;break;case 91:break;case 66:var re=Number(ee);switch(re){case 21010:re=1200;break;case 32768:re=1e4;break;case 32769:re=1252;break;}o(R.codepage=re);$=true;break;case 317:R.rrtabid=ee;break;case 25:R.winlocked=ee;break;case 96:break;case 218:break;case 352:break;case 2202:break;case 439:t.opts["RefreshAll"]=ee;break;case 12:t.opts["CalcCount"]=ee;break;case 16:t.opts["CalcDelta"]=ee;break;case 17:t.opts["CalcIter"]=ee;break;case 13:t.opts["CalcMode"]=ee;break;case 14:t.opts["CalcPrecision"]=ee;break;case 95:t.opts["CalcSaveRecalc"]=ee;break;case 15:R.CalcRefMode=ee;break;case 94:break;case 2211:t.opts.FullCalc=ee;break;case 129:if(ee.fDialog)n["!type"]="dialog";if(!ee.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!ee.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 224:E.push(ee);break;case 255:break;case 2147:break;case 2214:break;case 233:break;case 430:W.push([ee]);W[W.length-1].XTI=[];break;case 35:;case 547:W[W.length-1].push(ee);break;case 11:;case 523:break;case 24:;case 536:X={Name:ee.Name,Ref:Qh(ee.rgce,s,null,W,R)};if(ee.itab>0)X.Sheet=ee.itab-1;W.names.push(X);if(!W[0]){W[0]=[];W[0].XTI=[]}W[W.length-1].push(ee);if(ee.Name=="_xlnm._FilterDatabase"&&ee.itab>0)if(ee.rgce&&ee.rgce[0]&&ee.rgce[0][0]&&ee.rgce[0][0][0]=="PtgArea3d")j[ee.itab-1]={ref:At(ee.rgce[0][0][1][2])};break;case 22:R.ExternCount=ee;break;case 23:if(W.length==0){W[0]=[];W[0].XTI=[]}W[W.length-1].XTI=W[W.length-1].XTI.concat(ee);W.XTI=W.XTI.concat(ee);break;case 2196:if(R.biff<8)break;if(X!=null)X.Comment=ee[1];break;case 18:n["!protect"]=ee;break;case 19:if(ee!==0&&R.WTF)console.error("Password verifier: "+ee);break;case 431:;case 444:break;case 133:{i[ee.pos]=ee;R.snames.push(ee.name)}break;case 10:{if(--z)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=At(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var te=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=At(s);s.e.r=te}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(F.length>0)n["!objects"]=F;if(P.length>0)n["!cols"]=P;if(L.length>0)n["!rows"]=L;S.Sheets.push(y)}if(c==="")h=n;else a[c]=n;n=r.dense?[]:{}}break;case 9:;case 521:;case 1033:;case 2057:{if(R.biff===8)R.biff={9:2,521:3,1033:4}[J]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[ee.BIFFVer]||8;R.biffguess=ee.BIFFVer==0;if(ee.BIFFVer==0&&ee.dt==4096){R.biff=5;$=true;o(R.codepage=28591)}if(R.biff==8&&ee.BIFFVer==0&&ee.dt==16)R.biff=2;if(z++)break;n=r.dense?[]:{};if(R.biff<8&&!$){$=true;o(R.codepage=r.codepage||1252)}if(R.biff<5||ee.BIFFVer==0&&ee.dt==4096){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var ae={pos:e.l-q,name:c};i[ae.pos]=ae;R.snames.push(c)}else c=(i[K]||{name:""}).name;if(ee.dt==32)n["!type"]="chart";if(ee.dt==64)n["!type"]="macro";N=[];F=[];R.arrayf=k=[];P=[];L=[];M=U=0;B=false;y={Hidden:(i[K]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n[ee.r]||[])[ee.c]:n[kt({c:ee.c,r:ee.r})])++ee.c;T={ixfe:ee.ixfe,XF:E[ee.ixfe]||{},v:ee.val,t:"n"};if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ee.c,r:ee.r},T,r)}break;case 5:;case 517:{T={ixfe:ee.ixfe,XF:E[ee.ixfe],v:ee.val,t:ee.t};if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ee.c,r:ee.r},T,r)}break;case 638:{T={ixfe:ee.ixfe,XF:E[ee.ixfe],v:ee.rknum,t:"n"};if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ee.c,r:ee.r},T,r)}break;case 189:{for(var ne=ee.c;ne<=ee.C;++ne){var ie=ee.rkrec[ne-ee.c][0];T={ixfe:ie,XF:E[ie],v:ee.rkrec[ne-ee.c][1],t:"n"};if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ne,r:ee.r},T,r)}}break;case 6:;case 518:;case 1030:{if(ee.val=="String"){f=ee;break}T=eg(ee.val,ee.cell.ixfe,ee.tt);T.XF=E[T.ixfe];if(r.cellFormula){var se=ee.formula;if(se&&se[0]&&se[0][0]&&se[0][0][0]=="PtgExp"){var fe=se[0][0][1][0],oe=se[0][0][1][1];var le=kt({r:fe,c:oe});if(w[le])T.f=""+Qh(ee.formula,s,ee.cell,W,R);else T.F=((r.dense?(n[fe]||[])[oe]:n[le])||{}).F}else T.f=""+Qh(ee.formula,s,ee.cell,W,R)}if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O(ee.cell,T,r);f=ee}break;case 7:;case 519:{if(f){f.val=ee;T=eg(ee,f.cell.ixfe,"s"); -T.XF=E[T.ixfe];if(r.cellFormula){T.f=""+Qh(f.formula,s,f.cell,W,R)}if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O(f.cell,T,r);f=null}else throw new Error("String record expects Formula")}break;case 33:;case 545:{k.push(ee);var ce=kt(ee[0].s);v=r.dense?(n[ee[0].s.r]||[])[ee[0].s.c]:n[ce];if(r.cellFormula&&v){if(!f)break;if(!ce||!v)break;v.f=""+Qh(ee[1],s,ee[0],W,R);v.F=At(ee[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[kt(f.cell)]=ee[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[kt(f.cell)];(v||{}).f=""+Qh(ee[0],s,u,W,R)}}break;case 253:T=eg(l[ee.isst].t,ee.ixfe,"s");if(l[ee.isst].h)T.h=l[ee.isst].h;T.XF=E[T.ixfe];if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ee.c,r:ee.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:ee.ixfe,XF:E[ee.ixfe],t:"z"};if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ee.c,r:ee.r},T,r)}break;case 190:if(r.sheetStubs){for(var he=ee.c;he<=ee.C;++he){var ue=ee.ixfe[he-ee.c];T={ixfe:ue,XF:E[ue],t:"z"};if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:he,r:ee.r},T,r)}}break;case 214:;case 516:;case 4:T=eg(ee.val,ee.ixfe,"s");T.XF=E[T.ixfe];if(V>0)T.z=G[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:ee.c,r:ee.r},T,r);break;case 0:;case 512:{if(z===1)s=ee}break;case 252:{l=ee}break;case 1054:{if(R.biff==4){G[V++]=ee[1];for(var de=0;de=163)D.load(ee[1],V+163)}else D.load(ee[1],ee[0])}break;case 30:{G[V++]=ee;for(var ve=0;ve=163)D.load(ee,V+163)}break;case 229:N=N.concat(ee);break;case 93:F[ee.cmo[0]]=R.lastobj=ee;break;case 438:R.lastobj.TxO=ee;break;case 127:R.lastobj.ImData=ee;break;case 440:{for(b=ee[0].s.r;b<=ee[0].e.r;++b)for(m=ee[0].s.c;m<=ee[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[kt({c:m,r:b})];if(v)v.l=ee[1]}}break;case 2048:{for(b=ee[0].s.r;b<=ee[0].e.r;++b)for(m=ee[0].s.c;m<=ee[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[kt({c:m,r:b})];if(v&&v.l)v.l.Tooltip=ee[1]}}break;case 28:{if(R.biff<=5&&R.biff>=2)break;v=r.dense?(n[ee[0].r]||[])[ee[0].c]:n[kt(ee[0])];var pe=F[ee[2]];if(!v){if(r.dense){if(!n[ee[0].r])n[ee[0].r]=[];v=n[ee[0].r][ee[0].c]={t:"z"}}else{v=n[kt(ee[0])]={t:"z"}}s.e.r=Math.max(s.e.r,ee[0].r);s.s.r=Math.min(s.s.r,ee[0].r);s.e.c=Math.max(s.e.c,ee[0].c);s.s.c=Math.min(s.s.c,ee[0].c)}if(!v.c)v.c=[];p={a:ee[1],t:pe.TxO.t};v.c.push(p)}break;case 4188:break;case 2173:Ll(E[ee.ixfe],ee.ext);break;case 85:M=ee;break;case 549:U=ee[1];break;case 125:{if(!R.cellStyles)break;while(ee.e>=ee.s){P[ee.e--]={width:ee.w/256,level:ee.level||0,hidden:!!(ee.flags&1)};if(!B){B=true;_o(ee.w/256)}xo(P[ee.e+1])}}break;case 520:{var ge={};if(ee.level!=null){L[ee.r]=ge;ge.level=ee.level}if(ee.hidden){L[ee.r]=ge;ge.hidden=true}if(ee.hpt){L[ee.r]=ge;ge.hpt=ee.hpt;ge.hpx=No(ee.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])Su(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[J]]=ee;break;case 29:break;case 161:if(!n["!margins"])Su(n["!margins"]={});n["!margins"].header=ee.header;n["!margins"].footer=ee.footer;break;case 574:if(ee.RTL)S.Views[0].RTL=true;break;case 20:;case 21:;case 131:;case 132:;case 77:;case 171:;case 148:;case 215:;case 450:;case 176:;case 177:;case 178:;case 256:;case 180:;case 205:;case 151:;case 135:;case 197:;case 181:;case 241:;case 2050:;case 2152:;case 2151:;case 2161:;case 2162:;case 2168:;case 2167:break;case 140:A=ee;break;case 449:;case 153:;case 4192:;case 4200:;case 4198:;case 49:;case 2172:;case 659:;case 2194:break;case 146:C=ee;break;case 2198:I=ee;break;case 221:;case 99:break;case 2169:;case 566:;case 2190:;case 2191:;case 2192:;case 213:;case 227:;case 81:;case 2148:;case 437:;case 82:;case 182:;case 251:;case 247:;case 240:;case 242:;case 245:;case 244:;case 174:;case 80:;case 2156:;case 42:;case 43:;case 51:;case 89:;case 90:;case 160:{};case 2146:{};case 445:{};case 211:{};case 442:{if(!c)S.WBProps.CodeName=ee||"ThisWorkbook";else y.CodeName=ee||y.name};case 2199:{};case 2059:;case 239:;case 222:;case 2189:;case 446:;case 434:;case 4177:;case 4099:;case 4109:break;case 2166:;case 220:;case 2051:;case 2058:;case 2052:;case 4174:;case 432:;case 433:;case 2170:;case 2171:;case 448:;case 4097:;case 225:;case 193:;case 226:;case 353:;case 156:break;case 61:;case 141:;case 130:;case 128:;case 425:;case 426:;case 426:;case 65:;case 4195:;case 4147:;case 4147:;case 2130:;case 2131:break;case 4146:;case 4122:;case 4125:;case 4129:;case 4126:;case 4166:;case 2205:;case 2215:;case 4130:;case 4124:;case 2206:;case 2207:;case 4103:;case 4106:;case 4098:;case 4154:;case 4191:;case 4116:;case 2128:;case 4149:;case 4196:;case 4118:;case 4170:;case 4171:;case 4102:;case 4165:;case 4134:;case 4128:;case 4194:;case 4189:;case 4164:;case 4132:;case 4133:;case 2134:;case 2155:;case 4117:;case 4163:;case 4121:;case 4123:;case 4107:;case 4105:;case 2132:;case 2133:;case 4176:;case 4135:;case 4197:;case 4108:;case 2135:;case 4120:;case 4119:;case 4159:;case 4161:;case 4175:;case 4127:;case 2064:;case 2136:;case 2137:;case 4168:;case 2213:;case 2249:;case 2250:;case 2251:;case 429:;case 2055:;case 2054:;case 2050:;case 2053:;case 155:;case 158:;case 157:;case 2174:;case 2164:;case 144:;case 2197:;case 2212:;case 236:;case 235:;case 237:;case 2049:;case 2240:;case 2204:;case 2150:;case 2187:;case 27:;case 26:;case 64:;case 2203:;case 2188:;case 60:;case 2175:;case 2138:;case 2129:;case 234:;case 4158:;case 4160:;case 4157:;case"Intl":;case"CoordList":;case"SerAuxErrBar":;case 69:;case 31:;case 50:;case 67:;case 579:;case 1091:;case 68:;case 86:;case 8:;case 62:;case 175:;case 437:;case 4156:;case 2154:;case 441:;case 4193:;case 4199:;case 2067:;case 149:;case 154:;case 194:;case 152:;case 2241:;case 2242:;case 319:;case 1048:;case 191:;case 192:;case 52:;case 2262:break;default:if(r.WTF)throw"Unrecognized Record 0x"+J.toString(16);}}else e.l+=q}t.SheetNames=Y(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&h["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=h}else t.Preamble=h;if(t.Sheets)j.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=l;t.SSF=D.get_table();if(R.enc)t.Encryption=R.enc;if(I)t.Themes=I;t.Metadata={};if(A!==undefined)t.Metadata.Country=A;if(W.names.length>0)S.Names=W.names;t.Workbook=S;return t}var tg={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function ag(e,r,t){var a=z.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Gn(a,Ca,tg.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=z.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var o=Gn(f,Sa,tg.SI);for(var l in o)if(r[l]==null)r[l]=o[l]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){hn(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function ng(e,r){var t=[],a=[],n=[];var i=0,s;if(e.Props){s=Y(e.Props);for(i=0;i-1)continue;if(n[i][1]==null)continue;f.push(n[i])}if(a.length)z.utils.cfb_add(r,"/SummaryInformation",jn(a,tg.SI,_a,Sa));if(t.length||f.length)z.utils.cfb_add(r,"/DocumentSummaryInformation",jn(t,tg.DSI,ya,Ca,f.length?f:null,tg.UDI))}function ig(e,r){if(!r)r={};Gg(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(z.find(e,"/encryption"))throw new Error("File is password-protected");t=z.find(e,"!CompObj");a=z.find(e,"/Workbook")||z.find(e,"/Book")}else{switch(r.type){case"base64":e=S(b.decode(e));break;case"binary":e=S(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}et(e,0);a={content:e}}var n;var i;if(t)Jp(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=w?"buffer":"array";if(a&&a.content)n=rg(a.content,r);else if((i=z.find(e,"PerfectOffice_MAIN"))&&i.content)n=Cf.to_workbook(i.content,(r.type=f,r));else if((i=z.find(e,"NativeContent_MAIN"))&&i.content)n=Cf.to_workbook(i.content,(r.type=f,r));else if((i=z.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&z.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=cc(e)}var o={};if(e.FullPaths)ag(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function sg(e,r){var t=r||{};var a=z.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}z.utils.cfb_add(a,n,_g(e,t));if(t.biff==8&&(e.Props||e.Custprops))ng(e,a);if(t.biff==8&&e.vbaraw)hc(a,z.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var fg={0:{f:od},1:{f:gd},2:{f:Ld},3:{f:Cd},4:{f:kd},5:{f:Nd},6:{f:Hd},7:{f:xd},8:{f:Yd},9:{f:$d},10:{f:jd},11:{f:Xd},12:{f:bd},13:{f:Ud},14:{f:yd},15:{f:Ad},16:{f:Dd},17:{f:Vd},18:{f:Rd},19:{f:Pt},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:Qv},40:{},42:{},43:{f:$o},44:{f:jo},45:{f:qo},46:{f:tl},47:{f:Qo},48:{},49:{f:Ot},50:{},51:{},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:Qs},62:{f:Wd},63:{f:$l},64:{f:hv},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:rt,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:fv},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:vd},148:{f:hd,p:16},151:{f:ev},152:{},153:{f:Jv},154:{},155:{},156:{f:Yv},157:{},158:{},159:{T:1,f:Uf},160:{T:-1},161:{T:1,f:ea},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Kd},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Bl},336:{T:-1},337:{T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Yt},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Rs},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:rv},427:{f:tv},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:iv},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:dd},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:Zd},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Yt},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:ic},633:{T:1},634:{T:-1},635:{T:1,f:ac},636:{T:-1},637:{f:Mt},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:Rv},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:uv},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}};var og={6:{f:su},10:{f:Xn},12:{f:qn},13:{f:qn},14:{f:Kn},15:{f:Kn},16:{f:ta},17:{f:Kn},18:{f:Kn},19:{f:qn},20:{f:Ss},21:{f:Ss},23:{f:Rs},24:{f:Os},25:{f:Kn},26:{},27:{},28:{f:Ms},29:{},34:{f:Kn},35:{f:_s},38:{f:ta},39:{f:ta},40:{f:ta},41:{f:ta},42:{f:Kn},43:{f:Kn},47:{f:ho},49:{f:ts},51:{f:qn},60:{},61:{f:qi},64:{f:Kn},65:{f:rs},66:{f:qn},77:{},80:{},81:{},82:{},85:{f:qn},89:{},90:{},91:{},92:{f:Bi},93:{f:Ws},94:{},95:{f:Kn},96:{},97:{},99:{f:Kn},125:{f:Qs},128:{f:ws},129:{f:Hi},130:{f:qn},131:{f:Kn},132:{f:Kn},133:{f:zi},134:{},140:{f:Ys},141:{f:qn},144:{},146:{f:qs},151:{},152:{},153:{},154:{},155:{},156:{f:qn},157:{},158:{},160:{f:sf},161:{f:rf},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:vs},190:{f:ps},193:{f:Xn},197:{},198:{},199:{},200:{},201:{},202:{f:Kn},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:qn},220:{},221:{f:Kn},222:{},224:{f:ms},225:{f:Ui},226:{f:Xn},227:{},229:{f:Us},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:Gi},253:{f:ns},255:{f:Xi},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:Qn},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:Kn},353:{f:Xn},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:ys},431:{f:Kn},432:{},433:{},434:{},437:{},438:{f:Vs},439:{f:Kn},440:{f:Gs},441:{},442:{f:si},443:{},444:{f:qn},445:{},446:{},448:{f:Xn},449:{f:Ki,r:2},450:{f:Xn},512:{f:hs},513:{f:nf},515:{f:Es},516:{f:ss},517:{f:Ts},519:{f:ff},520:{f:$i},523:{},545:{f:Ds},549:{f:Ji},566:{},574:{f:Qi},638:{f:ds},659:{},1048:{},1054:{f:os},1084:{},1212:{f:Fs},2048:{f:Xs},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Li},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Xn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Zs,r:12},2173:{f:Pl,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Kn,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:Ns,r:12},2197:{},2198:{f:Ol,r:12},2199:{},2200:{},2201:{},2202:{f:Ps,r:12},2203:{f:Xn},2204:{},2205:{},2206:{},2207:{},2211:{f:Yi},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:qn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:tf},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:Js},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:hs},1:{},2:{f:uf},3:{f:cf},4:{f:lf},5:{f:Ts},7:{f:vf},8:{},9:{f:Li},11:{},22:{f:qn},30:{f:cs},31:{},32:{},33:{f:Ds},36:{},37:{f:Ji},50:{f:pf},62:{},52:{},67:{},68:{f:qn},69:{},86:{},126:{},127:{f:of},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:gf},223:{},234:{},354:{},421:{},518:{f:su},521:{f:Li},536:{f:Os},547:{f:_s},561:{},579:{},1030:{f:su},1033:{f:Li},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function lg(e,r,t,a){var n=r;if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Wr(t))e.push(t)}function cg(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return lg(e,r,t,n);var i=r;if(isNaN(i))return;var s=t.parts||[],f=0;var o=0,l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,l);e.push(t.slice(o,o+l));o+=l;while(o=0&&n<65536)lg(e,2,df(t,a,n));else lg(e,3,hf(t,a,n));return;case"b":;case"e":lg(e,5,ug(t,a,r.v,r.t));return;case"s":;case"str":lg(e,4,dg(t,a,(r.v||"").slice(0,255)));return;}lg(e,1,hg(null,t,a))}function pg(e,r,t,a){var n=Array.isArray(r);var i=Et(r["!ref"]||"A1"),s,f="",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=At(i)}for(var l=i.s.r;l<=i.e.r;++l){f=ht(l);for(var c=i.s.c;c<=i.e.c;++c){if(l===i.s.r)o[c]=pt(c);s=o[c]+f;var h=n?(r[l]||[])[c]:r[s];if(!h)continue;vg(e,h,l,c,a)}}}function gg(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=nt();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV16384");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}lg(a,2057,Mi(t,16,r));lg(a,13,Zn(1));lg(a,12,Zn(100));lg(a,15,Jn(true));lg(a,17,Jn(false));lg(a,16,aa(.001));lg(a,95,Jn(true));lg(a,42,Jn(false));lg(a,43,Jn(false));lg(a,130,Zn(1));lg(a,128,ks([0,0]));lg(a,131,Jn(false));lg(a,132,Jn(false));if(l)Ag(a,i["!cols"],i);lg(a,512,us(d,r));if(l)i["!links"]=[];for(var p=d.s.r;p<=d.e.r;++p){h=ht(p);for(var g=d.s.c;g<=d.e.c;++g){if(p===d.s.r)u[g]=pt(g);c=u[g]+h;var m=o?(i[p]||[])[g]:i[c];if(!m)continue;Eg(a,m,p,g,r);if(l&&m.l)i["!links"].push([c,m.l])}}var b=f.CodeName||f.name||n;if(l)lg(a,574,es((s.Views||[])[0]));if(l&&(i["!merges"]||[]).length)lg(a,229,Bs(i["!merges"]));if(l)Tg(a,i);lg(a,442,oi(b,r));if(l)wg(a,i);lg(a,10);return a.end()}function Sg(e,r,t){var a=nt();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,o=t.biff==5;lg(a,2057,Mi(e,5,t));if(t.bookType=="xla")lg(a,135);lg(a,225,f?Zn(1200):null);lg(a,193,$n(2));if(o)lg(a,191);if(o)lg(a,192);lg(a,226);lg(a,92,Wi("SheetJS",t));lg(a,66,Zn(f?1200:1252));if(f)lg(a,353,Zn(0));if(f)lg(a,448);lg(a,317,af(e.SheetNames.length));if(f&&e.vbaraw)lg(a,211);if(f&&e.vbaraw){var l=s.CodeName||"ThisWorkbook";lg(a,442,oi(l,t))}lg(a,156,Zn(17));lg(a,25,Jn(false));lg(a,18,Jn(false));lg(a,19,Zn(0));if(f)lg(a,431,Jn(false));if(f)lg(a,444,Zn(0));lg(a,61,Zi(t));lg(a,64,Jn(false));lg(a,141,Zn(0));lg(a,34,Jn(Wv(e)=="true"));lg(a,14,Jn(true));if(f)lg(a,439,Jn(false));lg(a,218,Zn(0));mg(a,e,t);bg(a,e.SSF,t);kg(a,t);if(f)lg(a,352,Jn(false));var c=a.end();var h=nt();if(f)lg(h,140,Ks());if(f&&t.Strings)cg(h,252,ji(t.Strings,t));lg(h,10);var u=h.end();var d=nt();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return yg(e,r);case 4:;case 3:;case 2:return gg(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}var xg=function(){function e(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,f=i&&i.index||e.length;var o=ge(e.slice(s,f),/(:?]*>)/i,"");var l=-1,c=0,h=0,u=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(f=0;f"))>-1)k=k.slice(T+1);for(var A=0;A")));u=C.colspan?+C.colspan:1;if((h=+C.rowspan)>1||u>1)v.push({s:{r:l,c:c},e:{r:l+(h||1)-1,c:c+u-1}});var S=C.t||C["data-t"]||"";if(!k.length){c+=u;continue}k=tr(k);if(d.s.r>l)d.s.r=l;if(d.e.rc)d.s.c=c;if(d.e.c[\s\S]*?<\/table>/gi);if(!a||a.length==0)throw new Error("Invalid HTML: could not find
");if(a.length==1)return yt(e(a[0],t),t);var n=Lm();a.forEach(function(r,a){Mm(n,e(r,t),"Sheet"+(a+1))});return n}function t(e,r,t,a){var n=e["!merges"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var f=0,o=0;for(var l=0;lt||n[l].s.c>s)continue;if(n[l].e.r1)d.rowspan=f;if(o>1)d.colspan=o;if(a.editable)u=''+u+"";else if(h){d["data-t"]=h&&h.t||"z";if(h.v!=null)d["data-v"]=h.v;if(h.z!=null)d["data-z"]=h.z;if(h.l&&(h.l.Target||"#").charAt(0)!="#")u=''+u+""}d.id=(a.id||"sjs")+"-"+c;i.push(cr("td",u,d))}var v="";return v+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var f=s.header!=null?s.header:n;var o=s.footer!=null?s.footer:i;var l=[f];var c=Tt(e["!ref"]);s.dense=Array.isArray(e);l.push(a(e,c,s));for(var h=c.s.r;h<=c.e.r;++h)l.push(t(e,c,h,s));l.push("
"+o);return l.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function Og(e,r,t){var a=t||{};if(g!=null)a.dense=g;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?wt(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName("tr");var o=Math.min(a.sheetRows||1e7,f.length);var l={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var c=Tt(e["!ref"]);l.s.r=Math.min(l.s.r,c.s.r);l.s.c=Math.min(l.s.c,c.s.c);l.e.r=Math.max(l.e.r,c.e.r);l.e.c=Math.max(l.e.c,c.e.c);if(n==-1)l.e.r=n=c.e.r+1}var h=[],u=0;var d=e["!rows"]||(e["!rows"]=[]);var v=0,p=0,m=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)h.push({s:{r:p+n,c:b+i},e:{r:p+n+(w||1)-1,c:b+i+(k||1)-1}});var _={t:"s",v:C};var x=E.getAttribute("data-t")||E.getAttribute("t")||"";if(C!=null){if(C.length==0)_.t=x||"z";else if(a.raw||C.trim().length==0||x=="s"){}else if(C==="TRUE")_={t:"b",v:true};else if(C==="FALSE")_={t:"b",v:false};else if(!isNaN(ue(C)))_={t:"n",v:ue(C)};else if(!isNaN(ve(C).getDate())){_={t:"d",v:oe(C)};if(!a.cellDates)_={t:"n",v:ee(_.v)};_.z=a.dateNF||D._table[14]}}if(_.z===undefined&&S!=null)_.z=S;var O="",R=E.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=o)e["!fullref"]=At((l.e.r=f.length-v+p-1+n,l));return e}function Rg(e,r){var t=r||{};var a=t.dense?[]:{};return Og(a,e,r)}function Ig(e,r){return yt(Rg(e,r),r)}function Ng(e){var r="";var t=Fg(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Fg(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Dg(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Be(r.replace(/<[^>]*>/g,""));return[t]}var Pg={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Lg(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=dr(e);var n=[],i;var s;var f={name:""},o="",l=0;var c;var h;var u={},d=[];var v=t.dense?[]:{};var p,m;var b={value:""};var w="",k=0,T;var A=[];var E=-1,C=-1,S={s:{r:1e6,c:1e7},e:{r:0,c:0}};var y=0;var _={};var x=[],O={},R=0,I=0;var N=[],F=1,D=1;var P=[];var L={Names:[]};var M={};var U=["",""];var B=[],W={};var H="",z=0;var V=false,G=false;var j=0;vr.lastIndex=0;a=a.replace(//gm,"").replace(//gm,"");while(p=vr.exec(a))switch(p[3]=p[3].replace(/_.*$/,"")){case"table":;case"工作表":if(p[1]==="/"){if(S.e.c>=S.s.c&&S.e.r>=S.s.r)v["!ref"]=At(S);else v["!ref"]="A1:A1";if(t.sheetRows>0&&t.sheetRows<=S.e.r){v["!fullref"]=v["!ref"];S.e.r=t.sheetRows-1;v["!ref"]=At(S)}if(x.length)v["!merges"]=x;if(N.length)v["!rows"]=N;c.name=c["名称"]||c.name;if(typeof JSON!=="undefined")JSON.stringify(c);d.push(c.name);u[c.name]=v;G=false}else if(p[0].charAt(p[0].length-2)!=="/"){c=Pe(p[0],false);E=C=-1;S.s.r=S.s.c=1e7;S.e.r=S.e.c=0;v=t.dense?[]:{};x=[];N=[];G=true}break;case"table-row-group":if(p[1]==="/")--y;else++y;break;case"table-row":;case"行":if(p[1]==="/"){E+=F;F=1;break}h=Pe(p[0],false);if(h["行号"])E=h["行号"]-1;else if(E==-1)E=0;F=+h["number-rows-repeated"]||1;if(F<10)for(j=0;j0)N[E+j]={level:y};C=-1;break;case"covered-table-cell":if(p[1]!=="/")++C;if(t.sheetStubs){if(t.dense){if(!v[E])v[E]=[];v[E][C]={t:"z"}}else v[kt({r:E,c:C})]={t:"z"}}w="";A=[];break;case"table-cell":;case"数据":if(p[0].charAt(p[0].length-2)==="/"){++C;b=Pe(p[0],false);D=parseInt(b["number-columns-repeated"]||"1",10);m={t:"z",v:null};if(b.formula&&t.cellFormula!=false)m.f=gu(Be(b.formula));if((b["数据类型"]||b["value-type"])=="string"){m.t="s";m.v=Be(b["string-value"]||"");if(t.dense){if(!v[E])v[E]=[];v[E][C]=m}else{v[kt({r:E,c:C})]=m}}C+=D-1}else if(p[1]!=="/"){++C;w="";k=0;A=[];D=1;var X=F?E+F-1:E;if(C>S.e.c)S.e.c=C;if(CS.e.r)S.e.r=X;b=Pe(p[0],false);B=[];W={};m={t:b["数据类型"]||b["value-type"],v:null};if(t.cellFormula){if(b.formula)b.formula=Be(b.formula);if(b["number-matrix-columns-spanned"]&&b["number-matrix-rows-spanned"]){R=parseInt(b["number-matrix-rows-spanned"],10)||0;I=parseInt(b["number-matrix-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};m.F=At(O);P.push([O,m.F])}if(b.formula)m.f=gu(b.formula);else for(j=0;j=P[j][0].s.r&&E<=P[j][0].e.r)if(C>=P[j][0].s.c&&C<=P[j][0].e.c)m.F=P[j][1]}if(b["number-columns-spanned"]||b["number-rows-spanned"]){R=parseInt(b["number-rows-spanned"],10)||0;I=parseInt(b["number-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};x.push(O)}if(b["number-columns-repeated"])D=parseInt(b["number-columns-repeated"],10);switch(m.t){case"boolean":m.t="b";m.v=Ke(b["boolean-value"]);break;case"float":m.t="n";m.v=parseFloat(b.value);break;case"percentage":m.t="n";m.v=parseFloat(b.value);break;case"currency":m.t="n";m.v=parseFloat(b.value);break;case"date":m.t="d";m.v=oe(b["date-value"]);if(!t.cellDates){m.t="n";m.v=ee(m.v)}m.z="m/d/yy";break;case"time":m.t="n";m.v=ie(b["time-value"])/86400;if(t.cellDates){m.t="d";m.v=ne(m.v)}m.z="HH:MM:SS";break;case"number":m.t="n";m.v=parseFloat(b["数据数值"]);break;default:if(m.t==="string"||m.t==="text"||!m.t){m.t="s";if(b["string-value"]!=null){w=Be(b["string-value"]);A=[]}}else throw new Error("Unsupported value type "+m.t);}}else{V=false;if(m.t==="s"){m.v=w||"";if(A.length)m.R=A;V=k==0}if(M.Target)m.l=M;if(B.length>0){m.c=B;B=[]}if(w&&t.cellText!==false)m.w=w;if(V){m.t="z";delete m.v}if(!V||t.sheetStubs){if(!(t.sheetRows&&t.sheetRows<=E)){for(var $=0;$0)v[E+$][C+D]=ce(m)}else{v[kt({r:E+$,c:C})]=m;while(--D>0)v[kt({r:E+$,c:C+D})]=ce(m)}if(S.e.c<=C)S.e.c=C}}}D=parseInt(b["number-columns-repeated"]||"1",10);C+=D-1;D=0;m={};w="";A=[]}M={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],true]);break;case"annotation":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i;W.t=w;if(A.length)W.R=A;W.a=H;B.push(W)}else if(p[0].charAt(p[0].length-2)!=="/"){n.push([p[3],false])}H="";z=0;w="";k=0;A=[];break;case"creator":if(p[1]==="/"){H=a.slice(z,p.index)}else z=p.index+p[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],false]);w="";k=0;A=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(p[1]==="/"){_[f.name]=o;if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/"){o="";f=Pe(p[0],false);n.push([p[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(p[0],false);o+=Pg[p[3]][s.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(p[0],false);o+=Pg[p[3]][s.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(p[0].slice(-2)==="/>")break;else if(p[1]==="/")switch(n[n.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=a.slice(l,p.index);break;}else l=p.index+p[0].length;break;case"named-range":s=Pe(p[0],false);U=bu(s["cell-range-address"]);var Y={Name:s.name,Ref:U[0]+"!"+U[1]};if(G)Y.Sheet=d.length;L.Names.push(Y);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(n[n.length-1][0])>-1)break;if(p[1]==="/"&&(!b||!b["string-value"])){var K=Dg(a.slice(k,p.index),T);w=(w.length>0?w+"\n":"")+K[0]}else{T=Pe(p[0],false);k=p.index+p[0].length}break;case"s":break;case"database-range":if(p[1]==="/")break;try{U=bu(Pe(p[0])["target-range-address"]);u[U[0]]["!autofilter"]={ref:U[1]}}catch(J){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(p[1]!=="/"){M=Pe(p[0],false);if(!M.href)break;M.Target=Be(M.href);delete M.href;if(M.Target.charAt(0)=="#"&&M.Target.indexOf(".")>-1){U=bu(M.Target.slice(1));M.Target="#"+U[0]+"!"+U[1]}else if(M.Target.match(/^\.\.[\\\/]/))M.Target=M.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(p[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(t.WTF)throw new Error(p);};}var q={Sheets:u,SheetNames:d,Workbook:L};if(t.bookSheets)delete q.Sheets;return q}function Mg(e,r){r=r||{};if(ke(e,"META-INF/manifest.xml"))Ja(Ae(e,"META-INF/manifest.xml"),r);var t=Ee(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=Lg(Je(t),r);if(ke(e,"meta.xml"))a.Props=nn(Ae(e,"meta.xml"));return a}function Ug(e,r){return Lg(e,r)}var Bg=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Re+r}}();var Wg=function(){var e=function(e){return ze(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var f=0,o=0,l=Tt(a["!ref"]||"A1");var c=a["!merges"]||[],h=0;var u=Array.isArray(a);if(a["!cols"]){for(o=0;o<=l.e.c;++o)s.push(" \n")}var d="",v=a["!rows"]||[];for(f=0;f\n")}for(;f<=l.e.r;++f){d=v[f]?' table:style-name="ro'+v[f].ods+'"':"";s.push(" \n");for(o=0;oo)continue;if(c[h].s.r>f)continue;if(c[h].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Re];var i=lr({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=lr({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(rn().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function Hg(e,r){if(r.bookType=="fods")return Wg(e,r);var t=_e();var a="";var n=[];var i=[];a="mimetype";ye(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";ye(t,a,Wg(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";ye(t,a,Bg(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";ye(t,a,Re+rn());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";ye(t,a,en(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";ye(t,a,qa(n));return t}var zg=!Object.defineProperty?void 0:function(){var e=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var n=function(r){return e(r,"__esModule",{value:true})};var i=function(r,t){for(var a in t)e(r,a,{get:t[a],enumerable:true})};var s=function(n,i,s,f){if(i&&typeof i==="object"||typeof i==="function")for(var o=t(i),l=0,c=o.length,h;l>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24};var d=function(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)};function v(e,r){var t=r?r[0]:0;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}if(r)r[0]=t;return a}function p(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28}return t}function g(e){var r=[],t=[0];while(t[0]=128);f=e.slice(o,t[0])}break;case 5:s=4;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 1:s=8;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 2:s=v(e,t);f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 3:;case 4:;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var l={offset:a,data:f,type:i};if(r[n]==null)r[n]=[l];else r[n].push(l)}return r}function m(e,r){if(!e)return[];return e.map(function(e){var t;try{return r(e.data)}catch(a){var n=(t=a.message)==null?void 0:t.match(/at offset (\d+)/);if(n)a.message=a.message.replace(/at offset (\d+)/,"at offset "+(+n[1]+e.offset));throw a}})}function b(e){var r=[];var t=0;while(t>2;if(s<60)++s;else{var f=s-59;s=r[t[0]];if(f>1)s|=r[t[0]+1]<<8;if(f>2)s|=r[t[0]+2]<<16;if(f>3)s|=r[t[0]+3]<<24;s>>>=0;s++;t[0]+=f}n.push(r.slice(t[0],t[0]+s));t[0]+=s;continue}else{var o=0,l=0;if(i==1){l=(r[t[0]]>>2&7)+4;o=(r[t[0]++]&224)<<3;o|=r[t[0]++]}else{l=(r[t[0]++]>>2)+1;if(i==2){o=r[t[0]]|r[t[0]+1]<<8;t[0]+=2}else{o=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0;t[0]+=4}}n=[h(n)];if(o==0)throw new Error("Invalid offset 0");if(o>n[0].length)throw new Error("Invalid offset beyond length");if(l>=o){n.push(n[0].slice(-o));l-=o;while(l>=n[n.length-1].length){n.push(n[n.length-1]);l-=n[n.length-1].length}}n.push(n[0].slice(-o,-o+l))}}var c=h(n);if(c.length!=a)throw new Error("Unexpected length: ".concat(c.length," != ").concat(a));return c}function k(e){var r=[],t=[0];while(t[0]0};break;case 7:d={t:"n",v:c};break;case 8:d={t:"e",v:0};break;case 9:{if(f>-1)d={t:"s",v:t[f]};else if(o>-1)d={t:"s",v:r[o]};else if(!isNaN(c))d={t:"n",v:c};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)));}return d}function A(e,r,t){var a=l(e);var n=e[1];var i=a.getUint32(8,true);var s=12;var f=-1,o=-1,c=NaN,h=NaN,u=new Date(2001,0,1);if(i&1){c=d(e,s);s+=16}if(i&2){h=a.getFloat64(s,true);s+=8}if(i&4){u.setTime(u.getTime()+a.getFloat64(s,true)*1e3);s+=8}if(i&8){o=a.getUint32(s,true);s+=4}if(i&16){f=a.getUint32(s,true);s+=4}var v;switch(n){case 0:break;case 2:v={t:"n",v:c};break;case 3:v={t:"s",v:r[o]};break;case 5:v={t:"d",v:u};break;case 6:v={t:"b",v:h>0};break;case 7:v={t:"n",v:h};break;case 8:v={t:"e",v:0};break;case 9:{if(f>-1)v={t:"s",v:t[f]};else throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)))}break;case 10:v={t:"n",v:c};break;default:throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)));}return v}function E(e,r,t){switch(e[0]){case 3:;case 4:return T(e,r,t);case 5:return A(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}var C=function(e){var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r};var S=function(e){return"".concat(C(e.c)).concat(e.r+1)};var y=function(e){return S(e.s)+":"+S(e.e)};var x=function(){return{Sheets:{},SheetNames:[]}};var O=function(e,r,t){var a=1;if(!t)for(;a<9999;++a){if(e.SheetNames.indexOf(t="Sheet ".concat(a))==-1)break}else if(e.SheetNames.indexOf(t)>-1)for(;a<9999;++a){if(e.SheetNames.indexOf("".concat(t,"_").concat(a))==-1){t="".concat(t,"_").concat(a);break}}e.SheetNames.push(t);e.Sheets[t]=r};function R(e){var r=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;var t;try{t=b(e.content)}catch(a){return console.log("?? "+e.content.length+" "+(a.message||a))}var n;try{n=k(t)}catch(a){return console.log("## "+(a.message||a))}n.forEach(function(e){r[+e.id]=e.messages})});if(!r.length)throw new Error("File has no messages");var t;r.forEach(function(e){e.forEach(function(e){var r=p(e.meta[1][0].data)>>>0;if(r==1){if(!t)t=e;else throw new Error("Document has multiple roots")}})});if(!t)throw new Error("Cannot find Document root");return B(r,t)}var I=R;function N(e){var r=g(e);return v(r[1][0].data)}function F(e,r){var t=g(r.data);var a=p(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=g(r.data);var n=p(t[1][0].data)>>>0;switch(a){case 1:i[n]=c(t[3][0].data);break;case 8:{var s=e[N(t[9][0].data)][0];var f=g(s.data);var o=e[N(f[1][0].data)][0];var l=p(o.meta[1][0].data);if(l!=2001)throw new Error("2000 unexpected reference to ".concat(l));var h=g(o.data);i[n]=h[3].map(function(e){return c(e.data)}).join("")}break;}});return i}function D(e){var r,t,a,n,i,s,f,o,c,h;var u=g(e);var d=p(u[1][0].data)>>>0;var v=(t=(r=u[3])==null?void 0:r[0])==null?void 0:t.data;var m=((n=(a=u[4])==null?void 0:a[0])==null?void 0:n.data)&&l(u[4][0].data);var b=(s=(i=u[6])==null?void 0:i[0])==null?void 0:s.data;var w=((o=(f=u[7])==null?void 0:f[0])==null?void 0:o.data)&&l(u[7][0].data);var k=((h=(c=u[8])==null?void 0:c[0])==null?void 0:h.data)&&p(u[8][0].data)>0||false;var T=k?4:1;var A=[];var E=0;for(var C=0;C>>0)-1;if(i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=y(i);{var s=g(n[4][0].data);var f=F(e,e[N(s[4][0].data)][0]);var o=((a=s[17])==null?void 0:a[0])?F(e,e[N(s[17][0].data)][0]):[];{var l=g(s[3][0].data);var c=[];l[1].forEach(function(r){var t=g(r.data);var a=e[N(t[2][0].data)][0];var n=p(a.meta[1][0].data);if(n!=6002)throw new Error("6001 unexpected reference to ".concat(n));c.push({id:p(t[1][0].data),ref:P(e,a)})});c.forEach(function(e){e.ref.forEach(function(e,r){e.forEach(function(e,a){var n=S({r:r,c:a});var i=E(e,f,o);if(i)t[n]=i})})})}}}function M(e,r){var t=g(r.data);var a={"!ref":"A1"};var n=e[N(t[2][0].data)];var i=p(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));L(e,n[0],a);return a}function U(e,r){var t;var a=g(r.data);var n={name:((t=a[1])==null?void 0:t[0])?c(a[1][0].data):"",sheets:[]};var i=m(a[2],N);i.forEach(function(r){e[r].forEach(function(r){var t=p(r.meta[1][0].data);if(t==6e3)n.sheets.push(M(e,r))})});return n}function B(e,r){var t=x();var a=g(r.data);var n=m(a[1],N);n.forEach(function(r){e[r].forEach(function(r){var a=p(r.meta[1][0].data);if(a==2){var n=U(e,r);n.sheets.forEach(function(e){O(t,e,n.name)})}})});if(t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}return f(o)}();function Vg(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}var Gg=function(e){Vg([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)};var jg=Vg([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function Xg(e){if(za.WS.indexOf(e)>-1)return"sheet";if(za.CS&&e==za.CS)return"chart";if(za.DS&&e==za.DS)return"dialog";if(za.MS&&e==za.MS)return"macro";return e&&e.length?e:"sheet"}function $g(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID; -return[r.name,e["!id"][r.id].Target,Xg(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Yg(e,r,t,a,n,i,s,f,o,l,c,h){try{i[a]=Ga(Ee(e,t,true),r);var u=Ae(e,r);var d;switch(f){case"sheet":d=fp(u,r,n,o,i[a],l,c,h);break;case"chart":d=op(u,r,n,o,i[a],l,c,h);if(!d||!d["!drawel"])break;var v=Oe(d["!drawel"].Target,r);var p=Va(v);var g=ql(Ee(e,v,true),Ga(Ee(e,p,true),v));var m=Oe(g,v);var b=Va(m);d=_v(Ee(e,m,true),m,o,Ga(Ee(e,b,true),m),l,d);break;case"macro":d=lp(u,r,n,o,i[a],l,c,h);break;case"dialog":d=cp(u,r,n,o,i[a],l,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[];if(i&&i[a])Y(i[a]).forEach(function(t){if(i[a][t].Type==za.CMNT){var n=Oe(i[a][t].Target,r);w=vp(Ae(e,n,true),n,o);if(!w||!w.length)return;ec(d,w)}})}catch(k){if(o.WTF)throw k}}function Kg(e){return e.charAt(0)=="/"?e.slice(1):e}function Jg(e,r){P(D);r=r||{};Gg(r);if(ke(e,"META-INF/manifest.xml"))return Mg(e,r);if(ke(e,"objectdata.xml"))return Mg(e,r);if(ke(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof zg!="undefined"){if(e.FileIndex)return zg.parse_numbers(e);var t=z.utils.cfb_new();Se(e).forEach(function(r){ye(t,r,Ce(e,r))});return zg.parse_numbers(t)}throw new Error("Unsupported NUMBERS file")}if(!ke(e,"[Content_Types].xml")){if(ke(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(ke(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Se(e);var n=Ua(Ee(e,"[Content_Types].xml"));var i=false;var s,f;if(n.workbooks.length===0){f="xl/workbook.xml";if(Ae(e,f,true))n.workbooks.push(f)}if(n.workbooks.length===0){f="xl/workbook.bin";if(!Ae(e,f,true))throw new Error("Could not find workbook");n.workbooks.push(f);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var o={};var l={};if(!r.bookSheets&&!r.bookProps){ku=[];if(n.sst)try{ku=dp(Ae(e,Kg(n.sst)),n.sst,r)}catch(c){if(r.WTF)throw c}if(r.cellStyles&&n.themes.length)o=up(Ee(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)l=hp(Ae(e,Kg(n.style)),n.style,o,r)}n.links.map(function(t){try{var a=Ga(Ee(e,Va(Kg(t))),t);return gp(Ae(e,Kg(t)),a,t,r)}catch(n){}});var h=sp(Ae(e,Kg(n.workbooks[0])),n.workbooks[0],r);var u={},d="";if(n.coreprops.length){d=Ae(e,Kg(n.coreprops[0]),true);if(d)u=nn(d);if(n.extprops.length!==0){d=Ae(e,Kg(n.extprops[0]),true);if(d)un(d,u,r)}}var v={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=Ee(e,Kg(n.custprops[0]),true);if(d)v=gn(d,r)}}var p={};if(r.bookSheets||r.bookProps){if(h.Sheets)s=h.Sheets.map(function I(e){return e.name});else if(u.Worksheets&&u.SheetNames.length>0)s=u.SheetNames;if(r.bookProps){p.Props=u;p.Custprops=v}if(r.bookSheets&&typeof s!=="undefined")p.SheetNames=s;if(r.bookSheets?p.SheetNames:r.bookProps)return p}s={};var g={};if(r.bookDeps&&n.calcchain)g=pp(Ae(e,Kg(n.calcchain)),n.calcchain,r);var m=0;var b={};var w,k;{var T=h.Sheets;u.Worksheets=T.length;u.SheetNames=[];for(var A=0;A!=T.length;++A){u.SheetNames[A]=T[A].name}}var E=i?"bin":"xml";var C=n.workbooks[0].lastIndexOf("/");var S=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!ke(e,S))S="xl/_rels/workbook."+E+".rels";var y=Ga(Ee(e,S,true),S.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=mp(Ae(e,Kg(n.metadata[0])),n.metadata[0],r)}if(y)y=$g(y,h.Sheets);var _=Ae(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(m=0;m!=u.Worksheets;++m){var x="sheet";if(y&&y[m]){w="xl/"+y[m][1].replace(/[\/]?xl\//,"");if(!ke(e,w))w=y[m][1];if(!ke(e,w))w=S.replace(/_rels\/.*$/,"")+y[m][1];x=y[m][2]}else{w="xl/worksheets/sheet"+(m+1-_)+"."+E;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(m!=r.sheets)continue e;break;case"string":if(u.SheetNames[m].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var O=false;for(var R=0;R!=r.sheets.length;++R){if(typeof r.sheets[R]=="number"&&r.sheets[R]==m)O=1;if(typeof r.sheets[R]=="string"&&r.sheets[R].toLowerCase()==u.SheetNames[m].toLowerCase())O=1}if(!O)continue e};}Yg(e,w,k,u.SheetNames[m],m,b,s,x,r,h,o,l)}p={Directory:n,Workbook:h,Props:u,Custprops:v,Deps:g,Sheets:s,SheetNames:u.SheetNames,Strings:ku,Styles:l,Themes:o,SSF:D.get_table()};if(r&&r.bookFiles){if(e.files){p.keys=a;p.files=e.files}else{p.keys=[];p.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");p.keys.push(r);p.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)p.vbaraw=Ae(e,Kg(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===lc)p.vbaraw=Ae(e,"xl/vbaProject.bin",true)}return p}function qg(e,r){var t=r||{};var a="Workbook",n=z.find(e,a);try{a="/!DataSpaces/Version";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);jf(n.content);a="/!DataSpaces/DataSpaceMap";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=$f(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=Yf(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Jf(n.content)}catch(f){}a="/EncryptionInfo";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=Qf(n.content);a="/EncryptedPackage";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(o[1],n.content,t.password||"",t);if(o[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(o[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function Zg(e,r){if(r.bookType=="ods")return Hg(e,r);return Qg(e,r)}function Qg(e,r){Zl=1024;if(e&&!e.SSF){e.SSF=D.get_table()}if(e&&e.SSF){P(D);D.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Au)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=uc.indexOf(r.bookType)>-1;var n=Ma();jg(r=r||{});var i=_e();var s="",f=0;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";ye(i,s,on(e.Props,r));n.coreprops.push(s);Ya(r.rels,2,s,za.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";ye(i,s,bn(e.Custprops,r));n.custprops.push(s);Ya(r.rels,4,s,za.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var h=e.Sheets[e.SheetNames[f-1]];var u=(h||{})["!type"]||"sheet";switch(u){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;ye(i,s,wp(f-1,s,r,e,c));n.sheets.push(s);Ya(r.wbrels,-1,"worksheets/sheet"+f+"."+t,za.WS[0]);}if(h){var d=h["!comments"];var v=false;if(d&&d.length>0){var p="xl/comments"+f+"."+t;ye(i,p,Ep(d,p,r));n.comments.push(p);Ya(c,-1,"../comments"+f+"."+t,za.CMNT);v=true}if(h["!legacy"]){if(v)ye(i,"xl/drawings/vmlDrawing"+f+".vml",Ql(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(c["!id"].rId1)ye(i,Va(s),Xa(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;ye(i,s,Ap(r.Strings,s,r));n.strs.push(s);Ya(r.wbrels,-1,"sharedStrings."+t,za.SST)}s="xl/workbook."+t;ye(i,s,bp(e,s,r));n.workbooks.push(s);Ya(r.rels,1,s,za.WB);s="xl/theme/theme1.xml";ye(i,s,xl(e.Themes,r));n.themes.push(s);Ya(r.wbrels,-1,"theme/theme1.xml",za.THEME);s="xl/styles."+t;ye(i,s,Tp(e,s,r));n.styles.push(s);Ya(r.wbrels,-1,"styles."+t,za.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";ye(i,s,e.vbaraw);n.vba.push(s);Ya(r.wbrels,-1,"vbaProject.bin",za.VBA)}s="xl/metadata."+t;ye(i,s,Cp(s));n.metadata.push(s);Ya(r.wbrels,-1,"metadata."+t,za.XLMETA);ye(i,"[Content_Types].xml",Ha(n,r));ye(i,"_rels/.rels",Xa(r.rels));ye(i,"xl/_rels/workbook."+t+".rels",Xa(r.wbrels));delete r.revssf;delete r.ssf;return i}function em(e,r){Zl=1024;if(e&&!e.SSF){e.SSF=D.get_table()}if(e&&e.SSF){P(D);D.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Au)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=uc.indexOf(r.bookType)>-1;var n=Ma();jg(r=r||{});var i=_e();var s="",f=0;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";ye(i,s,on(e.Props,r));n.coreprops.push(s);Ya(r.rels,2,s,za.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";ye(i,s,bn(e.Custprops,r));n.custprops.push(s);Ya(r.rels,4,s,za.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var h=e.Sheets[e.SheetNames[f-1]];var u=(h||{})["!type"]||"sheet";switch(u){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;ye(i,s,fd(f-1,r,e,c));n.sheets.push(s);Ya(r.wbrels,-1,"worksheets/sheet"+f+"."+t,za.WS[0]);}if(h){var d=h["!comments"];var v=false;if(d&&d.length>0){var p="xl/comments"+f+"."+t;ye(i,p,tc(d,r));n.comments.push(p);Ya(c,-1,"../comments"+f+"."+t,za.CMNT);v=true}if(h["!legacy"]){if(v)ye(i,"xl/drawings/vmlDrawing"+f+".vml",Ql(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(c["!id"].rId1)ye(i,Va(s),Xa(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;ye(i,s,Mf(r.Strings,r));n.strs.push(s);Ya(r.wbrels,-1,"sharedStrings."+t,za.SST)}s="xl/workbook."+t;ye(i,s,$v(e,r));n.workbooks.push(s);Ya(r.rels,1,s,za.WB);s="xl/theme/theme1.xml";ye(i,s,xl(e.Themes,r));n.themes.push(s);Ya(r.wbrels,-1,"theme/theme1.xml",za.THEME);s="xl/styles."+t;ye(i,s,Go(e,r));n.styles.push(s);Ya(r.wbrels,-1,"styles."+t,za.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";ye(i,s,e.vbaraw);n.vba.push(s);Ya(r.wbrels,-1,"vbaProject.bin",za.VBA)}s="xl/metadata."+t;ye(i,s,Ul());n.metadata.push(s);Ya(r.wbrels,-1,"metadata."+t,za.XLMETA);ye(i,"[Content_Types].xml",Ha(n,r));ye(i,"_rels/.rels",Xa(r.rels));ye(i,"xl/_rels/workbook."+t+".rels",Xa(r.wbrels));delete r.revssf;delete r.ssf;return i}function rm(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=b.decode(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function tm(e,r){if(z.find(e,"EncryptedPackage"))return qg(e,r);return ig(e,r)}function am(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=w&&Buffer.isBuffer(e)?"buffer":"base64";t=xe(a,n);return Jg(t,n)}function nm(e,r){var t=0;e:while(t=2&&n[3]===0)return Cf.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return Cf.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return bf.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return uo.to_workbook(a,t);break;case 10:;case 13:;case 32:return im(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(mf.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return bf.to_workbook(a,t);return om(e,a,t,i)}function cm(e,r){var t=r||{};t.type="file";return lm(e,t)}function hm(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return j(r.file,z.write(e,{type:w?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return z.write(e,r)}function um(e,r){var t=ce(r||{});var a=Zg(e,t);return vm(a,t)}function dm(e,r){var t=ce(r||{});var a=em(e,t);return vm(a,t)}function vm(e,r){var t={};var a=w?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?z.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(y(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return hm(encrypt_agile(n,r.password),r);if(r.type==="file")return j(r.file,n);return r.type=="string"?Je(n):n}function pm(e,r){var t=r||{};var a=sg(e,t);return hm(a,t)}function gm(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return b.encode(qe(a));case"binary":return qe(a);case"string":return e;case"file":return j(r.file,a,"utf8");case"buffer":{if(w)return k(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return gm(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function mm(e,r){switch(r.type){case"base64":return b.encode(e);case"binary":return e;case"string":return e;case"file":return j(r.file,e,"binary");case"buffer":{if(w)return k(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function bm(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=ht(o.s.r);var u=[];var d=[];var v=0,p=0;var g=Array.isArray(e);var m=o.s.r,b=0;var w={};if(g&&!e[m])e[m]=[];var k=l.skipHidden&&e["!cols"]||[];var T=l.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((k[b]||{}).hidden)continue;u[b]=pt(b);t=g?e[m][b]:e[u[b]+h];switch(a){case 1:i[b]=b-o.s.c;break;case 2:i[b]=u[b];break;case 3:i[b]=l.header[b-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=St(t,null,l);p=w[s]||0;if(!p)w[s]=1;else{do{f=s+"_"+p++}while(w[f]);w[s]=p;w[f]=1}i[b]=f;}}for(m=o.s.r+n;m<=o.e.r;++m){if((T[m]||{}).hidden)continue;var A=Sm(e,o,m,u,a,i,g,l);if(A.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[v++]=A.row}d.length=v;return d}var _m=/"/g;function xm(e,r,t,a,n,i,s,f){var o=true;var l=[],c="",h=ht(t);for(var u=r.s.c;u<=r.e.c;++u){if(!a[u])continue;var d=f.dense?(e[t]||[])[u]:e[a[u]+h];if(d==null)c="";else if(d.v!=null){o=false;c=""+(f.rawNumbers&&d.t=="n"?d.v:St(d,null,f));for(var v=0,p=0;v!==c.length;++v)if((p=c.charCodeAt(v))===n||p===i||p===34||f.forceQuotes){c='"'+c.replace(_m,'""')+'"';break}if(c=="ID")c='"ID"'}else if(d.f!=null&&!d.F){o=false;c="="+d.f;if(c.indexOf(",")>=0)c='"'+c.replace(_m,'""')+'"'}else c="";l.push(c)}if(f.blankrows===false&&o)return null;return l.join(s)}function Om(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Et(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=pt(v);var p=0;for(var g=n.s.r;g<=n.e.r;++g){if((d[g]||{}).hidden)continue;c=xm(e,n,g,h,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)t.push((p++?f:"")+c)}delete a.dense;return t.join("")}function Rm(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=Om(e,r);if(typeof a=="undefined"||r.type=="string")return t;var n=a.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+n}function Im(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Et(e["!ref"]),i="",s=[],f;var o=[];var l=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=pt(f);for(var c=n.s.r;c<=n.e.r;++c){i=ht(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e[c]||[])[f]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function Nm(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?wt(a.origin):a.origin;s=o.r;f=o.c}}var l;var c={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i["!ref"]){var h=Et(i["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(s==-1){s=h.e.r+1;c.e.r=s+r.length-1+n}}else{if(s==-1){s=0;c.e.r=r.length-1+n}}var u=a.header||[],d=0;r.forEach(function(e,r){Y(e).forEach(function(t){if((d=u.indexOf(t))==-1)u[d=u.length]=t;var o=e[t];var c="z";var h="";var v=kt({c:f+d,r:s+r+n});l=Dm(i,v);if(o&&typeof o==="object"&&!(o instanceof Date)){i[v]=o}else{if(typeof o=="number")c="n";else if(typeof o=="boolean")c="b";else if(typeof o=="string")c="s";else if(o instanceof Date){c="d";if(!a.cellDates){c="n";o=ee(o)}h=a.dateNF||D._table[14]}else if(o===null&&a.nullError){c="e";o=0}if(!l)i[v]=l={t:c,v:o};else{l.t=c;l.v=o;delete l.w;delete l.R;if(h)l.z=h}if(h)l.z=h}})});c.e.c=Math.max(c.e.c,f+u.length-1);var v=ht(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function Lm(){return{SheetNames:[],Sheets:{}}}function Mm(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");zv(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r}function Um(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Pm(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function Bm(e,r){e.z=r;return e}function Wm(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function Hm(e,r,t){return Wm(e,"#"+r,t)}function zm(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Vm(e,r,t,a){var n=typeof r!="string"?r:Et(r);var i=typeof r=="string"?r:At(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=Dm(e,s,f);o.t="n";o.F=i;delete o.v;if(s==n.s.r&&f==n.s.c){o.f=t;if(a)o.D=true}}return e}var Gm={encode_col:pt,encode_row:ht,encode_cell:kt,encode_range:At,decode_col:vt,decode_row:ct,split_cell:bt,decode_cell:wt,decode_range:Tt,format_cell:St,sheet_add_aoa:_t,sheet_add_json:Nm,sheet_add_dom:Og,aoa_to_sheet:xt,json_to_sheet:Fm,table_to_sheet:Rg,table_to_book:Ig,sheet_to_csv:Om,sheet_to_txt:Rm,sheet_to_json:ym,sheet_to_html:xg.from_sheet,sheet_to_formulae:Im,sheet_to_row_object_array:ym,sheet_get_cell:Dm,book_new:Lm,book_append_sheet:Mm,book_set_sheet_visibility:Um,cell_set_number_format:Bm,cell_set_hyperlink:Wm,cell_set_internal_link:Hm,cell_add_comment:zm,sheet_set_array_formula:Vm,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var jm;function Xm(e){jm=e}function $m(e,r){var t=jm();var a=r==null?{}:r;if(e==null||e["!ref"]==null){t.push(null);return t}var n=Et(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=pt(v);var p=n.s.r;var g=false,m=0;t._read=function(){if(!g){g=true;return t.push("\ufeff")}while(p<=n.e.r){++p;if((d[p-1]||{}).hidden)continue;c=xm(e,n,p-1,h,s,o,i,a);if(c!=null){if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)return t.push((m++?f:"")+c)}}return t.push(null)};return t}function Ym(e,r){var t=jm();var a=r||{};var n=a.header!=null?a.header:xg.BEGIN;var i=a.footer!=null?a.footer:xg.END;t.push(n);var s=Tt(e["!ref"]);a.dense=Array.isArray(e);t.push(xg._preamble(e,s,a));var f=s.s.r;var o=false;t._read=function(){if(f>s.e.r){if(!o){o=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(xg._row(e,s,f,a));++f;break}};return t}function Km(e,r){var t=jm({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,o="";var l={s:{r:0,c:0},e:{r:0,c:0}};var c=r||{};var h=c.range!=null?c.range:e["!ref"];if(c.header===1)n=1;else if(c.header==="A")n=2;else if(Array.isArray(c.header))n=3;switch(typeof h){case"string":l=Et(h);break;case"number":l=Et(e["!ref"]);l.s.r=h;break;default:l=h;}if(n>0)i=0;var u=ht(l.s.r);var d=[];var v=0;var p=Array.isArray(e);var g=l.s.r,m=0;var b={};if(p&&!e[g])e[g]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(m=l.s.c;m<=l.e.c;++m){if((w[m]||{}).hidden)continue;d[m]=pt(m);a=p?e[g][m]:e[d[m]+u];switch(n){case 1:s[m]=m-l.s.c;break;case 2:s[m]=d[m];break;case 3:s[m]=c.header[m-l.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};o=f=St(a,null,c);v=b[f]||0;if(!v)b[f]=1;else{do{o=f+"_"+v++}while(b[o]);b[f]=v;b[o]=1}s[m]=o;}}g=l.s.r+i;t._read=function(){while(g<=l.e.r){if((k[g-1]||{}).hidden)continue;var r=Sm(e,l,g,d,n,s,p,c);++g;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var Jm={to_json:Km,to_html:Ym,to_csv:$m,set_readable:Xm};if(typeof ig!=="undefined")e.parse_xlscfb=ig;e.parse_zip=Jg;e.read=lm;e.readFile=cm;e.readFileSync=cm;e.write=km;e.writeFile=Am;e.writeFileSync=Am;e.writeFileAsync=Cm;e.utils=Gm;e.writeXLSX=wm;e.writeFileXLSX=Em;e.SSF=D;if(typeof Jm!=="undefined")e.stream=Jm;if(typeof z!=="undefined")e.CFB=z;if(typeof require!=="undefined"){var qm=undefined;if((qm||{}).Readable)Xm(qm.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} +r[t[166][a]]=42496+a;e[42496+a]=t[166][a]}t[167]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(a=0;a!=t[167].length;++a)if(t[167][a].charCodeAt(0)!==65533){r[t[167][a]]=42752+a;e[42752+a]=t[167][a]}t[168]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".split("");for(a=0;a!=t[168].length;++a)if(t[168][a].charCodeAt(0)!==65533){r[t[168][a]]=43008+a;e[43008+a]=t[168][a]}t[169]="��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������".split("");for(a=0;a!=t[169].length;++a)if(t[169][a].charCodeAt(0)!==65533){r[t[169][a]]=43264+a;e[43264+a]=t[169][a]}t[176]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�".split("");for(a=0;a!=t[176].length;++a)if(t[176][a].charCodeAt(0)!==65533){r[t[176][a]]=45056+a;e[45056+a]=t[176][a]}t[177]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�".split("");for(a=0;a!=t[177].length;++a)if(t[177][a].charCodeAt(0)!==65533){r[t[177][a]]=45312+a;e[45312+a]=t[177][a]}t[178]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�".split("");for(a=0;a!=t[178].length;++a)if(t[178][a].charCodeAt(0)!==65533){r[t[178][a]]=45568+a;e[45568+a]=t[178][a]}t[179]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�".split("");for(a=0;a!=t[179].length;++a)if(t[179][a].charCodeAt(0)!==65533){r[t[179][a]]=45824+a;e[45824+a]=t[179][a]}t[180]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�".split("");for(a=0;a!=t[180].length;++a)if(t[180][a].charCodeAt(0)!==65533){r[t[180][a]]=46080+a;e[46080+a]=t[180][a]}t[181]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�".split("");for(a=0;a!=t[181].length;++a)if(t[181][a].charCodeAt(0)!==65533){r[t[181][a]]=46336+a;e[46336+a]=t[181][a]}t[182]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�".split("");for(a=0;a!=t[182].length;++a)if(t[182][a].charCodeAt(0)!==65533){r[t[182][a]]=46592+a;e[46592+a]=t[182][a]}t[183]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�".split("");for(a=0;a!=t[183].length;++a)if(t[183][a].charCodeAt(0)!==65533){r[t[183][a]]=46848+a;e[46848+a]=t[183][a]}t[184]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�".split("");for(a=0;a!=t[184].length;++a)if(t[184][a].charCodeAt(0)!==65533){r[t[184][a]]=47104+a;e[47104+a]=t[184][a]}t[185]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�".split("");for(a=0;a!=t[185].length;++a)if(t[185][a].charCodeAt(0)!==65533){r[t[185][a]]=47360+a;e[47360+a]=t[185][a]}t[186]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�".split("");for(a=0;a!=t[186].length;++a)if(t[186][a].charCodeAt(0)!==65533){r[t[186][a]]=47616+a;e[47616+a]=t[186][a]}t[187]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�".split("");for(a=0;a!=t[187].length;++a)if(t[187][a].charCodeAt(0)!==65533){r[t[187][a]]=47872+a;e[47872+a]=t[187][a]}t[188]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�".split("");for(a=0;a!=t[188].length;++a)if(t[188][a].charCodeAt(0)!==65533){r[t[188][a]]=48128+a;e[48128+a]=t[188][a]}t[189]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�".split("");for(a=0;a!=t[189].length;++a)if(t[189][a].charCodeAt(0)!==65533){r[t[189][a]]=48384+a;e[48384+a]=t[189][a]}t[190]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�".split("");for(a=0;a!=t[190].length;++a)if(t[190][a].charCodeAt(0)!==65533){r[t[190][a]]=48640+a;e[48640+a]=t[190][a]}t[191]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�".split("");for(a=0;a!=t[191].length;++a)if(t[191][a].charCodeAt(0)!==65533){r[t[191][a]]=48896+a;e[48896+a]=t[191][a]}t[192]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�".split("");for(a=0;a!=t[192].length;++a)if(t[192][a].charCodeAt(0)!==65533){r[t[192][a]]=49152+a;e[49152+a]=t[192][a]}t[193]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�".split("");for(a=0;a!=t[193].length;++a)if(t[193][a].charCodeAt(0)!==65533){r[t[193][a]]=49408+a;e[49408+a]=t[193][a]}t[194]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�".split("");for(a=0;a!=t[194].length;++a)if(t[194][a].charCodeAt(0)!==65533){r[t[194][a]]=49664+a;e[49664+a]=t[194][a]}t[195]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�".split("");for(a=0;a!=t[195].length;++a)if(t[195][a].charCodeAt(0)!==65533){r[t[195][a]]=49920+a;e[49920+a]=t[195][a]}t[196]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�".split("");for(a=0;a!=t[196].length;++a)if(t[196][a].charCodeAt(0)!==65533){r[t[196][a]]=50176+a;e[50176+a]=t[196][a]}t[197]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�".split("");for(a=0;a!=t[197].length;++a)if(t[197][a].charCodeAt(0)!==65533){r[t[197][a]]=50432+a;e[50432+a]=t[197][a]}t[198]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�".split("");for(a=0;a!=t[198].length;++a)if(t[198][a].charCodeAt(0)!==65533){r[t[198][a]]=50688+a;e[50688+a]=t[198][a]}t[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�".split("");for(a=0;a!=t[199].length;++a)if(t[199][a].charCodeAt(0)!==65533){r[t[199][a]]=50944+a;e[50944+a]=t[199][a]}t[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�".split("");for(a=0;a!=t[200].length;++a)if(t[200][a].charCodeAt(0)!==65533){r[t[200][a]]=51200+a;e[51200+a]=t[200][a]}t[201]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�".split("");for(a=0;a!=t[201].length;++a)if(t[201][a].charCodeAt(0)!==65533){r[t[201][a]]=51456+a;e[51456+a]=t[201][a]}t[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�".split("");for(a=0;a!=t[202].length;++a)if(t[202][a].charCodeAt(0)!==65533){r[t[202][a]]=51712+a;e[51712+a]=t[202][a]}t[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�".split("");for(a=0;a!=t[203].length;++a)if(t[203][a].charCodeAt(0)!==65533){r[t[203][a]]=51968+a;e[51968+a]=t[203][a]}t[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�".split("");for(a=0;a!=t[204].length;++a)if(t[204][a].charCodeAt(0)!==65533){r[t[204][a]]=52224+a;e[52224+a]=t[204][a]}t[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�".split("");for(a=0;a!=t[205].length;++a)if(t[205][a].charCodeAt(0)!==65533){r[t[205][a]]=52480+a;e[52480+a]=t[205][a]}t[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�".split("");for(a=0;a!=t[206].length;++a)if(t[206][a].charCodeAt(0)!==65533){r[t[206][a]]=52736+a;e[52736+a]=t[206][a]}t[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�".split("");for(a=0;a!=t[207].length;++a)if(t[207][a].charCodeAt(0)!==65533){r[t[207][a]]=52992+a;e[52992+a]=t[207][a]}t[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�".split("");for(a=0;a!=t[208].length;++a)if(t[208][a].charCodeAt(0)!==65533){r[t[208][a]]=53248+a;e[53248+a]=t[208][a]}t[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(a=0;a!=t[209].length;++a)if(t[209][a].charCodeAt(0)!==65533){r[t[209][a]]=53504+a;e[53504+a]=t[209][a]}t[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(a=0;a!=t[210].length;++a)if(t[210][a].charCodeAt(0)!==65533){r[t[210][a]]=53760+a;e[53760+a]=t[210][a]}t[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(a=0;a!=t[211].length;++a)if(t[211][a].charCodeAt(0)!==65533){r[t[211][a]]=54016+a;e[54016+a]=t[211][a]}t[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(a=0;a!=t[212].length;++a)if(t[212][a].charCodeAt(0)!==65533){r[t[212][a]]=54272+a;e[54272+a]=t[212][a]}t[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(a=0;a!=t[213].length;++a)if(t[213][a].charCodeAt(0)!==65533){r[t[213][a]]=54528+a;e[54528+a]=t[213][a]}t[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(a=0;a!=t[214].length;++a)if(t[214][a].charCodeAt(0)!==65533){r[t[214][a]]=54784+a;e[54784+a]=t[214][a]}t[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(a=0;a!=t[215].length;++a)if(t[215][a].charCodeAt(0)!==65533){r[t[215][a]]=55040+a;e[55040+a]=t[215][a]}t[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(a=0;a!=t[216].length;++a)if(t[216][a].charCodeAt(0)!==65533){r[t[216][a]]=55296+a;e[55296+a]=t[216][a]}t[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(a=0;a!=t[217].length;++a)if(t[217][a].charCodeAt(0)!==65533){r[t[217][a]]=55552+a;e[55552+a]=t[217][a]}t[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(a=0;a!=t[218].length;++a)if(t[218][a].charCodeAt(0)!==65533){r[t[218][a]]=55808+a;e[55808+a]=t[218][a]}t[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(a=0;a!=t[219].length;++a)if(t[219][a].charCodeAt(0)!==65533){r[t[219][a]]=56064+a;e[56064+a]=t[219][a]}t[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(a=0;a!=t[220].length;++a)if(t[220][a].charCodeAt(0)!==65533){r[t[220][a]]=56320+a;e[56320+a]=t[220][a]}t[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(a=0;a!=t[221].length;++a)if(t[221][a].charCodeAt(0)!==65533){r[t[221][a]]=56576+a;e[56576+a]=t[221][a]}t[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(a=0;a!=t[222].length;++a)if(t[222][a].charCodeAt(0)!==65533){r[t[222][a]]=56832+a;e[56832+a]=t[222][a]}t[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(a=0;a!=t[223].length;++a)if(t[223][a].charCodeAt(0)!==65533){r[t[223][a]]=57088+a;e[57088+a]=t[223][a]}t[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(a=0;a!=t[224].length;++a)if(t[224][a].charCodeAt(0)!==65533){r[t[224][a]]=57344+a;e[57344+a]=t[224][a]}t[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(a=0;a!=t[225].length;++a)if(t[225][a].charCodeAt(0)!==65533){r[t[225][a]]=57600+a;e[57600+a]=t[225][a]}t[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(a=0;a!=t[226].length;++a)if(t[226][a].charCodeAt(0)!==65533){r[t[226][a]]=57856+a;e[57856+a]=t[226][a]}t[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(a=0;a!=t[227].length;++a)if(t[227][a].charCodeAt(0)!==65533){r[t[227][a]]=58112+a;e[58112+a]=t[227][a]}t[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(a=0;a!=t[228].length;++a)if(t[228][a].charCodeAt(0)!==65533){r[t[228][a]]=58368+a;e[58368+a]=t[228][a]}t[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(a=0;a!=t[229].length;++a)if(t[229][a].charCodeAt(0)!==65533){r[t[229][a]]=58624+a;e[58624+a]=t[229][a]}t[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(a=0;a!=t[230].length;++a)if(t[230][a].charCodeAt(0)!==65533){r[t[230][a]]=58880+a;e[58880+a]=t[230][a]}t[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(a=0;a!=t[231].length;++a)if(t[231][a].charCodeAt(0)!==65533){r[t[231][a]]=59136+a;e[59136+a]=t[231][a]}t[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(a=0;a!=t[232].length;++a)if(t[232][a].charCodeAt(0)!==65533){r[t[232][a]]=59392+a;e[59392+a]=t[232][a]}t[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(a=0;a!=t[233].length;++a)if(t[233][a].charCodeAt(0)!==65533){r[t[233][a]]=59648+a;e[59648+a]=t[233][a]}t[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(a=0;a!=t[234].length;++a)if(t[234][a].charCodeAt(0)!==65533){r[t[234][a]]=59904+a;e[59904+a]=t[234][a]}t[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(a=0;a!=t[235].length;++a)if(t[235][a].charCodeAt(0)!==65533){r[t[235][a]]=60160+a;e[60160+a]=t[235][a]}t[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(a=0;a!=t[236].length;++a)if(t[236][a].charCodeAt(0)!==65533){r[t[236][a]]=60416+a;e[60416+a]=t[236][a]}t[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(a=0;a!=t[237].length;++a)if(t[237][a].charCodeAt(0)!==65533){r[t[237][a]]=60672+a;e[60672+a]=t[237][a]}t[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(a=0;a!=t[238].length;++a)if(t[238][a].charCodeAt(0)!==65533){r[t[238][a]]=60928+a;e[60928+a]=t[238][a]}t[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(a=0;a!=t[239].length;++a)if(t[239][a].charCodeAt(0)!==65533){r[t[239][a]]=61184+a;e[61184+a]=t[239][a]}t[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(a=0;a!=t[240].length;++a)if(t[240][a].charCodeAt(0)!==65533){r[t[240][a]]=61440+a;e[61440+a]=t[240][a]}t[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(a=0;a!=t[241].length;++a)if(t[241][a].charCodeAt(0)!==65533){r[t[241][a]]=61696+a;e[61696+a]=t[241][a]}t[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(a=0;a!=t[242].length;++a)if(t[242][a].charCodeAt(0)!==65533){r[t[242][a]]=61952+a;e[61952+a]=t[242][a]}t[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(a=0;a!=t[243].length;++a)if(t[243][a].charCodeAt(0)!==65533){r[t[243][a]]=62208+a;e[62208+a]=t[243][a]}t[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(a=0;a!=t[244].length;++a)if(t[244][a].charCodeAt(0)!==65533){r[t[244][a]]=62464+a;e[62464+a]=t[244][a]}t[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(a=0;a!=t[245].length;++a)if(t[245][a].charCodeAt(0)!==65533){r[t[245][a]]=62720+a;e[62720+a]=t[245][a]}t[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(a=0;a!=t[246].length;++a)if(t[246][a].charCodeAt(0)!==65533){r[t[246][a]]=62976+a;e[62976+a]=t[246][a]}t[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(a=0;a!=t[247].length;++a)if(t[247][a].charCodeAt(0)!==65533){r[t[247][a]]=63232+a;e[63232+a]=t[247][a]}return{enc:r,dec:e}}();cptable[10029]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10079]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[10081]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();cptable[28591]=function(){var e="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",r=[],t={};for(var a=0;a!=e.length;++a){if(e.charCodeAt(a)!==65533)t[e.charAt(a)]=a;r[a]=e.charAt(a)}return{enc:t,dec:r}}();if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=cptable;(function(e,r){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var t=cptable;if(typeof module!=="undefined"&&module.exports&&typeof DO_NOT_EXPORT_CODEPAGE==="undefined")module.exports=r(t);else e.cptable=r(t)}else throw new Error("cptable not found")}else cptable=r(cptable)})(this,function(e){"use strict";var r={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var t=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var a=[932,936,949,950];var n=[65001];var i={};var s={};var f={};var o={};var l=function F(e){return String.fromCharCode(e)};var c=function P(e){return e.charCodeAt(0)};var h=typeof Buffer!=="undefined";var u=function(){};if(h){var d=!Buffer.from;if(!d)try{Buffer.from("foo","utf8")}catch(v){d=true}u=d?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)};var p=1024,g=Buffer.allocUnsafe(p);var m=function L(e){var r=Buffer.allocUnsafe(65536);for(var t=0;t<65536;++t)r[t]=0;var a=Object.keys(e),n=a.length;for(var i=0,s=a[i];i>10&1023)];n[s++]=t[56320+(o&1023)]}}}n=n.slice(0,s)}else{n=Buffer.allocUnsafe(a);for(i=0;i>8}return function f(e){var r=e.length,t=0,n=0;if(2*r>p){p=2*r;g=Buffer.allocUnsafe(p)}if(Buffer.isBuffer(e)){for(t=0;t>8}return function l(e,r){var t=e.length,n=Buffer.allocUnsafe(2*t),i=0,s=0,f=0,o=0,l=0;if(typeof e==="string"){for(i=o=0;i0)n[o++]=a[s]}n=n.slice(0,o)}else if(Buffer.isBuffer(e)){for(i=o=0;i0)n[o++]=a[s]}else{f=s-65536;s=2*(55296+(f>>10&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s];s=2*(56320+(f&1023));n[o++]=a[s+1]||a[s];if(a[s+1]>0)n[o++]=a[s]}}n=n.slice(0,o)}else{for(i=o=0;i0)n[o++]=a[s]}}if(!r||r==="buf")return n;if(r!=="arr")return n.toString("binary");return[].slice.call(n)}};var T=function W(r){var t=e[r].dec;var a=Buffer.allocUnsafe(131072),n=0,i,s=0,f=0,o=0;for(o=0;o<65536;++o){a[2*o]=255;a[2*o+1]=253}for(n=0;n>8}return function l(e){var r=e.length,t=Buffer.allocUnsafe(2*r),n=0,i=0,s=0;if(Buffer.isBuffer(e)){for(n=0;np){p=4*r;g=Buffer.allocUnsafe(p)}var n=0;if(r>=3&&e[0]==239)if(e[1]==187&&e[2]==191)n=3;for(var i=1,s=0,f=0;n>8}else{t-=65536;a=55296+(t>>10&1023);t=56320+(t&1023);g[s++]=a&255;g[s++]=a>>>8;g[s++]=t&255;g[s++]=t>>>8&255}}return g.slice(0,s).toString("ucs2")};s[65001]=function z(e,r){if(h&&Buffer.isBuffer(e)){if(!r||r==="buf")return e;if(r!=="arr")return e.toString("binary");return[].slice.call(e)}var t=e.length,a=0,n=0,i=0;var s=typeof e==="string";if(4*t>p){p=4*t;g=Buffer.allocUnsafe(p)}for(var f=0;f>6);g[i++]=128+(a&63)}else if(a>=55296&&a<=57343){a-=55296;++f;n=(s?e.charCodeAt(f):e[f].charCodeAt(0))-56320+(a<<10);g[i++]=240+(n>>>18&7);g[i++]=144+(n>>>12&63);g[i++]=128+(n>>>6&63);g[i++]=128+(n&63)}else{g[i++]=224+(a>>12);g[i++]=128+(a>>6&63);g[i++]=128+(a&63)}}if(!r||r==="buf")return g.slice(0,i);if(r!=="arr")return g.slice(0,i).toString("binary");return[].slice.call(g,0,i)}}var A=function V(){if(h){if(f[t[0]])return;var r=0,l=0;for(r=0;r255){s[d]=f>>8;s[++d]=f&255}else s[d]=f&255}else if(m=r[t])switch(m){case"utf8":if(h&&b){s=u(a,m);d=s.length;break}for(c=0;c>6);s[++d]=128+(f&63)}else if(f>=55296&&f<=57343){f-=55296;v=(b?a.charCodeAt(++c):a[++c].charCodeAt(0))-56320+(f<<10);s[d]=240+(v>>>18&7);s[++d]=144+(v>>>12&63);s[++d]=128+(v>>>6&63);s[++d]=128+(v&63)}else{s[d]=224+(f>>12);s[++d]=128+(f>>6&63);s[++d]=128+(f&63)}}break;case"ascii":if(h&&typeof a==="string"){s=u(a,m);d=s.length;break}for(c=0;c>8}break;case"utf16be":for(c=0;c>8;s[d++]=f&255}break;case"utf32le":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255;f>>=8;s[d++]=f&255}break;case"utf32be":for(c=0;c=55296&&f<=57343)f=65536+(f-55296<<10)+(a[++c].charCodeAt(0)-56320);s[d+3]=f&255;f>>=8;s[d+2]=f&255;f>>=8;s[d+1]=f&255;f>>=8;s[d]=f&255;d+=4}break;case"utf7":for(c=0;c-1){s[d++]=w.charCodeAt(0);continue}var k=X(1201,w);s[d++]=43;s[d++]=_.charCodeAt(k[0]>>2);s[d++]=_.charCodeAt(((k[0]&3)<<4)+((k[1]||0)>>4));s[d++]=_.charCodeAt(((k[1]&15)<<2)+((k[2]||0)>>6));s[d++]=45}break;default:throw new Error("Unsupported magic: "+t+" "+r[t]);}else throw new Error("Unrecognized CP: "+t);s=s.slice(0,d);if(!h)return n=="str"?s.map(l).join(""):s;if(!n||n==="buf")return s;if(n!=="arr")return s.toString("binary");return[].slice.call(s)};var N=function $(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return $(t,a.split("").map(c));var i=a.length,s=new Array(i),o="",l=0,u=0,d=1,v=0,p=0;var g=e[t],m,b="";if(g&&(m=g.dec)){for(u=0;u=3&&a[0]==239)if(a[1]==187&&a[2]==191)u=3;for(;u>10&1023);l=56320+(l&1023);s[v++]=String.fromCharCode(p);s[v++]=String.fromCharCode(l)}}break;case"ascii":if(h&&Buffer.isBuffer(a))return a.toString(b);for(u=0;u=2&&a[0]==255)if(a[1]==254)u=2;if(h&&Buffer.isBuffer(a))return a.toString(b);d=2;for(;u+1=2&&a[0]==254)if(a[1]==255)u=2;d=2;for(;u+1=4&&a[0]==255)if(a[1]==254&&a[2]===0&&a[3]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf32be":if(i>=4&&a[3]==255)if(a[2]==254&&a[1]===0&&a[0]===0)u=4;d=4;for(;u65535){l-=65536;s[v++]=String.fromCharCode(55296+(l>>10&1023));s[v++]=String.fromCharCode(56320+(l&1023))}else s[v++]=String.fromCharCode(l)}break;case"utf7":if(i>=4&&a[0]==43&&a[1]==47&&a[2]==118){if(i>=5&&a[3]==56&&a[4]==45)u=5;else if(a[3]==56||a[3]==57||a[3]==43||a[3]==47)u=4}for(;u>4;k.push(A);x=_.indexOf(String.fromCharCode(a[u+R++]));if(x===-1)break;E=(y&15)<<4|x>>2;k.push(E);O=_.indexOf(String.fromCharCode(a[u+R++]));if(O===-1)break;C=(x&3)<<6|O;if(O<64)k.push(C)}T=$(1201,k);for(R=0;R>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function u(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return h(e.slice(2));if(r==254&&t==255)return u(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function Tb(e){return String.fromCharCode(e)};var p=function Ab(e){return String.fromCharCode(e)};if(typeof a!=="undefined"){o=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};v=function Eb(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};p=function Cb(e){return a.utils.decode(t,[e])[0]}}var g=null;var m=true;var b=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,o=0,l=0;for(var c=0;c>2;n=r.charCodeAt(c++);f=(a&3)<<4|n>>4;i=r.charCodeAt(c++);o=(n&15)<<2|i>>6;l=i&63;if(isNaN(n)){o=l=64}else if(isNaN(i)){l=64}t+=e.charAt(s)+e.charAt(f)+e.charAt(o)+e.charAt(l)}return t},decode:function(r){var t="";var a=0,n=0,i=0,s=0,f=0,o=0,l=0;r=r.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4;t+=String.fromCharCode(a);o=e.indexOf(r.charAt(c++));n=(f&15)<<4|o>>2;if(o!==64){t+=String.fromCharCode(n)}l=e.indexOf(r.charAt(c++));i=(o&3)<<6|l;if(l!==64){t+=String.fromCharCode(i)}}return t}}}();var w=typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node;var k=function(){};if(typeof Buffer!=="undefined"){var T=!Buffer.from;if(!T)try{Buffer.from("foo","utf8")}catch(A){T=true}k=T?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function E(e){return w?Buffer.alloc(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function C(e){return w?Buffer.allocUnsafe(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var S=function Sb(e){if(w)return k(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function y(e){if(typeof ArrayBuffer==="undefined")return S(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function _(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|f>>6&15|(s&3)<<4;n[t++]=128|f&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=E(65535);a=65530}}r.push(n.slice(0,t));return I(r)}var I=function(e){if(typeof Uint8Array!=="undefined"){var r=0,t=0;for(r=0;r=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function f(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var o=Math.pow(2,32);function l(e,r){if(e>o||e<-o)return s(e,r);var t=Math.round(e);return f(t,r)}function c(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var h=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var u=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function d(e){e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var v={};d(v);var p=[];var g=0;for(g=5;g<=8;++g)p[g]=32+g;for(g=23;g<=26;++g)p[g]=0;for(g=27;g<=31;++g)p[g]=14;for(g=50;g<=58;++g)p[g]=14;for(g=59;g<=62;++g)p[g]=g-58;for(g=67;g<=68;++g)p[g]=g-58;for(g=72;g<=75;++g)p[g]=g-58;for(g=67;g<=68;++g)p[g]=g-57;for(g=76;g<=78;++g)p[g]=g-56;for(g=79;g<=81;++g)p[g]=g-34;var m={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function b(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var o=1,l=0,c=0;var h=Math.floor(n);while(lr){if(l>r){c=o;f=i}else{c=l;f=s}}if(!t)return[0,a*f,c];var u=Math.floor(a*f/c);return[u,a*f-u*c,c]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=_(o,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}e.parse_date_code=w;var k=new Date(1899,11,31,0,0,0);var T=k.getTime();var A=new Date(1900,2,1,0,0,0);function E(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=A)t+=24*60*60*1e3;return(t-(T+(e.getTimezoneOffset()-k.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function C(e){return e.toString(10)}e._general_int=C;var S=function H(){var e=/(?:\.0*|(\.\d*[1-9])0+)$/;function r(r){return r.indexOf(".")==-1?r:r.replace(e,"$1")}var t=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\d)$/;function n(e){if(e.indexOf("E")==-1)return e;return e.replace(t,"$1E").replace(a,"$10$2")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t==="0"||t==="-0"?e.toPrecision(6):t}function f(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return f}();e._general_num=S;function y(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):S(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return B(14,E(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=y;function _(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function x(e,r,t,n){var i="",s=0,f=0,o=t.y,l,c=0;switch(e){case 98:o=t.y+543;case 121:switch(r.length){case 1:;case 2:l=o%100;c=2;break;default:l=o%1e4;c=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;c=r.length;break;case 3:return u[t.m-1][1];case 5:return u[t.m-1][0];default:return u[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;c=r.length;break;case 3:return h[t.q][0];default:return h[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:l=1+(t.H+11)%12;c=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:l=t.H;c=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:l=t.M;c=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)f=n===3?1e3:100;else f=n===1?10:1;s=Math.round(f*(t.S+t.u));if(s>=60*f)s=0;if(r==="s")return s===0?"0":""+s/f;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":l=t.D*24+t.H;break;case"[m]":;case"[mm]":l=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":l=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}c=r.length===3?1:2;break;case 101:l=o;c=1;break;}var d=c>0?a(l,c):"";return d}function O(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var R=function z(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return R(r,i,n*Math.pow(10,2*s))+t("%",s)}function f(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return R(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function o(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+o(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var c=/# (\?+)( ?)\/( ?)(\d+)/;function h(e,r,i){var s=parseInt(e[4],10),f=Math.round(r*s),o=Math.floor(f/s);var l=f-o*s,c=s;return i+(o===0?"":""+o)+" "+(l===0?t(" ",e[1].length+1+e[4].length):n(l,e[1].length)+e[2]+"/"+e[3]+a(c,e[4].length))}function u(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var d=/^#*0*\.([0#]+)/;var v=/\).*[0#]/;var p=/\(###\) ###\\?-####/;function g(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function m(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function k(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function T(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function A(e,u,E){if(e.charCodeAt(0)===40&&!u.match(v)){var C=u.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(E>=0)return A("n",C,E);return"("+A("n",C,-E)+")"}if(u.charCodeAt(u.length-1)===44)return f(e,u,E);if(u.indexOf("%")!==-1)return s(e,u,E);if(u.indexOf("E")!==-1)return o(u,E);if(u.charCodeAt(0)===36)return"$"+A(e,u.substr(u.charAt(1)==" "?2:1),E);var S;var y,_,x,I=Math.abs(E),N=E<0?"-":"";if(u.match(/^00+$/))return N+l(I,u.length);if(u.match(/^[#?]+$/)){S=l(E,0);if(S==="0")S="";return S.length>u.length?S:g(u.substr(0,u.length-S.length))+S}if(y=u.match(c))return h(y,I,N);if(u.match(/^#+0+$/))return N+l(I,u.length-u.indexOf("0"));if(y=u.match(d)){S=m(E,y[1].length).replace(/^([^\.]+)$/,"$1."+g(y[1])).replace(/\.$/,"."+g(y[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",g(y[1]).length-r.length)});return u.indexOf("0.")!==-1?S:S.replace(/^0\./,".")}u=u.replace(/^#+([0.])/,"$1");if(y=u.match(/^(0*)\.(#*)$/)){return N+m(I,y[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,y[1].length?"0.":".")}if(y=u.match(/^#{1,3},##0(\.?)$/))return N+O(l(I,0));if(y=u.match(/^#,##0\.([#0]*0)$/)){return E<0?"-"+A(e,u,-E):O(""+(Math.floor(E)+k(E,y[1].length)))+"."+a(w(E,y[1].length),y[1].length)}if(y=u.match(/^#,#*,#0/))return A(e,u.replace(/^#,#*,/,""),E);if(y=u.match(/^([0#]+)(\\?-([0#]+))+$/)){S=r(A(e,u.replace(/[\\-]/g,""),E));_=0;return r(r(u.replace(/\\/g,"")).replace(/[0#]/g,function(e){return _=0)return y("n",o,f);return"("+y("n",o,-f)+")"}if(s.charCodeAt(s.length-1)===44)return E(e,s,f);if(s.indexOf("%")!==-1)return C(e,s,f);if(s.indexOf("E")!==-1)return S(s,f);if(s.charCodeAt(0)===36)return"$"+y(e,s.substr(s.charAt(1)==" "?2:1),f);var l;var h,m,w,k=Math.abs(f),T=f<0?"-":"";if(s.match(/^00+$/))return T+a(k,s.length);if(s.match(/^[#?]+$/)){l=""+f;if(f===0)l="";return l.length>s.length?l:g(s.substr(0,s.length-l.length))+l}if(h=s.match(c))return u(h,k,T);if(s.match(/^#+0+$/))return T+a(k,s.length-s.indexOf("0"));if(h=s.match(d)){l=(""+f).replace(/^([^\.]+)$/,"$1."+g(h[1])).replace(/\.$/,"."+g(h[1]));l=l.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",g(h[1]).length-r.length)});return s.indexOf("0.")!==-1?l:l.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(h=s.match(/^(0*)\.(#*)$/)){return T+(""+k).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,h[1].length?"0.":".")}if(h=s.match(/^#{1,3},##0(\.?)$/))return T+O(""+k);if(h=s.match(/^#,##0\.([#0]*0)$/)){return f<0?"-"+y(e,s,-f):O(""+f)+"."+t("0",h[1].length)}if(h=s.match(/^#,#*,#0/))return y(e,s.replace(/^#,#*,/,""),f);if(h=s.match(/^([0#]+)(\\?-([0#]+))+$/)){l=r(y(e,s.replace(/[\\-]/g,""),f));m=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return m-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=D;function F(e,r,t,a){var n=[],i="",s=0,f="",o="t",l,h,u;var d="H";while(s=12?"P":"A";g.t="T";d="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(l!=null)g.v=l.H>=12?"PM":"AM";g.t="T";s+=5;d="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(l!=null)g.v=l.H>=12?"下午":"上午";g.t="T";s+=5;d="h"}else{g.t="t";++s}if(l==null&&g.t==="T")return"";n[n.length]=g;o=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!D(e))n[n.length]={t:"t",v:i}}break;case".":if(l!=null){i=f;while(++s-1)i+=f;n[n.length]={t:"n",v:i};break;case"?":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};o=f;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":f,v:f};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=f;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:f,v:f};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f)===-1)throw new Error("unrecognized character "+f+" in "+e);n[n.length]={t:"t",v:f};++s;break;}}var m=0,b=0,k;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=d;o="h";if(m<1)m=1;break;case"s":if(k=n[s].v.match(/\.0+$/))b=Math.max(b,k[0].length-1);if(m<3)m=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(m<2)m=2}break;case"X":break;case"Z":if(m<1&&n[s].v.match(/[Hh]/))m=1;if(m<2&&n[s].v.match(/[Mm]/))m=2;if(m<3&&n[s].v.match(/[Ss]/))m=3;}}switch(m){case 0:break;case 1:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}if(l.M>=60){l.M=0;++l.H}break;case 2:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}break;}var T="",A;for(s=0;s0){if(T.charCodeAt(0)==40){C=r<0&&T.charCodeAt(0)===45?-r:r;S=R("n",T,C)}else{C=r<0&&a>1?-r:r;S=R("n",T,C);if(C<0&&n[0]&&n[0].t=="t"){S=S.substr(1);n[0].v="-"+n[0].v}}A=S.length-1;var _=n.length;for(s=0;s-1){_=s;break}var O=n.length;if(_===n.length&&S.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(A>=n[s].v.length-1){A-=n[s].v.length;n[s].v=S.substr(A+1,n[s].v.length)}else if(A<0)n[s].v="";else{n[s].v=S.substr(0,A+1);A=-1}n[s].t="t";O=s}if(A>=0&&O=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;h=n[s].v.indexOf(".")>-1&&s===_?n[s].v.indexOf(".")-1:n[s].v.length-1;E=n[s].v.substr(h+1);for(;h>=0;--h){if(A>=0&&(n[s].v.charAt(h)==="0"||n[s].v.charAt(h)==="#"))E=S.charAt(A--)+E}n[s].v=E;n[s].t="t";O=s}if(A>=0&&O-1&&s===_?n[s].v.indexOf(".")+1:0;E=n[s].v.substr(0,h);for(;h-1){C=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=R(n[s].t,n[s].v,C);n[s].t="t"}var I="";for(s=0;s!==n.length;++s)if(n[s]!=null)I+=n[s].v;return I}e._eval=F;var P=/\[[=<>]/;var L=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function M(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function U(e,r){var t=I(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(P)!=null||t[1].match(P)!=null){var s=t[0].match(L);var f=t[1].match(L);return M(r,s)?[a,t[0]]:M(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function B(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:v)[e];if(a==null)a=t.table&&t.table[p[e]]||v[p[e]];if(a==null)a=m[e]||"General";break;}if(c(a,0))return y(r,t);if(r instanceof Date)r=E(r,t.date1904);var n=U(a,r);if(c(n[1]))return y(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return F(n[1],r,t,n[0])}function W(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(v[t]==undefined){if(r<0)r=t;continue}if(v[t]==e){r=t;break}}if(r<0)r=391}v[r]=e;return r}e.load=W;e._table=v;e.get_table=function V(){return v};e.load_table=function G(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)W(e[r],r)};e.init_table=d;e.format=B}P(F);var L={"General Number":"General","General Date":F._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":F._table[15],"Short Date":F._table[14],"Long Time":F._table[19],"Medium Time":F._table[18],"Short Time":F._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:F._table[2],Standard:F._table[4],Percent:F._table[10],Scientific:F._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var M={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var U=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function B(e){var r=typeof e=="number"?F._table[e]:e;r=r.replace(U,"(\\d+)");return new RegExp("^"+r+"$")}function W(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(r.match(U)||[]).forEach(function(e,r){var l=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=l;break;case"d":i=l;break;case"h":s=l;break;case"s":o=l;break;case"m":if(s>=0)f=l;else n=l;break;}});if(o>=0&&f==-1&&n>=0){f=n;n=-1}var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(l.length==7)l="0"+l;if(l.length==8)l="20"+l;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);if(s==-1&&f==-1&&o==-1)return l;if(a==-1&&n==-1&&i==-1)return c;return l+"T"+c}var H=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],f=n[2],o=n[3],l=n[4];var c=n[5],h=n[6],u=n[7],d=n[8],v=n[9];var p=n[10],g=n[11],m=n[12],b=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^m[e[k++]^a>>16&255]^g[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^u[e[k++]]^h[e[k++]]^c[e[k++]]^l[e[k++]]^o[e[k++]]^f[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]];n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function A(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,f=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=T;e.str=A;return e}();var z=function yb(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){et(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function o(){return f||(f=undefined)}function l(e,r){if(e[0]==80&&e[1]==75)return Ne(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return He(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var o=0;var l=[];var v=e.slice(0,512);et(v,0);var g=c(v);t=g[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(g[1]==0)return Ne(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){v=e.slice(0,a);et(v,28)}var b=e.slice(0,a);h(v,t);var w=v._R(4,"i");if(t===3&&w!==0)throw new Error("# Directory Sectors: Expected 0 saw "+w);v.l+=4;s=v._R(4,"i");v.l+=4;v.chk("00100000","Mini Stream Cutoff Size: ");f=v._R(4,"i");n=v._R(4,"i");o=v._R(4,"i");i=v._R(4,"i");for(var k=-1,A=0;A<109;++A){k=v._R(4,"i");if(k<0)break;l[A]=k}var E=u(e,a);p(o,i,E,a,l);var C=m(E,s,l,a);C[s].name="!Directory";if(n>0&&f!==M)C[f].name="!MiniFAT";C[l[0]].name="!FAT";C.fat_addrs=l;C.ssz=a;var S={},y=[],_=[],x=[];T(s,C,E,y,n,S,_,f);d(_,x,y);y.shift();var O={FileIndex:_,FullPaths:x};if(r&&r.raw)O.raw={header:b,sectors:E};return O}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(U,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function h(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function u(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*L,s*L+L));n-=L;s=Xr(t,s*4)}if(i.length===0)return tt(0);return I(i).slice(0,e.size)}function p(e,r,t,a,n){var i=M;if(e===M){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var o=0;o=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var c=t[Math.floor(o*4/a)];l=o*4&f;if(a<4+l)throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[c])break;o=Xr(e[c],l)}return{nodes:i,data:kr([s])}}function m(e,r,t,a){var n=e.length,i=[];var s=[],f=[],o=[];var l=a-1,c=0,h=0,u=0,d=0;for(c=0;c=n)u-=n;if(s[u])continue;o=[];var v=[];for(h=u;h>=0;){v[h]=true;s[h]=true;f[f.length]=h;o.push(e[h]);var p=t[Math.floor(h*4/a)];d=h*4&l;if(a<4+d)throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[p])break;h=Xr(e[p],d);if(v[h])break}i[u]={nodes:f,data:kr([o])}}return i}function T(e,r,t,a,n,i,s,f){var o=0,l=a.length?2:0;var c=r[e].data;var h=0,u=0,d;for(;h0&&o!==M)r[o].name="!StreamData"}else if(m.size>=4096){m.storage="fat";if(r[m.start]===undefined)r[m.start]=g(t,m.start,r.fat_addrs,r.ssz);r[m.start].name=m.name;m.content=r[m.start].data.slice(0,m.size)}else{m.storage="minifat";if(m.size<0)m.size=0;else if(o!==M&&m.start!==M&&r[o]){m.content=v(m,r[o].data,(r[f]||{}).data)}}if(m.content)et(m.content,0);i[d]=m;s.push(m)}}function A(e,r){return new Date((jr(e,r+4)/1e7*Math.pow(2,32)+jr(e,r)/1e7-11644473600)*1e3)}function y(e,r){o();return l(f.readFileSync(e),r)}function _(e,r){var t=r&&r.type;if(!t){if(w&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return y(e,r);case"base64":return l(S(b.decode(e)),r);case"binary":return l(S(e),r);}return l(e,r)}function x(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;O(e)}function O(e){var r="Sh33tJ5";if(z.find(e,"/"+r))return;var t=tt(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);R(e)}function R(e,n){x(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var o=e.FileIndex[f];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var l=new Date(1987,1,19),c=0;var h=Object.create?Object.create(null):{};var u=[];for(f=0;f1?1:-1;v.size=0;v.type=5}else if(p.slice(-1)=="/"){for(c=f+1;c=u.length?-1:c;for(c=f+1;c=u.length?-1:c;v.type=1}else{if(t(e.FullPaths[f+1]||"")==t(p))v.R=f+1;v.type=2}}}function F(e,r){var t=r||{};if(t.fileType=="mad")return ze(e,t);R(e);switch(t.fileType){case"zip":return Fe(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var o=r+127>>7;var l=f+t+s+o;var c=l+127>>7;var h=c<=109?0:Math.ceil((c-109)/127);while(l+c+h+127>>7>c)h=++c<=109?0:Math.ceil((c-109)/127);var u=[1,h,c,o,s,t,r,0];e.FileIndex[0].size=r<<6;u[7]=(e.FileIndex[0].start=u[0]+u[1]+u[2]+u[3]+u[4]+u[5])+(u[6]+7>>3);return u}(e);var n=tt(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,B[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:M);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:M);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,V.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;c.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,V.ENDOFCHAIN);for(i=0;i=4096){n.l=c.start+1<<9;if(w&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+511&-512}else{for(o=0;o0&&c.size<4096){if(w&&Buffer.isBuffer(c.content)){c.content.copy(n,n.l,0,c.size);n.l+=c.size+63&-64}else{for(o=0;o>16|r>>8|r)&255}var re=typeof Uint8Array!=="undefined";var te=re?new Uint8Array(1<<8):[];for(var ae=0;ae<1<<8;++ae)te[ae]=ee(ae);function ne(e,r){var t=te[e&255];if(r<=8)return t>>>8-r;t=t<<8|te[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|te[e>>16&255];return t>>>24-r}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function ce(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function he(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function ue(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function ve(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function pe(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(w){var i=C(a);if(e.copy)e.copy(i);else for(;n>a-h;for(s=(1<=0;--s)r[f|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=re?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=he(t,n,+!!(i+f==r.length)+2);var o=0;while(f-- >0){var l=r[i];o=(o<<5^l)&32767;var c=-1,h=0;if(c=s[o]){c|=i&~32767;if(c>i)c-=32768;if(c2){l=a[h];if(l<=22)n=de(t,n,te[l+1]>>1)-1;else{de(t,n,3);n+=5;de(t,n,te[l-23]>>5);n+=3}var u=l<8?0:l-4>>2;if(u>0){ve(t,n,h-Z[l]);n+=u}l=e[i-c];n=de(t,n,te[l]>>3);n-=3;var d=l<4?0:l-2>>1;if(d>0){ve(t,n,i-c-Q[l]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)Se[d|p<>>=3){case 16:i=3+ie(e,r);r+=2;d=g[g.length-1];while(i-- >0)g.push(d);break;case 17:i=3+se(e,r);r+=3;while(i-- >0)g.push(0);break;case 18:i=11+le(e,r);r+=7;while(i-- >0)g.push(0);break;default:g.push(d);if(o>>0;var f=0,o=0;while((a&1)==0){a=se(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var l=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(l>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){f=9;o=5}else{t=xe(e,t);f=ye;o=_e}for(;;){if(!r&&s>>1==1?be[c]:Ee[c];t+=h&15;h>>>=4;if((h>>>8&255)===0)n[i++]=h;else if(h==256)break;else{h-=257;var u=h<8?0:h-4>>2;if(u>5)u=0;var d=i+Z[h];if(u>0){d+=ce(e,t,u);t+=u}c=ce(e,t,o);h=a>>>1==1?we[c]:Ce[c];t+=h&15;h>>>=4;var v=h<4?0:h-2>>1;var p=Q[h];if(v>0){p+=ce(e,t,v);t+=v}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Re(e,r){var t=e.slice(e.l||0);var a=Oe(t,r);e.l+=a[1];return a[0]}function Ie(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ne(e,r){var t=e;et(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};x(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var o=t._R(2);t.l+=6;var l=t._R(4);t.l=l;for(f=0;f0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var f="--"+(s[1]||"");var o=[],l=[];var c={FileIndex:o,FullPaths:l};x(c);var h,u=0;for(n=0;n=32&&d<128)++h;var p=h>=u*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(p?"quoted-printable":"base64"));n.push("Content-Type: "+Le(f,s));n.push("");n.push(p?Ue(c):Me(c))}n.push(a+"--\r\n");return n.join("\r\n")}function Ve(e){var r={};x(r,e);return r}function Ge(e,r,t,n){var i=n&&n.unsafe;if(!i)x(e);var s=!i&&z.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!="/")f+="/";f=(f+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)z.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function je(e,r){x(e);var t=z.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var se=new Date("2017-02-19T19:06:09.000Z");if(isNaN(se.getFullYear()))se=new Date("2/19/17");var fe=se.getFullYear()==2017;function oe(e,r){var t=new Date(e);if(fe){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(se.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function le(e,r){if(w&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return e.slice(2).toString("utf16le");if(e[1]==254&&e[2]==255)return u(e.slice(2).toString("binary"))}return e.toString("binary")}var t=[];for(var a=0;a!=e.length;++a)t.push(String.fromCharCode(e[a]));return t.join("")}function ce(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=ce(e[t]);return r}function he(e,r){var t="";while(t.length3&&de.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var pe="abacaba".split(/(:?b)/i).length==5;function ge(e,r,t){if(pe||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Ne=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm;if(!Re.match(Ne))Ne=/<[^>]*>/g;var De=/<\w*:/,Fe=/<(\/?)\w+:/;function Pe(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ie),f=0,o="",l=0,c="",h="",u=1;if(s)for(l=0;l!=s.length;++l){h=s[l];for(i=0;i!=h.length;++i)if(h.charCodeAt(i)===61)break;c=h.slice(0,i).trim();while(h.charCodeAt(i+1)==32)++i;u=(n=h.charCodeAt(i+1))==34||n==39?1:0;o=h.slice(i+1+u,h.length-u);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf("_")>0)c=c.slice(0,c.indexOf("_"));a[c]=o;if(!t)a[c.toLowerCase()]=o}else{var d=(f===5&&c.slice(0,5)==="xmlns"?"xmlns":"")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)=="ext")continue;a[d]=o;if(!t)a[d.toLowerCase()]=o}}return a}function Le(e){return e.replace(Fe,"<$1")}var Me={""":'"',"'":"'",">":">","<":"<","&":"&"};var Ue=J(Me);var Be=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var We=/[&<>'"]/g,He=/[\u0000-\u0008\u000b-\u001f]/g;function ze(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(He,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Ve(e){return ze(e).replace(/ /g,"_x0020_")}var Ge=/[\u0000-\u001f]/g;function je(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(/\n/g,"
").replace(Ge,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Xe(e){var r=e+"";return r.replace(We,function(e){return Ue[e]}).replace(Ge,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var $e=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function Ye(e){return e.replace(/(\r\n|[\r\n])/g," ")}function Ke(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var Je=function _b(e){var r="",t=0,a=0,n=0,i=0,s=0,f=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r};var qe=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(w){var Ze=function xb(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var Qe="foo bar baz☃🍣";if(Je(Qe)==Ze(Qe))Je=Ze;var er=function Ob(e){return k(e,"binary").toString("utf8")};if(Je(Qe)==er(Qe))Je=er;qe=function(e){return k(e,"utf8").toString("binary")}}var rr=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var tr=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var nr=/<\/?(?:vt:)?variant>/g,ir=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function lr(e){return Y(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function cr(e,r,t){return"<"+e+(t!=null?lr(t):"")+(r!=null?(r.match(fr)?' xml:space="preserve"':"")+">"+r+""}function hr(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function ur(e,r){switch(typeof e){case"string":var t=cr("vt:lpwstr",ze(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return cr((e|0)==e?"vt:i4":"vt:r8",ze(String(e)));case"boolean":return cr("vt:bool",e?"true":"false");}if(e instanceof Date)return cr("vt:filetime",hr(e));throw new Error("Unable to serialize "+e)}function dr(e){if(w&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return Je(_(O(e)));throw new Error("Bad input format: expected Buffer or string")}var vr=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var pr={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var gr=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var mr={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function br(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function wr(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var kr=function(e){var r=[],t=10240;for(var a=0;a0?yr(e,r+4,r+4+t-1):""};var Or=xr;var Rr=function(e,r){var t=jr(e,r);return t>0?yr(e,r+4,r+4+t-1):""};var Ir=Rr;var Nr=function(e,r){var t=2*jr(e,r);return t>0?yr(e,r+4,r+4+t-1):""};var Dr=Nr;var Fr,Pr;Fr=Pr=function Rb(e,r){var t=jr(e,r);return t>0?Ar(e,r+4,r+4+t):""};var Lr=function(e,r){var t=jr(e,r);return t>0?yr(e,r+4,r+4+t):""};var Mr=Lr;var Ur,Br;Ur=Br=function(e,r){return br(e,r)};var Wr=function Ib(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(w){Ar=function(e,r,t){if(!Buffer.isBuffer(e))return Er(e,r,t);return e.toString("utf16le",r,t).replace(N,"")};Cr=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):Sr(e,r,t)};xr=function Nb(e,r){if(!Buffer.isBuffer(e))return Or(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Rr=function Db(e,r){if(!Buffer.isBuffer(e))return Ir(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Nr=function Fb(e,r){if(!Buffer.isBuffer(e))return Dr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Fr=function Pb(e,r){if(!Buffer.isBuffer(e))return Pr(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};Lr=function Lb(e,r){if(!Buffer.isBuffer(e))return Mr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};yr=function Mb(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):_r(e,r,t)};kr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:k(e)})):Tr(e)};I=function(e){return Buffer.concat(e.map(function(e){return Buffer.isBuffer(e)?e:k(e)}))};Ur=function Ub(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Br(e,r)};Wr=function Bb(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function Hr(){Ar=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(N,"")};yr=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};xr=function(e,r){var n=jr(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Rr=function(e,t){var n=jr(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Nr=function(e,r){var t=2*jr(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Fr=function(e,r){var t=jr(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};Lr=function(e,r){var t=jr(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")Hr();var zr=function(e,r){return e[r]};var Vr=function(e,r){return e[r+1]*(1<<8)+e[r]};var Gr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var jr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Xr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var $r=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Yr(e,t){var n="",i,s,f=[],o,l,c,h;switch(t){case"dbcs":h=this.l;if(w&&Buffer.isBuffer(this))n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?Xr:$r)(this,this.l);this.l+=4;return i}else{s=jr(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=Ur(this,this.l);else s=Ur([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return s}else e=8;case 16:n=Cr(this,this.l,e);break;};}this.l+=e;return n}var Kr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var qr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Zr(e,r,n){var i=0,s=0;if(n==="dbcs"){for(s=0;s!=r.length;++s)qr(this,r.charCodeAt(s),this.l+2*s);i=2*r.length}else if(n==="sbcs"){if(typeof a!=="undefined"&&t==874){for(s=0;s!=r.length;++s){var f=a.utils.encode(t,r.charAt(s));this[this.l+s]=f[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(s=0;s!=r.length;++s)this[this.l+s]=r.charCodeAt(s)&255}i=r.length}else if(n==="hex"){for(;s>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:i=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:i=4;Kr(this,r,this.l);break;case 8:i=8;if(n==="f"){wr(this,r,this.l);break};case 16:break;case-4:i=4;Jr(this,r,this.l);break;}this.l+=i;return this}function Qr(e,r){var t=Cr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function et(e,r){e.l=r;e._R=Yr;e.chk=Qr;e._W=Zr}function rt(e,r){e.l+=r}function tt(e){var r=E(e);et(r,0);return r}function at(e,r,t){if(!e)return;var a,n,i;et(e,e.l||0);var s=e.length,f=0,o=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Wr(t))e.push(t)}function st(e,r,t){var a=ce(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function ft(e,r,t){var a=ce(e);a.s=st(a.s,r.s,t);a.e=st(a.e,r.s,t);return a}function ot(e,r){if(e.cRel&&e.c<0){e=ce(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=ce(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=kt(e);if(!e.cRel&&e.cRel!=null)t=gt(t);if(!e.rRel&&e.rRel!=null)t=ut(t);return t}function lt(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+pt(e.s.c)+":"+(e.e.cRel?"":"$")+pt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+ht(e.s.r)+":"+(e.e.rRel?"":"$")+ht(e.e.r)}}return ot(e.s,r.biff)+":"+ot(e.e,r.biff)}function ct(e){return parseInt(dt(e),10)-1}function ht(e){return""+(e+1)}function ut(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function dt(e){return e.replace(/\$(\d+)$/,"$1"); +}function vt(e){var r=mt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function pt(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function gt(e){return e.replace(/^([A-Z])/,"$$$1")}function mt(e){return e.replace(/^\$([A-Z])/,"$1")}function bt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function wt(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function kt(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function Tt(e){var r=e.indexOf(":");if(r==-1)return{s:wt(e),e:wt(e)};return{s:wt(e.slice(0,r)),e:wt(e.slice(r+1))}}function At(e,r){if(typeof r==="undefined"||typeof r==="number"){return At(e.s,e.e)}if(typeof e!=="string")e=kt(e);if(typeof r!=="string")r=kt(r);return e==r?e:e+":"+r}function Et(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function Ct(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=F.format(e.z,t?ee(r):r)}catch(a){}try{return e.w=F.format((e.XF||{}).numFmtId||(t?14:0),t?ee(r):r)}catch(a){return""+r}}function St(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Ia[e.v]||e.v;if(r==undefined)return Ct(e,e.v);return Ct(e,r)}function yt(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function _t(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(g!=null&&n==null)n=g;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?wt(a.origin):a.origin;s=o.r;f=o.c}if(!i["!ref"])i["!ref"]="A1:A1"}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=Et(i["!ref"]);l.s.c=c.s.c;l.s.r=c.s.r;l.e.c=Math.max(l.e.c,c.e.c);l.e.r=Math.max(l.e.r,c.e.r);if(s==-1)l.e.r=s=c.e.r+1}for(var h=0;h!=r.length;++h){if(!r[h])continue;if(!Array.isArray(r[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=r[h].length;++u){if(typeof r[h][u]==="undefined")continue;var d={v:r[h][u]};var v=s+h,p=f+u;if(l.s.r>v)l.s.r=v;if(l.s.c>p)l.s.c=p;if(l.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Dt(e){return{ich:e._R(2),ifnt:e._R(2)}}function Ft(e,r){if(!r)r=tt(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function Pt(e,r){var t=e.l;var a=e._R(1);var n=It(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var o=0;o!=f;++o)i.push(Dt(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Lt(e,r){var t=false;if(r==null){t=true;r=tt(15+4*e.t.length)}r._W(1,0);Nt(e.t,r);return t?r.slice(0,r.l):r}var Mt=Pt;function Ut(e,r){var t=false;if(r==null){t=true;r=tt(23+4*e.t.length)}r._W(1,1);Nt(e.t,r);r._W(4,1);Ft({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Bt(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Wt(e,r){if(r==null)r=tt(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function Ht(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function zt(e,r){if(r==null)r=tt(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Vt=It;var Gt=Nt;function jt(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function Xt(e,r){var t=false;if(r==null){t=true;r=tt(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var $t=It;var Yt=jt;var Kt=Xt;function Jt(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;var n=a===0?Ur([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):Xr(r,0)>>2;return t?n/100:n}function qt(e,r){if(r==null)r=tt(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function Zt(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Qt(e,r){if(!r)r=tt(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var ea=Zt;var ra=Qt;function ta(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function aa(e,r){return(r||tt(8))._W(8,e,"f")}function na(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var f=e._R(1);var o=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var l=Ra[n];if(l)r.rgb=oo(l);break;case 2:r.rgb=oo([s,f,o]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function ia(e,r){if(!r)r=tt(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";if(typeof a=="number")a=("000000"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function sa(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function fa(e,r){if(!r)r=tt(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function oa(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function la(e){return oa(e,1)}function ca(e){return oa(e,2)}var ha=2;var ua=3;var da=11;var va=12;var pa=19;var ga=30;var ma=64;var ba=65;var wa=71;var ka=4096;var Ta=80;var Aa=81;var Ea=[Ta,Aa];var Ca={1:{n:"CodePage",t:ha},2:{n:"Category",t:Ta},3:{n:"PresentationFormat",t:Ta},4:{n:"ByteCount",t:ua},5:{n:"LineCount",t:ua},6:{n:"ParagraphCount",t:ua},7:{n:"SlideCount",t:ua},8:{n:"NoteCount",t:ua},9:{n:"HiddenCount",t:ua},10:{n:"MultimediaClipCount",t:ua},11:{n:"ScaleCrop",t:da},12:{n:"HeadingPairs",t:ka|va},13:{n:"TitlesOfParts",t:ka|ga},14:{n:"Manager",t:Ta},15:{n:"Company",t:Ta},16:{n:"LinksUpToDate",t:da},17:{n:"CharacterCount",t:ua},19:{n:"SharedDoc",t:da},22:{n:"HyperlinksChanged",t:da},23:{n:"AppVersion",t:ua,p:"version"},24:{n:"DigSig",t:ba},26:{n:"ContentType",t:Ta},27:{n:"ContentStatus",t:Ta},28:{n:"Language",t:Ta},29:{n:"Version",t:Ta},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var Sa={1:{n:"CodePage",t:ha},2:{n:"Title",t:Ta},3:{n:"Subject",t:Ta},4:{n:"Author",t:Ta},5:{n:"Keywords",t:Ta},6:{n:"Comments",t:Ta},7:{n:"Template",t:Ta},8:{n:"LastAuthor",t:Ta},9:{n:"RevNumber",t:Ta},10:{n:"EditTime",t:ma},11:{n:"LastPrinted",t:ma},12:{n:"CreatedDate",t:ma},13:{n:"ModifiedDate",t:ma},14:{n:"PageCount",t:ua},15:{n:"WordCount",t:ua},16:{n:"CharCount",t:ua},17:{n:"Thumbnail",t:wa},18:{n:"Application",t:Ta},19:{n:"DocSecurity",t:ua},255:{},2147483648:{n:"Locale",t:pa},2147483651:{n:"Behavior",t:pa},1919054434:{}};var ya={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var _a=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function xa(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Oa=xa([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Ra=ce(Oa);var Ia={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Na=q(Ia);var Da={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var Fa={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Pa(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function La(e){var r=Pa();if(!e||!e.match)return r;var t={};(e.match(Ne)||[]).forEach(function(e){var a=Pe(e);switch(a[0].replace(De,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var Ma=cr("Types",null,{xmlns:pr.CT,"xmlns:xsd":pr.xsd,"xmlns:xsi":pr.xsi});function Ua(e,r){var t=Z(Da);var a=[],n;a[a.length]=Re;a[a.length]=Ma;a=a.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return cr("Default",null,{Extension:e[0],ContentType:e[1]})}));var i=function(t){if(e[t]&&e[t].length>0){n=e[t][0];a[a.length]=cr("Override",null,{PartName:(n[0]=="/"?"":"/")+n,ContentType:Fa[t][r.bookType]||Fa[t]["xlsx"]})}};var s=function(t){(e[t]||[]).forEach(function(e){a[a.length]=cr("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:Fa[t][r.bookType]||Fa[t]["xlsx"]})})};var f=function(r){(e[r]||[]).forEach(function(e){a[a.length]=cr("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:t[r][0]})})};i("workbooks");s("sheets");s("charts");f("themes");["strs","styles"].forEach(i);["coreprops","extprops","custprops"].forEach(f);f("vba");f("comments");f("threadedcomments");f("drawings");s("metadata");f("people");if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Ba={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Wa(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Ha(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Ne)||[]).forEach(function(e){var n=Pe(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ga=[Ba.HLINK,Ba.XPATH,Ba.XMISS];function ja(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if(Ga.indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var Xa="application/vnd.oasis.opendocument.spreadsheet";function $a(e,r){var t=dr(e);var a;var n;while(a=vr.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Pe(a[0],false);if(n.path=="/"&&n.type!==Xa)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function Ya(e){var r=[Re];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function Ka(e,r,t){return[' \n',' \n'," \n"].join("")}function Ja(e,r){return[' \n',' \n'," \n"].join("")}function qa(e){var r=[Re];r.push('\n');for(var t=0;t!=e.length;++t){r.push(Ka(e[t][0],e[t][1]));r.push(Ja("",e[t][0]))}r.push(Ka("","Document","pkg"));r.push("");return r.join("")}function Za(){return'Sheet'+"JS "+e.version+""}var Qa=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];var en=function(){var e=new Array(Qa.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function rn(e){var r={};e=Je(e);for(var t=0;t0)r[a[1]]=Be(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=oe(r[a[1]])}return r}function tn(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=ze(r);a[a.length]=t?cr(e,r,t):or(e,r)}function an(e,r){var t=r||{};var a=[Re,cr("cp:coreProperties",null,{"xmlns:cp":pr.CORE_PROPS,"xmlns:dc":pr.dc,"xmlns:dcterms":pr.dcterms,"xmlns:dcmitype":pr.dcmitype,"xmlns:xsi":pr.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)tn("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:hr(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)tn("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:hr(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=Qa.length;++i){var s=Qa[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f="1";else if(f===false)f="0";else if(typeof f=="number")f=String(f);if(f!=null)tn(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var nn=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];var sn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function fn(e,r,t,a){var n=[];if(typeof e=="string")n=sr(e,a);else for(var i=0;i0)for(var l=0;l!==n.length;l+=2){o=+n[l+1].v;switch(n[l].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=o;t.SheetNames=s.slice(f,f+o);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=o;t.DefinedNames=s.slice(f,f+o);break;case"Charts":;case"Diagramme":t.Chartsheets=o;t.ChartNames=s.slice(f,f+o);break;}f+=o}}function on(e,r,t){var a={};if(!r)r={};e=Je(e);nn.forEach(function(t){var n=(e.match(rr(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Be(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)fn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function ln(e){var r=[],t=cr;if(!e)e={};e.Application="SheetJS";r[r.length]=Re;r[r.length]=cr("Properties",null,{xmlns:pr.EXT_PROPS,"xmlns:vt":pr.vt});nn.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=ze(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+ze(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var cn=/<[^>]+>[^<]*/g;function hn(e,r){var t={},a="";var n=e.match(cn);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Pe(s);switch(f[0]){case"":a=null;break;default:if(s.indexOf("");var l=o[0].slice(4),c=o[1];switch(l){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Be(c);break;case"bool":t[a]=Ke(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=oe(c);break;case"cy":;case"error":t[a]=Be(c);break;default:if(l.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,l,o);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var dn={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};var vn;function pn(e,r,t){if(!vn)vn=J(dn);r=vn[r]||r;e[r]=t}function gn(e,r){var t=[];Y(dn).map(function(e){for(var r=0;r'+n.join("")+""}function bn(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function wn(e){var r=typeof e=="string"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=tt(8);s._W(4,a);s._W(4,n);return s}function kn(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function Tn(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function An(e,r,t){if(r===31)return Tn(e);return kn(e,r,t)}function En(e,r,t){return An(e,r,t===false?0:4)}function Cn(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return An(e,r,0)}function Sn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a){var n=e.l;t[a]=e._R(0,"lpwstr").replace(N,"");if(e.l-n&2)e.l+=2}return t}function yn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(N,"");return t}function _n(e){var r=e.l;var t=Nn(e,Aa);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Nn(e,ua);return[t,a]}function xn(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Rn(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function In(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Nn(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==va)if(a!==r&&Ea.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===va?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return kn(e,a,4).replace(N,"");case 31:return Tn(e);case 64:return bn(e);case 65:return Rn(e);case 71:return In(e);case 80:return En(e,a,!i.raw).replace(N,"");case 81:return Cn(e,a).replace(N,"");case 4108:return xn(e);case 4126:;case 4127:return a==4127?Sn(e):yn(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Dn(e,r){var t=tt(4),a=tt(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=tt(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=wn(r);break;case 31:;case 80:a=tt(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,"dbcs");while(a.l!=a.length)a._W(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+r);}return I([t,a])}function Fn(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var l=-1,c={};for(s=0;s!=n;++s){var h=e._R(4);var u=e._R(4);i[s]=[h,u+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=Nn(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+("0000"+String(d[p.n]&65535)).slice(-4);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:o(f=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Nn(e,ha);o(f);if(l!==-1){var g=e.l;e.l=i[l][1];c=On(e,f);e.l=g}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}c=On(e,f)}else{var m=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=Rn(e);break;case 30:e.l+=4;b=En(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;b=En(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4;b=e._R(4,"i");break;case 19:e.l+=4;b=e._R(4);break;case 5:e.l+=4;b=e._R(8,"f");break;case 11:e.l+=4;b=Vn(e,4);break;case 64:e.l+=4;b=oe(bn(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[m]=b}}}e.l=t+a;return d}var Pn=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function Ln(e){switch(typeof e){case"boolean":return 11;case"number":return(e|0)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64;break;}return-1}function Mn(e,r,t){var a=tt(8),n=[],i=[];var s=8,f=0;var o=tt(8),l=tt(8);o._W(4,2);o._W(4,1200);l._W(4,1);i.push(o);n.push(l);s+=8+o.length;if(!r){l=tt(8);l._W(4,0);n.unshift(l);var c=[tt(4)];c[0]._W(4,e.length);for(f=0;f-1||sn.indexOf(e[f][0])>-1)continue;if(e[f][1]==null)continue;var u=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p=="version"&&typeof u=="string"){var p=u.split(".");u=(+p[0]<<16)+(+p[1]||0)}o=Dn(v.t,u)}else{var g=Ln(u);if(g==-1){g=31;u=String(u)}o=Dn(g,u)}i.push(o);l=tt(8);l._W(4,!r?2+f:d);n.push(l);s+=8+o.length}var m=8*(i.length+1);for(f=0;f=12?2:1);var i="sbcs-cont";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var o=n?e._R(n,i):"";r=s;return o}function qn(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var o=0,l;var c={};if(s)o=e._R(2);if(i)l=e._R(4);var h=f==2?"dbcs-cont":"sbcs-cont";var u=a===0?"":e._R(a,h);if(s)e.l+=4*o;if(i)e.l+=l;c.t=u;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function Zn(e){var r=e.t||"",t=1;var a=tt(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=tt(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return I(i)}function Qn(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function ei(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return Qn(e,a,t)}function ri(e,r,t){if(t.biff>5)return ei(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function ti(e,r,t){if(!t)t=tt(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function ai(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function ni(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(N,"");if(a)e.l+=24;return n}function ii(e){var r=e._R(2);var t="";while(r-- >0)t+="../";var a=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var n=e._R(4);if(n===0)return t+a.replace(/\\/g,"/");var i=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var s=e._R(i>>1,"utf16le").replace(N,"");return t+s}function si(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return ni(e,r);case"0303000000000000c000000000000046":return ii(e,r);default:throw new Error("Unsupported Moniker "+t);}}function fi(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(N,""):"";return t}function oi(e,r){if(!r)r=tt(6+e.length*2);r._W(4,1+e.length);for(var t=0;t-1?31:23;switch(a.charAt(0)){case"#":i=28;break;case".":i&=~2;break;}r._W(4,2);r._W(4,i);var s=[8,6815827,6619237,4849780,83];for(t=0;t-1?a.slice(0,n):a;r._W(4,2*(f.length+1));for(t=0;t-1?a.slice(n+1):"",r)}else{s="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" ");for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function bi(e){var r=e._R(2);var t=Jt(e);return[r,t]}function wi(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=Jn(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function ki(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function Ti(e,r){if(!r)r=tt(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Ai(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Ei=Ai;function Ci(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function Si(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function yi(e){var r={};e.l+=4;e.cf=e._R(2);return r}function _i(e){e.l+=2;e.l+=e._R(2)}var xi={0:_i,4:_i,5:_i,6:_i,7:yi,8:_i,9:_i,10:_i,11:_i,12:_i,13:Si,14:_i,15:_i,16:_i,17:_i,18:_i,19:_i,20:_i,21:Ci};function Oi(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function Ii(e,r,t){var a=1536,n=16;switch(t.bookType){case"biff8":break;case"biff5":a=1280;n=8;break;case"biff4":a=4;n=6;break;case"biff3":a=3;n=6;break;case"biff2":a=2;n=4;break;case"xla":break;default:throw new Error("unsupported BIFF version");}var i=tt(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Ni(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Di(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=ri(e,0,t);e._R(r+a-e.l);return n}function Fi(e,r){var t=!r||r.biff==8;var a=tt(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=tt(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function Ui(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function ji(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var o=e._R(2),l=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:o,TabRatio:l}}function Xi(){var e=tt(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function $i(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function Yi(e){var r=tt(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function Ki(){}function Ji(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=Jn(e,0,t);return a}function qi(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=tt(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function Zi(e){var r=di(e);r.isst=e._R(4);return r}function Qi(e,r,t,a){var n=tt(10);vi(e,r,a,n);n._W(4,t);return n}function es(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=di(e,6);if(t.biff==2)e.l++;var i=ei(e,a-e.l,t);n.val=i;return n}function rs(e,r,t,a,n){var i=!n||n.biff==8;var s=tt(6+2+ +i+(1+i)*t.length);vi(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function ts(e,r,t){var a=e._R(2);var n=ri(e,0,t);return[a,n]}function as(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var ns=ri;function is(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),o=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:o}}}function ss(e,r){var t=r.biff==8||!r.biff?4:2;var a=tt(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function fs(e){var r=e._R(2),t=e._R(2);var a=bi(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function os(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=o&127;n.icvBack=o>>7&127;n.fsxButton=o>>14&1;return n}function hs(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=cs(e,r,a.fStyle,t);return a}function us(e,r,t,a){var n=t&&t.biff==5;if(!a)a=tt(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}var i=0;if(e.numFmtId>0&&n)i|=1024;a._W(4,i);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function ds(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function vs(e){var r=tt(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function ps(e,r,t){var a=di(e,6);if(t.biff==2||r==9)++e.l;var n=Yn(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function gs(e,r,t,a,n,i){var s=tt(8);vi(e,r,a,s);Kn(t,i,s);return s}function ms(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=di(e,6);var n=ta(e,8);a.val=n;return a}function bs(e,r,t,a){var n=tt(14);vi(e,r,a,n);aa(t,n);return n}var ws=gi;function ks(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=Qn(e,i);var f=[];while(a>e.l)f.push(ei(e));return[i,n,s,f]}function Ts(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=wi(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var As=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Es(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var o=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;o=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var l=Qn(e,s,t);if(n&32)l=As[l.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:tu(e,c,t,f);return{chKey:i,Name:l,itab:o,rgce:h}}function Cs(e,r,t){if(t.biff<8)return Ss(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(mi(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Ss(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=Jn(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function ys(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=Qn(e,a,t);var s=Qn(e,n,t);return[i,s]}function _s(e,r,t){var a=Ai(e,6);e.l++;var n=e._R(1);r-=8;return[au(e,r,t),n,a]}function xs(e,r,t){var a=Ei(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,eu(e,r,t,a)]}function Os(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Rs(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=ri(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Is(e,r,t){return Rs(e,r,t)}function Ns(e,r){var t=[];var a=e._R(2);while(a--)t.push(ki(e,r));return t}function Ds(e){var r=tt(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error("cchText: "+f+" != "+n.length)}e.l=a+r;return{t:n}}catch(u){e.l=a+r;return{t:n}}}function Us(e,r){var t=ki(e,8);e.l+=16;var a=li(e,r-24);return[t,a]}function Bs(e){var r=tt(24);var t=wt(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return I([r,ci(e[1])])}function Ws(e,r){e._R(2);var t=ki(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(N,"");return[t,a]}function Hs(e){var r=e[1].Tooltip;var t=tt(10+2*(r.length+1));t._W(2,2048);var a=wt(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(ui(e,8));return t}function js(e){var r=e._R(2);var t=[];while(r-- >0)t.push(ui(e,8));return t}function Xs(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function $s(e,r,t){if(!t.cellStyles)return rt(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var o=e._R(2);if(a==2)e.l+=2;var l={s:n,e:i,w:s,ixfe:f,flags:o};if(t.biff>=5||!t.biff)l.level=o>>8&7;return l}function Ys(e,r){var t=tt(12);t._W(2,r);t._W(2,r);t._W(2,e.width*256);t._W(2,0);var a=0;if(e.hidden)a|=1;t._W(1,a);a=e.level||0;t._W(1,a);t._W(2,0);return t}function Ks(e,r){var t={};if(r<32)return t;e.l+=16;t.header=ta(e,8);t.footer=ta(e,8);e.l+=2;return t}function Js(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function qs(e){var r=tt(2*e);for(var t=0;t1048576)c=1e6;if(s!=2)h=i._R(2);var u=i._R(2);var d=t.codepage||1252;if(s!=2){i.l+=16;i._R(1);if(i[i.l]!==0)d=e[i[i.l]];i.l+=1;i.l+=2}if(l)i.l+=36;var v=[],p={};var g=Math.min(i.length,s==2?521:h-10-(o?264:0));var m=l?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++w]=[];k=0;for(k=0;k!=v.length;++k){var T=i.slice(i.l,i.l+v[k].len);i.l+=v[k].len;et(T,0);var A=a.utils.decode(d,T);switch(v[k].type){case"C":if(A.trim().length)n[w][k]=A.replace(/\s+$/,"");break;case"D":if(A.length===8)n[w][k]=new Date(+A.slice(0,4),+A.slice(4,6)-1,+A.slice(6,8));else n[w][k]=A;break;case"F":n[w][k]=parseFloat(A.trim());break;case"+":;case"I":n[w][k]=l?T._R(-4,"i")^2147483648:T._R(4,"i");break;case"L":switch(A.trim().toUpperCase()){case"Y":;case"T":n[w][k]=true;break;case"N":;case"F":n[w][k]=false;break;case"":;case"?":break;default: +throw new Error("DBF Unrecognized L:|"+A+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[w][k]="##MEMO##"+(l?parseInt(A.trim(),10):T._R(4));break;case"N":A=A.replace(/\u0000/g,"").trim();if(A&&A!=".")n[w][k]=+A||0;break;case"@":n[w][k]=new Date(T._R(-8,"f")-621356832e5);break;case"T":n[w][k]=new Date((T._R(4)-2440588)*864e5+T._R(4));break;case"Y":n[w][k]=T._R(4,"i")/1e4+T._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[w][k]=-T._R(-8,"f");break;case"B":if(o&&v[k].len==8){n[w][k]=T._R(8,"f");break};case"G":;case"P":T.l+=v[k].len;break;case"0":if(v[k].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[k].type);}}}if(s!=2)if(i.l=0)o(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=nt();var s=Km(e,{header:1,raw:true,cellDates:true});var l=s[0],c=s.slice(1),h=e["!cols"]||[];var u=0,d=0,v=0,p=1;for(u=0;u250)A=250;T=((h[u]||{}).DBF||{}).type;if(T=="C"){if(h[u].DBF.len>A)A=h[u].DBF.len}if(k=="B"&&T=="N"){k="N";w[u]=h[u].DBF.dec;A=h[u].DBF.len}b[u]=k=="C"||T=="N"?A:f[k]||0;p+=b[u];m[u]=k}var C=i.next(32);C._W(4,318902576);C._W(4,c.length);C._W(2,296+32*v);C._W(2,p);for(u=0;u<4;++u)C._W(4,0);C._W(4,0|(+r[t]||3)<<8);for(u=0,d=0;u":190,"?":191,"{":223};var r=new RegExp("N("+Y(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?p(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(b.decode(e),r);case"binary":return s(e,r);case"buffer":return s(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),r);case"array":return s(le(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),f=-1,l=-1,c=0,h=0,u=[];var d=[];var v=null;var p={},g=[],m=[],b=[];var w=0,k;if(+i.codepage>=0)o(+i.codepage);for(;c!==s.length;++c){w=0;var T=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var A=T.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var E=A[0],C;if(T.length>0)switch(E){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(A[1].charAt(0)=="P")d.push(T.slice(3).replace(/;;/g,";"));break;case"C":var S=false,y=false,_=false,x=false,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[f][l][1]=kc(N[1],{r:f-O,c:l-R})}break;case"F":var D=0;for(h=1;h0){g[f].hpt=w;g[f].hpx=yo(w)}else if(w===0)g[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}if(D<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+T);}}if(g.length>0)p["!rows"]=g;if(m.length>0)p["!cols"]=m;if(i&&i.sheetRows)u=u.slice(0,i.sheetRows);return[u,p]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1];var s=xt(a,r);Y(n).forEach(function(e){s[e]=n[e]});return s}function l(e,r){return yt(f(e,r),r)}function c(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+wc(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function h(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=mo(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=bo(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*So(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function d(e,r){var t=["ID;PWXL;N;E"],a=[];var n=Et(e["!ref"]),i;var s=Array.isArray(e);var f="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])h(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var o=n.s.r;o<=n.e.r;++o){for(var l=n.s.c;l<=n.e.c;++l){var d=kt({r:o,c:l});i=s?(e[o]||[])[l]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(c(i,e,o,l,r))}}return t.join(f)+f+a.join(f)+f+"E"+f}return{to_workbook:l,to_sheet:f,from_sheet:d}}();var vf=function(){function e(e,t){switch(t.type){case"base64":return r(b.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(le(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(",");var o=f[0],l=f[1];++i;var c=t[i]||"";while((c.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var f=10,o=0;var l=0;for(;l<=s;++l){o=i[l].indexOf(" ");if(o==-1)o=i[l].length;else o++;f=Math.max(f,o)}for(l=0;l<=s;++l){n[l]=[];var c=0;e(i[l].slice(0,f).trim(),n,l,c,a);for(c=1;c<=(i[l].length-f)/10+1;++c)e(i[l].slice(f+(c-1)*10,f+c*10).trim(),n,l,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var n={44:3,9:2,59:1,124:0};function i(e){var r={},a=false,i=0,s=0;for(;i0)b();n["!ref"]=At(s);return n}function f(e,t){if(!(t&&t.PRN))return s(e,t);if(t.FS)return s(e,t);if(e.slice(0,4)=="sep=")return s(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return s(e,t);return xt(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:Cm(e,r);switch(r.type){case"base64":t=b.decode(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof a!=="undefined")t=a.utils.decode(r.codepage,e);else t=w&&Buffer.isBuffer(e)?e.toString("binary"):_(e);break;case"array":t=le(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(n[0]==239&&n[1]==187&&n[2]==191)t=Je(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=Je(t);else if(r.type=="binary"&&typeof a!=="undefined"&&r.codepage)t=a.utils.decode(r.codepage,a.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return pf.to_sheet(r.type=="string"?t:Je(t),r);return f(t,r)}function l(e,r){return yt(o(e,r),r)}function c(e){var r=[];var t=Et(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var o=kt({r:i,c:f});a=n?(e[i]||[])[f]:e[o];if(!a||a.v==null){s.push(" ");continue}var l=(a.w||(St(a),a.w)||"").slice(0,10);while(l.length<10)l+=" ";s.push(l+(f===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:l,to_sheet:o,from_sheet:c}}();function mf(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=df.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return gf.to_workbook(e,r)}}var bf=function(){function e(e,r,t){if(!e)return;et(e,e.l||0);var a=t.Enum||H;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){a.Enum=H;e(r,function(e,r,t){switch(t){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:h=e;break;case 204:if(e)s=e;break;case 222:s=e;break;case 15:;case 51:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:if(t==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||F._table[14];if(a.cellDates){e[1].t="d";e[1].v=ne(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=At(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(n[e[0].r]||[])[e[0].c]:n[kt(e[0])];if(c){c.t=e[1].t;c.v=e[1].v;if(e[1].z!=null)c.z=e[1].z;if(e[1].f!=null)c.f=e[1].f;break}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];break;default:;}},a)}else if(r[2]==26||r[2]==14){a.Enum=z;if(r[2]==14){a.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:i=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=At(h);o[i]=n;l.push(i);n=a.dense?[]:{};h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(u>0&&e[0].r>=u)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[kt(e[0])]=e[1];if(h.e.c=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=nt();var n=Et(e["!ref"]);var s=Array.isArray(e);var f=[];lg(a,0,i(1030));lg(a,6,l(n));var c=Math.min(n.e.r,8191);for(var h=n.s.r;h<=c;++h){var d=ht(h);for(var p=n.s.c;p<=n.e.c;++p){if(h===n.s.r)f[p]=pt(p);var g=f[p]+d;var b=s?(e[h]||[])[p]:e[g];if(!b||b.t=="z")continue;if(b.t=="n"){if((b.v|0)==b.v&&b.v>=-32768&&b.v<=32767)lg(a,13,v(h,p,b.v));else lg(a,14,m(h,p,b.v))}else{var w=St(b);lg(a,15,u(h,p,w.slice(0,239)))}}}lg(a,1);return a.end()}function n(e,r){var t=r||{};if(+t.codepage>=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK3 to JS string");var a=nt();lg(a,0,s(e));for(var n=0,i=0;n8191)t=8191;r._W(2,t);r._W(1,n);r._W(1,a);r._W(2,0);r._W(2,0);r._W(1,1);r._W(1,2);r._W(4,0);r._W(4,0);return r}function f(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};if(r==8&&t.qpro){a.s.c=e._R(1);e.l++;a.s.r=e._R(2);a.e.c=e._R(1);e.l++;a.e.r=e._R(2);return a}a.s.c=e._R(2);a.s.r=e._R(2);if(r==12&&t.qpro)e.l+=2;a.e.c=e._R(2);a.e.r=e._R(2);if(r==12&&t.qpro)e.l+=2;if(a.s.c==65535)a.s.c=a.e.c=a.s.r=a.e.r=0;return a}function l(e){var r=tt(8);r._W(2,e.s.c);r._W(2,e.s.r);r._W(2,e.e.c);r._W(2,e.e.r);return r}function c(e,r,t){var a=[{c:0,r:0},{t:"n",v:0},0,0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);a[3]=e._R(1);a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function h(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){e.l++;var i=e._R(1);n[1].v=e._R(i,"utf8");return n}if(t.qpro)e.l++;n[1].v=e._R(a-e.l,"cstr");return n}function u(e,r,t){var a=tt(7+t.length);a._W(1,255);a._W(2,r);a._W(2,e);a._W(1,39);for(var n=0;n=128?95:i)}a._W(1,0);return a}function d(e,r,t){var a=c(e,r,t);a[1].v=e._R(2,"i");return a}function v(e,r,t){var a=tt(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function p(e,r,t){var a=c(e,r,t);a[1].v=e._R(8,"f");return a}function m(e,r,t){var a=tt(13);a._W(1,255);a._W(2,r);a._W(2,e);a._W(8,t,"f");return a}function w(e,r,t){var a=e.l+r;var n=c(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);E(e.slice(e.l,e.l+i),n);e.l+=i}return n}function k(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?pt(r):ht(r))}var T={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]};var A=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function E(e,r){et(e,0);var t=[],a=0,n="",i="",s="",f="";while(e.lt.length){console.error("WK1 bad formula parse 0x"+o.toString(16)+":|"+t.join("|")+"|");return}var u=t.slice(-a);t.length-=a;t.push(T[o][0]+"("+u.join(",")+")")}else if(o<=7)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=24)return console.error("WK1 unsupported op "+o.toString(16));else if(o<=30)return console.error("WK1 invalid opcode "+o.toString(16));else if(o<=115)return console.error("WK1 unsupported function opcode "+o.toString(16));else return console.error("WK1 unrecognized opcode "+o.toString(16));}}if(t.length==1)r[1].f=""+t[0];else console.error("WK1 bad formula parse |"+t.join("|")+"|")}function C(e){var r=[{c:0,r:0},{t:"n",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function y(e,r){var t=C(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function _(e,r,t,a){var n=tt(6+a.length);n._W(2,e);n._W(1,t);n._W(1,r);n._W(1,39);for(var i=0;i=128?95:s)}n._W(1,0);return n}function x(e,r){var t=C(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 0:a=(a>>3)*5e3;break;case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;}}t[1].v=a;return t}function O(e,r){var t=C(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){if(a===0&&n===3221225472){t[1].t="e";t[1].v=15}else if(a===0&&n===3489660928){t[1].t="e";t[1].v=42}else t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(1-s*2)*(n*Math.pow(2,i+32)+a*Math.pow(2,i));return t}function R(e,r,t,a){var n=tt(14);n._W(2,e);n._W(1,t);n._W(1,r);if(a==0){n._W(4,0);n._W(4,0);n._W(2,65535);return n}var i=0,s=0,f=0,o=0;if(a<0){i=1;a=-a}s=Math.log2(a)|0;a/=Math.pow(2,s-31);o=a>>>0;if((o&2147483648)==0){a/=2;++s;o=a>>>0}a-=o;o|=2147483648;o>>>=0;a*=Math.pow(2,32);f=a>>>0;n._W(4,f);n._W(4,o);s+=16383+(i?32768:0);n._W(2,s);return n}function I(e,r){var t=O(e,14);e.l+=r-14;return t}function N(e,r){var t=C(e,r);var a=e._R(4);t[1].v=a>>6;return t}function D(e,r){var t=C(e,r);var a=e._R(8,"f");t[1].v=a;return t}function P(e,r){var t=D(e,14);e.l+=r-10;return t}function L(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function M(e,r){var t=e[e.l++];if(t>r-1)t=r-1;var a="";while(a.length127?95:n}t[t.l++]=0;return t}var H={0:{n:"BOF",f:jn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:f},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:d},14:{n:"NUMBER",f:p},15:{n:"LABEL",f:h},16:{n:"FORMULA",f:w},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:h},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:L},222:{n:"SHEETNAMELP",f:M},65535:{n:""}};var z={0:{n:"BOF"},1:{n:"EOF"},2:{n:"PASSWORD"},3:{n:"CALCSET"},4:{n:"WINDOWSET"},5:{n:"SHEETCELLPTR"},6:{n:"SHEETLAYOUT"},7:{n:"COLUMNWIDTH"},8:{n:"HIDDENCOLUMN"},9:{n:"USERRANGE"},10:{n:"SYSTEMRANGE"},11:{n:"ZEROFORCE"},12:{n:"SORTKEYDIR"},13:{n:"FILESEAL"},14:{n:"DATAFILLNUMS"},15:{n:"PRINTMAIN"},16:{n:"PRINTSTRING"},17:{n:"GRAPHMAIN"},18:{n:"GRAPHSTRING"},19:{n:"??"},20:{n:"ERRCELL"},21:{n:"NACELL"},22:{n:"LABEL16",f:y},23:{n:"NUMBER17",f:O},24:{n:"NUMBER18",f:x},25:{n:"FORMULA19",f:I},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:B},28:{n:"DTLABELMISC"},29:{n:"DTLABELCELL"},30:{n:"GRAPHWINDOW"},31:{n:"CPA"},32:{n:"LPLAUTO"},33:{n:"QUERY"},34:{n:"HIDDENSHEET"},35:{n:"??"},37:{n:"NUMBER25",f:N},38:{n:"??"},39:{n:"NUMBER27",f:D},40:{n:"FORMULA28",f:P},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:L},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:U},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function wf(e){var r={},t=e.match(Ne),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Pe(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"
":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var kf=function(){var e=rr("t"),r=rr("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Be(a[1])};var i=t.match(r);if(i)n.s=wf(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var Tf=function Wb(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var Af=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Ef=/<(?:\w+:)?r>/;var Cf=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Sf(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Be(Je(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=Je(e);if(t)a.h=je(a.t)}else if(e.match(Ef)){a.r=Je(e);a.t=Be(Je((e.replace(Cf,"").match(Af)||[]).join("").replace(Ne,"")));if(t)a.h=Tf(kf(a.r))}return a}var yf=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var _f=/<(?:\w+:)?(?:si|sstItem)>/g;var xf=/<\/(?:\w+:)?(?:si|sstItem)>/;function Of(e,r){var t=[],a="";if(!e)return t;var n=e.match(yf);if(n){a=n[2].replace(_f,"").split(xf);for(var i=0;i!=a.length;++i){var s=Sf(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Pe(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Rf=/^\s|\s$|[\t\n\r]/;function If(e,r){if(!r.bookSST)return"";var t=[Re];t[t.length]=cr("sst",null,{xmlns:gr[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Nf(e){return[e._R(4),e._R(4)]}function Df(e,r){var t=[];var a=false;at(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.T){}if(!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16));}});return t}function Ff(e,r){if(!r)r=tt(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var Pf=Lt;function Lf(e){var r=nt();it(r,159,Ff(e));for(var t=0;t=4)e.l+=r-4;return t}function Bf(e){var r={};r.id=e._R(0,"lpp4");r.R=Uf(e,4);r.U=Uf(e,4);r.W=Uf(e,4);return r}function Wf(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function Hf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(Wf(e));return r}function zf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function Vf(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=Uf(e,4);r.U=Uf(e,4);r.W=Uf(e,4);return r}function Gf(e){var r=Vf(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function jf(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function Xf(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function $f(e){var r=Uf(e);switch(r.Minor){case 2:return[r.Minor,Yf(e,r)];case 3:return[r.Minor,Kf(e,r)];case 4:return[r.Minor,Jf(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function Yf(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=jf(e,t);var n=Xf(e,e.length-e.l);return{t:"Std",h:a,v:n}}function Kf(){throw new Error("File is password-protected: ECMA-376 Extensible")}function Jf(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(Ne,function n(e){var t=Pe(e);switch(Le(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=jf(e,n);r-=n;t.EncryptionVerifier=Xf(e,r);return t}function Zf(e){var r={};var t=r.EncryptionVersionInfo=Uf(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function Qf(e){var r=0,t;var a=Mf(e);var n=a.length+1,i,s;var f,o,l;t=E(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;o=r<<1&32767;l=f|o;r=l^s}return r^52811}var eo=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=Mf(r);var a=i(t);var s=t.length;var f=E(16);for(var o=0;o!=16;++o)f[o]=0;var l,c,h;if((s&1)===1){l=a>>8;f[s]=n(e[0],l);--s;l=a&255;c=t[t.length-1];f[s]=n(c,l)}while(s>0){--s;l=a>>8;f[s]=n(t[s],l);--s;l=a&255;f[s]=n(t[s],l)}s=15;h=15-t.length;while(h>0){l=a>>8;f[s]=n(e[h],l);--s;--h;l=a&255;f[s]=n(t[s],l);--s;--h}return f}}();var ro=function(e,r,t,a,n){if(!n)n=r;if(!a)a=eo(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var to=function(e){var r=0,t=eo(e);return function(e){var a=ro("",e,r,t);r=a[1];return a[0]}};function ao(e,r,t,a){var n={key:jn(e),verificationBytes:jn(e)};if(t.password)n.verifier=Qf(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=to(t.password);return n}function no(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=Zf(e,r);else a.Data=qf(e,r);return a}function io(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)no(e,r-2,a);else ao(e,t.biff>=8?r:r-2,t,a);return a}var so=function(){function e(e,t){switch(t.type){case"base64":return r(b.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):_(e),t);case"array":return r(le(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var i={s:{c:0,r:0},e:{c:0,r:n.length-1}};n.forEach(function(e,r){if(Array.isArray(a))a[r]=[];var t=/\\\w+\b/g;var n=0;var s;var f=-1;while(s=t.exec(e)){switch(s[0]){case"\\cell":var o=e.slice(n,t.lastIndex-s[0].length);if(o[0]==" ")o=o.slice(1);++f;if(o.length){var l={v:o,t:"s"};if(Array.isArray(a))a[r][f]=l;else a[kt({r:r,c:f})]=l}break;}n=t.lastIndex}if(f>i.e.c)i.e.c=f});a["!ref"]=At(i);return a}function t(r,t){return yt(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=Et(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1");for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var f=kt({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(St(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function fo(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function oo(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function lo(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,o=0,l=n+i;o=s/(l>1?2-l:l);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,o,l/2]}function co(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var o;if(t!==0)switch(f|0){case 0:;case 6:o=n*f;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-f);s[0]+=o;s[1]+=n;break;case 2:o=n*(f-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-f);s[1]+=o;s[2]+=n;break;case 4:o=n*(f-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-f);s[2]+=o;s[0]+=n;break;}for(var l=0;l!=3;++l)s[l]=Math.round(s[l]*255);return s}function ho(e,r){if(r===0)return e;var t=lo(fo(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return oo(co(t))}var uo=6,vo=15,po=1,go=uo;function mo(e){return Math.floor((e+Math.round(128/go)/256)*go)}function bo(e){return Math.floor((e-5)/go*100+.5)/100}function wo(e){return Math.round((e*go+5)/go*256)/256}function ko(e){return wo(bo(mo(e)))}function To(e){var r=Math.abs(e-ko(e)),t=go;if(r>.005)for(go=po;go":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Ke(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Ke(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function Oo(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Ne)||[]).forEach(function(e){var t=Pe(e);switch(Le(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Ro(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Ne)||[]).forEach(function(e){var f=Pe(e);switch(Le(f[0])){case"":;case"":break;case"":break;case"
":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+f[0]+" in fonts")};}})}function Io(e,r,t){r.NumberFmt=[];var a=Y(F._table);for(var n=0;n":;case"":;case"":break;case"0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=f}F.load(f,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function No(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=cr("numFmt",null,{numFmtId:a,formatCode:ze(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=cr("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Do=["numFmtId","fillId","fontId","borderId","xfId"];var Fo=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Po(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Ne)||[]).forEach(function(e){var i=Pe(e),s=0;switch(Le(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=Ke(i.wrapText);a.alignment=f;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function Lo(e){var r=[];r[r.length]=cr("cellXfs",null);e.forEach(function(e){r[r.length]=cr("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=cr("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Mo=function Hb(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,f,o){var l={};if(!s)return l;s=s.replace(//gm,"").replace(//gm,"");var c;if(c=s.match(e))Io(c,l,o);if(c=s.match(a))Ro(c,l,f,o);if(c=s.match(t))Oo(c,l,f,o);if(c=s.match(n))xo(c,l,f,o);if(c=s.match(r))Po(c,l,o);return l}}();function Uo(e,r){var t=[Re,cr("styleSheet",null,{xmlns:gr[0],"xmlns:vt":pr.vt})],a;if(e.SSF&&(a=No(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=Lo(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Bo(e,r){var t=e._R(2);var a=It(e,r-2);return[t,a]}function Wo(e,r,t){if(!t)t=tt(6+4*r.length);t._W(2,e);Nt(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function Ho(e,r,t){var a={};a.sz=e._R(2)/20;var n=sa(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var o=e._R(1);if(o>0)a.charset=o;e.l++;a.color=na(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=It(e,r-21);return a}function zo(e,r){if(!r)r=tt(25+4*32);r._W(2,e.sz*20);fa(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);ia(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);Nt(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Vo=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Go;var jo=rt;function Xo(e,r){if(!r)r=tt(4*3+8*7+16*1);if(!Go)Go=J(Vo);var t=Go[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){ia({auto:1},r);ia({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function $o(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function Yo(e,r,t){if(!t)t=tt(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function Ko(e,r){if(!r)r=tt(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var Jo=rt;function qo(e,r){if(!r)r=tt(51);r._W(1,0);Ko(null,r);Ko(null,r);Ko(null,r);Ko(null,r);Ko(null,r);return r.length>r.l?r.slice(0,r.l):r}function Zo(e,r){if(!r)r=tt(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);Xt(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function Qo(e,r,t){var a=tt(4+256*2*4);a._W(4,e);Xt(r,a);Xt(t,a);return a.length>a.l?a.slice(0,a.l):a}function el(e,r,t){var a={};a.NumberFmt=[];for(var n in F._table)a.NumberFmt[n]=F._table[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;at(e,function f(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1];F.load(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=ho(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==617){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(o);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(o);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+o.toString(16));}});return a}function rl(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;it(e,615,Rt(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)it(e,44,Wo(a,r[a]))});it(e,616)}function tl(e){var r=1;if(r==0)return;it(e,611,Rt(r));it(e,43,zo({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));it(e,612)}function al(e){var r=2;if(r==0)return;it(e,603,Rt(r));it(e,45,Xo({patternType:"none"}));it(e,45,Xo({patternType:"gray125"}));it(e,604)}function nl(e){var r=1;if(r==0)return;it(e,613,Rt(r));it(e,46,qo({}));it(e,614)}function il(e){var r=1;it(e,626,Rt(r));it(e,47,Yo({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));it(e,627)}function sl(e,r){it(e,617,Rt(r.length));r.forEach(function(r){it(e,47,Yo(r,0))});it(e,618)}function fl(e){var r=1;it(e,619,Rt(r));it(e,48,Zo({xfId:0,builtinId:0,name:"Normal"}));it(e,620)}function ol(e){var r=0;it(e,505,Rt(r));it(e,506)}function ll(e){var r=0;it(e,508,Qo(r,"TableStyleMedium9","PivotStyleMedium4"));it(e,509)}function cl(){return}function hl(e,r){var t=nt();it(t,278);rl(t,e.SSF);tl(t,e);al(t,e);nl(t,e);il(t,e);sl(t,r.cellXfs);fl(t,e);ol(t,e);ll(t,e);cl(t,e);it(t,279);return t.end()}var ul=["","","","","","","","","","","",""];function dl(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Ne)||[]).forEach(function(e){var n=Pe(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[ul.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function vl(){}function pl(){}var gl=/]*)>[\s\S]*<\/a:clrScheme>/;var ml=/]*)>[\s\S]*<\/a:fontScheme>/;var bl=/]*)>[\s\S]*<\/a:fmtScheme>/;function wl(e,r,t){r.themeElements={};var a;[["clrScheme",gl,dl],["fontScheme",ml,vl],["fmtScheme",bl,pl]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var kl=/]*)>[\s\S]*<\/a:themeElements>/;function Tl(e,r){if(!e||e.length===0)e=Al();var t;var a={};if(!(t=e.match(kl)))throw new Error("themeElements not found in theme");wl(t[0],a,r);a.raw=e;return a}function Al(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Re];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; +t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function El(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=xe(i,{type:"array"})}catch(f){return}var o=Ee(s,"theme/theme/theme1.xml",true);if(!o)return;return Tl(o,t)}function Cl(e){return e._R(4)}function Sl(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=yl(e,4);break;case 2:r.xclrValue=hi(e,4);break;case 3:r.xclrValue=Cl(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function yl(e,r){return rt(e,r)}function _l(e,r){return rt(e,r)}function xl(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Sl(e,t);break;case 6:a[1]=_l(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function Ol(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(xl(e,t-e.l));return{ixfe:a,ext:i}}function Rl(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function Il(e,r){return{flags:e._R(4),version:e._R(4),name:It(e,r-8)}}function Nl(e){var r=tt(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);Nt(e.name,r);return r.slice(0,r.l)}function Dl(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function Fl(e){var r=tt(4+8*e.length);r._W(4,e.length);for(var t=0;t":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":i=2;break;case"":i=2;break;case"":;case"":;case"":break;case"":n=false;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+r[0]+" in metadata");}return e});return a}function Hl(){var e=[Re];e.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function zl(e){var r=[];if(!e)return r;var t=1;(e.match(Ne)||[]).forEach(function(e){var a=Pe(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var Yl=1024;function Kl(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[cr("xml",null,{"xmlns:v":mr.v,"xmlns:o":mr.o,"xmlns:x":mr.x,"xmlns:mv":mr.mv}).replace(/\/>/,">"),cr("o:shapelayout",cr("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),cr("v:shapetype",[cr("v:stroke",null,{joinstyle:"miter"}),cr("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(Yl",i,cr("v:shadow",null,s),cr("v:path",null,{"o:connecttype":"none"}),'
','',"","",or("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),or("x:AutoFill","False"),or("x:Row",String(r.r)),or("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}function Jl(e,r,t,a){var n=Array.isArray(e);var i;r.forEach(function(r){var s=wt(r.ref);if(n){if(!e[s.r])e[s.r]=[];i=e[s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e[s.r][s.c]=i;else e[r.ref]=i;var f=Et(e["!ref"]||"BDWGO1000001:A1");if(f.s.r>s.r)f.s.r=s.r;if(f.e.rs.c)f.s.c=s.c;if(f.e.c=0;--c){if(!t&&i.c[c].T)return;if(t&&!i.c[c].T)i.c.splice(c,1)}if(t&&a)for(c=0;c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Pe(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=wt(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var l=!!o&&!!o[1]&&Sf(o[1])||{r:"",t:"",h:""};s.r=l.r;if(l.r=="")l.t=l.h="";s.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=l.h;a.push(s)});return a}function Zl(e){var r=[Re,cr("comments",null,{xmlns:gr[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=ze(e.a);if(t.indexOf(a)==-1){t.push(a);r.push(""+a+"")}if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);r.push(""+"tc="+e.ID+"")}})});if(t.length==0){t.push("SheetJ5");r.push("SheetJ5")}r.push("");r.push("");e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);else e[1].forEach(function(e){if(e.a)a=t.indexOf(ze(e.a));n.push(e.t||"")});r.push('');if(n.length<=1)r.push(or("t",ze(n[0]||"")));else{var i="Comment:\n "+n[0]+"\n";for(var s=1;s")});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Ql(e,r){var t=[];var a=false,n={},i=0;e.replace(Ne,function s(f,o){var l=Pe(f);switch(Le(l[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":a=true;break;case"":a=false;break;case"":;case"
":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+l[0]+" in threaded comments");}return f});return t}function ec(e,r,t){var a=[Re,cr("ThreadedComments",null,{xmlns:pr.TCMNT}).replace(/[\/]>/,">")];e.forEach(function(e){var n="";(e[1]||[]).forEach(function(i,s){if(!i.T){delete i.ID;return}if(i.a&&r.indexOf(i.a)==-1)r.push(i.a);var f={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+t.tcid++).slice(-12)+"}"};if(s==0)n=f.id;else f.parentId=n;i.ID=f.id;if(i.a)f.personId="{54EE7950-7262-4200-6969-"+("000000000000"+r.indexOf(i.a)).slice(-12)+"}";a.push(cr("threadedComment",or("text",i.t||""),f))})});a.push("");return a.join("")}function rc(e,r){var t=[];var a=false;e.replace(Ne,function n(e){var n=Pe(e);switch(Le(n[0])){case"":break;case"":break;case"":;case"":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments");}return e});return t}function tc(e){var r=[Re,cr("personList",null,{xmlns:pr.TCMNT,"xmlns:x":gr[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(cr("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function ac(e){var r={};r.iauthor=e._R(4);var t=ea(e,16);r.rfx=t.s;r.ref=kt(t.s);e.l+=16;return r}function nc(e,r){if(r==null)r=tt(36);r._W(4,e[1].iauthor);ra(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var ic=It;function sc(e){return Nt(e.slice(0,54))}function fc(e,r){var t=[];var a=[];var n={};var i=false;at(e,function s(e,f,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if(f.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}});return t}function oc(e){var r=nt();var t=[];it(r,628);it(r,630);e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));it(r,632,sc(e.a))})});it(r,631);it(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:wt(e[0]),e:wt(e[0])};it(r,635,nc([n,a]));if(a.t&&a.t.length>0)it(r,637,Ut(a));it(r,636);delete a.iauthor})});it(r,634);it(r,629);return r.end()}var lc="application/vnd.ms-office.vbaProject";function cc(e){var r=z.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");z.utils.cfb_add(r,n,e.FileIndex[a].content)});return z.write(r)}function hc(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")z.utils.cfb_add(e,n,r.FileIndex[a].content)})}var uc=["xlsb","xlsm","xlam","biff8","xla"];function dc(){return{"!type":"dialog"}}function vc(){return{"!type":"dialog"}}function pc(){return{"!type":"macro"}}function gc(){return{"!type":"macro"}}var mc=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)f+=r.r;else--f;return t+(i?"":"$")+pt(o)+(s?"":"$")+ht(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var bc=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var wc=function(){return function e(r,t){return r.replace(bc,function(e,r,a,n,i,s){var f=vt(n)-(a?0:t.c);var o=ct(s)-(i?0:t.r);var l=o==0?"":!i?"["+o+"]":o+1;var c=f==0?"":!a?"["+f+"]":f+1;return r+"R"+l+"C"+c})}}();function kc(e,r){return e.replace(bc,function(e,t,a,n,i,s){return t+(a=="$"?a+n:pt(vt(n)+r.c))+(i=="$"?i+s:ht(ct(s)+r.r))})}function Tc(e,r,t){var a=Tt(r),n=a.s,i=wt(t);var s={r:i.r-n.r,c:i.c-n.c};return kc(e,s)}function Ac(e){if(e.length==1)return false;return true}function Ec(e){return e.replace(/_xlfn\./g,"")}function Cc(e){e.l+=1;return}function Sc(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function yc(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return _c(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=Sc(e,2);var f=Sc(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function _c(e){var r=Sc(e,2),t=Sc(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function xc(e,r,t){if(t.biff<8)return _c(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=Sc(e,2);var s=Sc(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function Oc(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Rc(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=Sc(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Rc(e){var r=Sc(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Ic(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function Nc(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Dc(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function Dc(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Fc(e,r,t){var a=(e[e.l++]&96)>>5;var n=yc(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Pc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=yc(e,i,t);return[a,n,s]}function Lc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Mc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function Uc(e,r,t){var a=(e[e.l++]&96)>>5;var n=xc(e,r-1,t);return[a,n]}function Bc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Wc(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Hc(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function zc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Vc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Gc(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function jc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Xc(e){var r=e._R(1),t=e._R(1);return[r,t]}function $c(e){e._R(2);return Xc(e,2)}function Yc(e){e._R(2);return Xc(e,2)}function Kc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Oc(e,0,t);return[a,n]}function Jc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Nc(e,0,t);return[a,n]}function qc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Oc(e,0,t);return[a,n,i]}function Zc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[pu[n],vu[n],a]}function Qc(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:eh(e);return[n,(i[0]===0?vu:du)[i[1]]]}function eh(e){return[e[e.l+1]>>7,e._R(2)&32767]}function rh(e,r,t){e.l+=t&&t.biff==2?3:4;return}function th(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function ah(e){e.l++;return Ia[e._R(1)]}function nh(e){e.l++;return e._R(2)}function ih(e){e.l++;return e._R(1)!==0}function sh(e){e.l++;return ta(e,8)}function fh(e,r,t){e.l++;return Jn(e,r-1,t)}function oh(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Vn(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=Ia[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=ta(e,8);break;case 2:t[1]=ri(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function lh(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?ea:ki)(e,8));return n}function ch(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=oh(e,t.biff);return s}function hh(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function uh(e,r,t){if(t.biff==5)return dh(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function dh(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function vh(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function ph(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function gh(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function mh(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var bh=rt;var wh=rt;var kh=rt;function Th(e,r,t){e.l+=2;return[Ic(e,4,t)]}function Ah(e){e.l+=6;return[]}var Eh=Th;var Ch=Ah;var Sh=Ah;var yh=Th;function _h(e){e.l+=2;return[jn(e),e._R(2)&1]}var xh=Th;var Oh=_h;var Rh=Ah;var Ih=Th;var Nh=Th;var Dh=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function Fh(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=Dh[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Ph(e){e.l+=2;return[e._R(4)]}function Lh(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function Mh(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function Uh(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Bh(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Wh(e){e.l+=4;return[0,0]}var Hh={1:{n:"PtgExp",f:th},2:{n:"PtgTbl",f:kh},3:{n:"PtgAdd",f:Cc},4:{n:"PtgSub",f:Cc},5:{n:"PtgMul",f:Cc},6:{n:"PtgDiv",f:Cc},7:{n:"PtgPower",f:Cc},8:{n:"PtgConcat",f:Cc},9:{n:"PtgLt",f:Cc},10:{n:"PtgLe",f:Cc},11:{n:"PtgEq",f:Cc},12:{n:"PtgGe",f:Cc},13:{n:"PtgGt",f:Cc},14:{n:"PtgNe",f:Cc},15:{n:"PtgIsect",f:Cc},16:{n:"PtgUnion",f:Cc},17:{n:"PtgRange",f:Cc},18:{n:"PtgUplus",f:Cc},19:{n:"PtgUminus",f:Cc},20:{n:"PtgPercent",f:Cc},21:{n:"PtgParen",f:Cc},22:{n:"PtgMissArg",f:Cc},23:{n:"PtgStr",f:fh},26:{n:"PtgSheet",f:Lh},27:{n:"PtgEndSheet",f:Mh},28:{n:"PtgErr",f:ah},29:{n:"PtgBool",f:ih},30:{n:"PtgInt",f:nh},31:{n:"PtgNum",f:sh},32:{n:"PtgArray",f:Bc},33:{n:"PtgFunc",f:Zc},34:{n:"PtgFuncVar",f:Qc},35:{n:"PtgName",f:hh},36:{n:"PtgRef",f:Kc},37:{n:"PtgArea",f:Fc},38:{n:"PtgMemArea",f:vh},39:{n:"PtgMemErr",f:bh},40:{n:"PtgMemNoMem",f:wh},41:{n:"PtgMemFunc",f:ph},42:{n:"PtgRefErr",f:gh},43:{n:"PtgAreaErr",f:Lc},44:{n:"PtgRefN",f:Jc},45:{n:"PtgAreaN",f:Uc},46:{n:"PtgMemAreaN",f:Uh},47:{n:"PtgMemNoMemN",f:Bh},57:{n:"PtgNameX",f:uh},58:{n:"PtgRef3d",f:qc},59:{n:"PtgArea3d",f:Pc},60:{n:"PtgRefErr3d",f:mh},61:{n:"PtgAreaErr3d",f:Mc},255:{}};var zh={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};var Vh={1:{n:"PtgElfLel",f:_h},2:{n:"PtgElfRw",f:Ih},3:{n:"PtgElfCol",f:Eh},6:{n:"PtgElfRwV",f:Nh},7:{n:"PtgElfColV",f:yh},10:{n:"PtgElfRadical",f:xh},11:{n:"PtgElfRadicalS",f:Rh},13:{n:"PtgElfColS",f:Ch},15:{n:"PtgElfColSV",f:Sh},16:{n:"PtgElfRadicalLel",f:Oh},25:{n:"PtgList",f:Fh},29:{n:"PtgSxName",f:Ph},255:{}};var Gh={0:{n:"PtgAttrNoop",f:Wh},1:{n:"PtgAttrSemi",f:jc},2:{n:"PtgAttrIf",f:Vc},4:{n:"PtgAttrChoose",f:Hc},8:{n:"PtgAttrGoto",f:zc},16:{n:"PtgAttrSum",f:rh},32:{n:"PtgAttrBaxcel",f:Wc},33:{n:"PtgAttrBaxcel",f:Wc},64:{n:"PtgAttrSpace",f:$c},65:{n:"PtgAttrSpaceSemi",f:Yc},128:{n:"PtgAttrIfError",f:Gc},255:{}};function jh(e,r,t,a){if(a.biff<8)return rt(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=ch(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=lh(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(rt(e,r));return i}function Xh(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=Hh[i]||Hh[zh[i]];if(i===24||i===25)n=(i===24?Vh:Gh)[e[e.l+1]];if(!n||!n.f){rt(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function $h(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};var Kh=new RegExp(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/);function Jh(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(Kh.test(e))return"'"+e+"'";return e}function qh(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025: +n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function Zh(e,r,t){var a=qh(e,r,t);return a=="#REF"?a:Jh(a,t)}function Qh(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],o,l,c,h=0,u=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,g="";for(var m=0,b=e[0].length;m=0){switch(e[0][p][1][0]){case 0:g=he(" ",e[0][p][1][1]);break;case 1:g=he("\r",e[0][p][1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}l=l+g;p=-1}f.push(l+Yh[w[0]]+o);break;case"PtgIsect":o=f.pop();l=f.pop();f.push(l+" "+o);break;case"PtgUnion":o=f.pop();l=f.pop();f.push(l+","+o);break;case"PtgRange":o=f.pop();l=f.pop();f.push(l+":"+o);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=st(w[1][1],s,n);f.push(ot(c,i));break;case"PtgRefN":c=t?st(w[1][1],t,n):w[1][1];f.push(ot(c,i));break;case"PtgRef3d":h=w[1][1];c=st(w[1][2],s,n);v=Zh(a,h,n);var k=v;f.push(v+"!"+ot(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],A=w[1][1];if(!T)T=0;T&=127;var E=T==0?[]:f.slice(-T);f.length-=T;if(A==="User")A=E.shift();f.push(A+"("+E.join(",")+")");break;case"PtgBool":f.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":f.push(w[1]);break;case"PtgNum":f.push(String(w[1]));break;case"PtgStr":f.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgErr":f.push(w[1]);break;case"PtgAreaN":d=ft(w[1][1],t?{s:t}:s,n);f.push(lt(d,n));break;case"PtgArea":d=ft(w[1][1],s,n);f.push(lt(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];v=Zh(a,h,n);f.push(v+"!"+lt(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var C=(a.names||[])[u-1]||(a[0]||[])[u];var S=C?C.Name:"SH33TJSNAME"+String(u);if(S&&S.slice(0,6)=="_xlfn."&&!n.xlfn)S=S.slice(6);f.push(S);break;case"PtgNameX":var y=w[1][1];u=w[1][2];var _;if(n.biff<=5){if(y<0)y=-y;if(a[y])_=a[y][u]}else{var x="";if(((a[y]||[])[0]||[])[0]==14849){}else if(((a[y]||[])[0]||[])[0]==1025){if(a[y][u]&&a[y][u].itab>0){x=a.SheetNames[a[y][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[y]&&a[y][u])x+=a[y][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(qh(a,y,n)||"").split(";;");if(O[u-1])x=O[u-1];else x+="SH33TJSERRX"}f.push(x);break}if(!_)_={Name:"SH33TJSERRY"};f.push(_.Name);break;case"PtgParen":var R="(",I=")";if(p>=0){g="";switch(e[0][p][1][0]){case 2:R=he(" ",e[0][p][1][1])+R;break;case 3:R=he("\r",e[0][p][1][1])+R;break;case 4:I=he(" ",e[0][p][1][1])+I;break;case 5:I=he("\r",e[0][p][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][p][1][0]);}p=-1}f.push(R+f.pop()+I);break;case"PtgRefErr":f.push("#REF!");break;case"PtgRefErr3d":f.push("#REF!");break;case"PtgExp":c={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[kt(c)]){var D=a.sharedf[kt(c)];f.push(Qh(D,s,N,a,n))}else{var F=false;for(o=0;o!=a.arrayf.length;++o){l=a.arrayf[o];if(c.cl[0].e.c)continue;if(c.rl[0].e.r)continue;f.push(Qh(l[1],s,N,a,n));F=true;break}if(!F)f.push(w[1])}break;case"PtgArray":f.push("{"+$h(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=m;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":f.push("");break;case"PtgAreaErr":f.push("#REF!");break;case"PtgAreaErr3d":f.push("#REF!");break;case"PtgList":f.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgMemAreaN":;case"PtgMemNoMemN":;case"PtgAttrNoop":;case"PtgSheet":;case"PtgEndSheet":break;case"PtgMemFunc":break;case"PtgMemNoMem":break;case"PtgElfCol":;case"PtgElfColS":;case"PtgElfColSV":;case"PtgElfColV":;case"PtgElfLel":;case"PtgElfRadical":;case"PtgElfRadicalLel":;case"PtgElfRadicalS":;case"PtgElfRw":;case"PtgElfRwV":throw new Error("Unsupported ELFs");case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(w));default:throw new Error("Unrecognized Formula Token: "+String(w));}var P=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][m][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:g=he(" ",w[1][1]);break;case 5:L=false;case 1:g=he("\r",w[1][1]);break;default:g="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0]);}f.push((L?g:"")+f.pop()+(L?"":g));p=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");return f[0]}function eu(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Xh(e,s,t);if(r!==s+n)i=jh(e,r-s-n,f,t);e.l=a;return[f,i]}function ru(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],rt(e,r-2)];var f=Xh(e,s,t);if(r!==s+n)i=jh(e,r-s-n,f,t);e.l=a;return[f,i]}function tu(e,r,t,a){var n=e.l+r;var i=Xh(e,a,t);var s;if(n!==e.l)s=jh(e,n-e.l,i,t);return[i,s]}function au(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Xh(e,i,t);if(i==65535)return[[],rt(e,r-2)];if(r!==i+2)n=jh(e,a-i-2,s,t);return[s,n]}function nu(e){var r;if(Vr(e,e.l+6)!==65535)return[ta(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function iu(e){if(e==null){var r=tt(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e=="number")return aa(e);return aa(0)}function su(e,r,t){var a=e.l+r;var n=di(e,6);if(t.biff==2)++e.l;var i=nu(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=ru(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function fu(e,r,t,a,n){var i=vi(r,t,n);var s=iu(e.v);var f=tt(6);var o=1|32;f._W(2,o);f._W(4,0);var l=tt(e.bf.length);for(var c=0;c0?jh(e,i,n,t):null;return[n,s]}var lu=ou;var cu=ou;var hu=ou;var uu=ou;var du={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"};var vu={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var pu={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function gu(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function mu(e){var r="of:="+e.replace(bc,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function bu(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function wu(e){return e.replace(/\./,"!")}var ku={};var Tu={};var Au=typeof Map!=="undefined";function Eu(e,r,t){var a=0,n=e.length;if(t){if(Au?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Au?t.get(r):t[r];for(;a-1){t.width=wo(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function Su(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function yu(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){F.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function _u(e,r,t,a,n,i){try{if(a.cellNF)e.z=F._table[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=oe(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(F._table[r]==null)F.load(M[r]||"General",r);if(e.t==="e")e.w=e.w||Ia[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=F._general_int(e.v);else e.w=F._general_num(e.v)}else if(e.t==="d"){var f=ee(e.v);if((f|0)===f)e.w=F._general_int(f);else e.w=F._general_num(f)}else if(e.v===undefined)return"";else e.w=F._general(e.v,Tu)}else if(e.t==="d")e.w=F.format(r,ee(e.v),Tu);else e.w=F.format(r,e.v,Tu)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=ho(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=ho(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function xu(e,r,t){if(e&&e["!ref"]){var a=Et(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=At(t)}var Ru=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Iu=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Nu=/<(?:\w:)?hyperlink [^>]*>/gm;var Du=/"(\w*:\w*)"/;var Fu=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Pu=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Lu=/<(?:\w:)?pageMargins[^>]*\/>/g;var Mu=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Uu=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Bu=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Wu(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(g!=null&&r.dense==null)r.dense=g;var f=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l="",c="";var h=e.match(Iu);if(h){l=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else l=c=e;var u=l.match(Mu);if(u)zu(u[0],f,n,t);else if(u=l.match(Uu))Vu(u[0],u[1]||"",f,n,t,s,i);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=l.slice(d,d+50).match(Du);if(v)Ou(f,v[1])}var p=l.match(Bu);if(p&&p[1])td(p[1],n);var m=[];if(r.cellStyles){var b=l.match(Fu);if(b)qu(m,b)}if(h)id(h[1],f,r,o,i,s);var w=c.match(Pu);if(w)f["!autofilter"]=Qu(w[0]);var k=[];var T=c.match(Ru);if(T)for(d=0;d!=T.length;++d)k[d]=Et(T[d].slice(T[d].indexOf('"')+1));var A=c.match(Nu);if(A)Yu(f,A,a);var E=c.match(Lu);if(E)f["!margins"]=Ku(Pe(E[0]));if(!f["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)f["!ref"]=At(o);if(r.sheetRows>0&&f["!ref"]){var C=Et(f["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>o.e.r)C.e.r=o.e.r;if(C.e.ro.e.c)C.e.c=o.e.c;if(C.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;return f}function Hu(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function zu(e,r,t,a){var n=Pe(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Be(Je(n.codeName))}function Vu(e,r,t,a,n){zu(e.slice(0,e.indexOf(">")),t,a,n)}function Gu(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!=="xlsx"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(l){}i=true;s.codeName=qe(ze(o))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};if(e["!outline"].above)c.summaryBelow=0;if(e["!outline"].left)c.summaryRight=0;f=(f||"")+cr("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=cr("sheetPr",f,s)}var ju=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Xu=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function $u(e){var r={sheet:1};ju.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Xu.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=Qf(e.password).toString(16).toUpperCase();return cr("sheetProtection",null,r)}function Yu(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Pe(Je(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Be(i.location)}else{i.Target="#"+Be(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Et(i.ref);for(var o=f.s.r;o<=f.e.r;++o)for(var l=f.s.c;l<=f.e.c;++l){var c=kt({c:l,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][l])e[o][l]={t:"z",v:undefined};e[o][l].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Ku(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Ju(e){Su(e);return cr("pageMargins",null,e)}function qu(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Pe(r[a],true);if(n.hidden)n.hidden=Ke(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;To(n.width)}Ao(n);while(i<=s)e[i++]=ce(n)}}function Zu(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=cr("col",null,Cu(n,a))}t[t.length]="";return t.join("")}function Qu(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function ed(e,r,t,a){var n=typeof e.ref=="string"?e.ref:At(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Tt(n);if(s.s.r==s.e.r){s.e.r=Tt(r["!ref"]).e.r;n=At(s)}for(var f=0;fa-z][^>]*)?\/?>/;function td(e,r){if(!r.Views)r.Views=[{}];(e.match(rd)||[]).forEach(function(e,t){var a=Pe(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(Ke(a.rightToLeft))r.Views[t].RTL=true})}function ad(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return cr("sheetViews",cr("sheetView",null,n),{})}function nd(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if(e.v===undefined&&typeof e.f!=="string"||e.t==="z"&&!e.f)return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Ia[e.v];break;case"d":if(a&&a.cellDates)n=oe(e.v,-1).toISOString();else{e=ce(e);e.t="n";n=""+(e.v=ee(oe(e.v)))}if(typeof e.z==="undefined")e.z=F._table[14];break;default:n=e.v;break;}var f=or("v",ze(n)),o={r:r};var l=yu(a.cellXfs,e,a);if(l!==0)o.s=l;switch(e.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){f=or("v",""+Eu(a.Strings,e.v,a.revStrings));o.t="s";break}o.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;f=cr("f",ze(e.f),c)+(e.v!=null?f:"")}if(e.l)t["!links"].push([r,e.l]);if(e.D)o.cm=1;return cr("c",f,o)}var id=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=rr("v"),s=rr("f");return function f(o,l,c,h,u,d){var v=0,p="",g=[],m=[],b=0,w=0,k=0,T="",A;var E,C=0,S=0;var y,_;var x=0,O=0;var R=Array.isArray(d.CellXf),I;var N=[];var D=[];var P=Array.isArray(l);var L=[],M={},U=false;var B=!!c.sheetStubs;for(var W=o.split(r),H=0,z=W.length;H!=z;++H){ +p=W[H].trim();var V=p.length;if(V===0)continue;var G=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(c&&c.cellStyles){E=Pe(p.slice(G,v),true);C=E.r!=null?parseInt(E.r,10):C+1;S=-1;if(c.sheetRows&&c.sheetRows=v)break;E=Pe(p.slice(G,v),true);C=E.r!=null?parseInt(E.r,10):C+1;S=-1;if(c.sheetRows&&c.sheetRowsC-1)h.s.r=C-1;if(h.e.r":"")+p;if(m!=null&&m.length===2){b=0;T=m[1];for(w=0;w!=T.length;++w){if((k=T.charCodeAt(w)-64)<1||k>26)break;b=26*b+k}--b;S=b}else++S;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;E=Pe(p.slice(0,w),true);if(!E.r)E.r=kt({r:C-1,c:S});T=p.slice(w);A={t:""};if((m=T.match(i))!=null&&m[1]!=="")A.v=Be(m[1]);if(c.cellFormula){if((m=T.match(s))!=null&&m[1]!==""){A.f=Be(Je(m[1])).replace(/\r\n/g,"\n");if(!c.xlfn)A.f=Ec(A.f);if(m[0].indexOf('t="array"')>-1){A.F=(T.match(n)||[])[1];if(A.F.indexOf(":")>-1)N.push([Et(A.F),A.F])}else if(m[0].indexOf('t="shared"')>-1){_=Pe(m[0]);var X=Be(Je(m[1]));if(!c.xlfn)X=Ec(X);D[parseInt(_.si,10)]=[_,X,E.r]}}else if(m=T.match(/]*\/>/)){_=Pe(m[0]);if(D[_.si])A.f=Tc(D[_.si][1],D[_.si][2],E.r)}var $=wt(E.r);for(w=0;w=N[w][0].s.r&&$.r<=N[w][0].e.r)if($.c>=N[w][0].s.c&&$.c<=N[w][0].e.c)A.F=N[w][1]}if(E.t==null&&A.v===undefined){if(A.f||A.F){A.v=0;A.t="n"}else if(!B)continue;else A.t="z"}else A.t=E.t||"n";if(h.s.c>S)h.s.c=S;if(h.e.c0)l["!rows"]=L}}();function sd(e,r,t,a){var n=[],i=[],s=Et(e["!ref"]),f="",o,l="",c=[],h=0,u=0,d=e["!rows"];var v=Array.isArray(e);var p={r:l},g,m=-1;for(u=s.s.c;u<=s.e.c;++u)c[u]=pt(u);for(h=s.s.r;h<=s.e.r;++h){i=[];l=ht(h);for(u=s.s.c;u<=s.e.c;++u){o=c[u]+l;var b=v?(e[h]||[])[u]:e[o];if(b===undefined)continue;if((f=nd(b,o,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[h]){p={r:l};if(d&&d[h]){g=d[h];if(g.hidden)p.hidden=1;m=-1;if(g.hpx)m=So(g.hpx);else if(g.hpt)m=g.hpt;if(m>-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}}n[n.length]=cr("row",i.join(""),p)}}if(d)for(;h-1){p.ht=m;p.customHeight=1}if(g.level){p.outlineLevel=g.level}n[n.length]=cr("row","",p)}}return n.join("")}function fd(e,r,t,a){var n=[Re,cr("worksheet",null,{xmlns:gr[0],"xmlns:r":pr.r})];var i=t.SheetNames[e],s=0,f="";var o=t.Sheets[i];if(o==null)o={};var l=o["!ref"]||"A1";var c=Et(l);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);l=At(c)}if(!a)a={};o["!comments"]=[];var h=[];Gu(o,t,e,r,n);n[n.length]=cr("dimension",null,{ref:l});n[n.length]=ad(o,r,e,t);if(r.sheetFormat)n[n.length]=cr("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(o["!cols"]!=null&&o["!cols"].length>0)n[n.length]=Zu(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){f=sd(o,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(o["!protect"])n[n.length]=$u(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=ed(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=Hu(o["!merges"]);var u=-1,d,v=-1;if(o["!links"].length>0){n[n.length]="";o["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=ja(a,-1,ze(e[1].Target).replace(/#.*$/,""),Ba.HLINK);d["r:id"]="rId"+v}if((u=e[1].Target.indexOf("#"))>-1)d.location=ze(e[1].Target.slice(u+1));if(e[1].Tooltip)d.tooltip=ze(e[1].Tooltip);n[n.length]=cr("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=Ju(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=or("ignoredErrors",cr("ignoredError",null,{numberStoredAsText:1,sqref:l}));if(h.length>0){v=ja(a,-1,"../drawings/drawing"+(e+1)+".xml",Ba.DRAW);n[n.length]=cr("drawing",null,{"r:id":"rId"+v});o["!drawing"]=h}if(o["!comments"].length>0){v=ja(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Ba.VML);n[n.length]=cr("legacyDrawing",null,{"r:id":"rId"+v});o["!legacy"]=v}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function od(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function ld(e,r,t){var a=tt(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=So(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,o=a.l;a.l+=4;var l={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.ca.l?a.slice(0,a.l):a}function cd(e,r,t,a){var n=ld(a,t,r);if(n.length>17||(r["!rows"]||[])[a])it(e,0,n)}var hd=ea;var ud=ra;function dd(){}function vd(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=Vt(e,r-19);return t}function pd(e,r,t){if(t==null)t=tt(84+4*e.length);var a=192;if(r){if(r.above)a&=~64;if(r.left)a&=~128}t._W(1,a);for(var n=1;n<3;++n)t._W(1,0);ia({auto:1},t);t._W(-4,-1);t._W(-4,-1);Gt(e,t);return t.slice(0,t.l)}function gd(e){var r=Bt(e);return[r]}function md(e,r,t){if(t==null)t=tt(8);return Wt(r,t)}function bd(e){var r=Ht(e);return[r]}function wd(e,r,t){if(t==null)t=tt(4);return zt(r,t)}function kd(e){var r=Bt(e);var t=e._R(1);return[r,t,"b"]}function Td(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v?1:0);return t}function Ad(e){var r=Ht(e);var t=e._R(1);return[r,t,"b"]}function Ed(e,r,t){if(t==null)t=tt(5);zt(r,t);t._W(1,e.v?1:0);return t}function Cd(e){var r=Bt(e);var t=e._R(1);return[r,t,"e"]}function Sd(e,r,t){if(t==null)t=tt(9);Wt(r,t);t._W(1,e.v);return t}function yd(e){var r=Ht(e);var t=e._R(1);return[r,t,"e"]}function _d(e,r,t){if(t==null)t=tt(8);zt(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function xd(e){var r=Bt(e);var t=e._R(4);return[r,t,"s"]}function Od(e,r,t){if(t==null)t=tt(12);Wt(r,t);t._W(4,r.v);return t}function Rd(e){var r=Ht(e);var t=e._R(4);return[r,t,"s"]}function Id(e,r,t){if(t==null)t=tt(8);zt(r,t);t._W(4,r.v);return t}function Nd(e){var r=Bt(e);var t=ta(e);return[r,t,"n"]}function Dd(e,r,t){if(t==null)t=tt(16);Wt(r,t);aa(e.v,t);return t}function Fd(e){var r=Ht(e);var t=ta(e);return[r,t,"n"]}function Pd(e,r,t){if(t==null)t=tt(12);zt(r,t);aa(e.v,t);return t}function Ld(e){var r=Bt(e);var t=Jt(e);return[r,t,"n"]}function Md(e,r,t){if(t==null)t=tt(12);Wt(r,t);qt(e.v,t);return t}function Ud(e){var r=Ht(e);var t=Jt(e);return[r,t,"n"]}function Bd(e,r,t){if(t==null)t=tt(8);zt(r,t);qt(e.v,t);return t}function Wd(e){var r=Bt(e);var t=Pt(e);return[r,t,"is"]}function Hd(e){var r=Bt(e);var t=It(e);return[r,t,"str"]}function zd(e,r,t){if(t==null)t=tt(12+4*e.v.length);Wt(r,t);Nt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Vd(e){var r=Ht(e);var t=It(e);return[r,t,"str"]}function Gd(e,r,t){if(t==null)t=tt(8+4*e.v.length);zt(r,t);Nt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function jd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}function Xd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}function $d(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=ta(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}function Yd(e,r,t){var a=e.l+r;var n=Bt(e);n.r=t["!row"];var i=It(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=cu(e,a-e.l,t);s[3]=Qh(f,null,n,t.supbooks,t)}else e.l=a;return s}var Kd=ea;var Jd=ra;function qd(e,r){if(r==null)r=tt(4);r._W(4,e);return r}function Zd(e,r){var t=e.l+r;var a=ea(e,16);var n=jt(e);var i=It(e);var s=It(e);var f=It(e);e.l=t;var o={rfx:a,relId:n,loc:i,display:f};if(s)o.Tooltip=s;return o}function Qd(e,r){var t=tt(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));ra({s:wt(e[0]),e:wt(e[0])},t);Kt("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);Nt(n||"",t);Nt(e[1].Tooltip||"",t);Nt("",t);return t.slice(0,t.l)}function ev(){}function rv(e,r,t){var a=e.l+r;var n=Zt(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=lu(e,a-e.l,t);s[1]=f}else e.l=a;return s}function tv(e,r,t){var a=e.l+r;var n=ea(e,16);var i=[n];if(t.cellFormula){var s=uu(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function av(e,r,t){if(t==null)t=tt(18);var a=Cu(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var nv=["left","right","top","bottom","header","footer"];function iv(e){var r={};nv.forEach(function(t){r[t]=ta(e,8)});return r}function sv(e,r){if(r==null)r=tt(6*8);Su(e);nv.forEach(function(t){aa(e[t],r)});return r}function fv(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function ov(e,r,t){if(t==null)t=tt(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function lv(e){var r=tt(24);r._W(4,4);r._W(4,1);ra(e,r);return r}function cv(e,r){if(r==null)r=tt(16*4+2);r._W(2,e.password?Qf(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function hv(){}function uv(){}function dv(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(g!=null&&f.dense==null)f.dense=g;var o=f.dense?[]:{};var l;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var v,p,m,b,w,k,T,A,E;var C=[];f.biff=12;f["!row"]=0;var S=0,y=false;var _=[];var x={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=x;O.arrayf=_;O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=O;if(n.Names)for(var R=0;R=R[0].s.r&&v.r<=R[0].e.r)if(w>=R[0].s.c&&w<=R[0].e.c){p.F=At(R[0]);y=true}}if(!y&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.rv.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r=e.s){I[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!D){D=true;To(e.w/256)}Ao(I[e.e+1])}break;case 161:o["!autofilter"]={ref:At(e)};break;case 476:o["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;if(e.above||e.left)o["!outline"]={above:e.above,left:e.left};break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 152:;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:u=true;break;case 36:u=false;break;case 37:h.push(g);u=true;break;case 38:h.pop();u=false;break;default:if(r.T){}else if(!u||f.WTF)throw new Error("Unexpected record 0x"+g.toString(16));}},f);delete f.supbooks;delete f["!row"];if(!o["!ref"]&&(c.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0)))o["!ref"]=At(l||c);if(f.sheetRows&&o["!ref"]){var M=Et(o["!ref"]);if(f.sheetRows<=+M.e.r){M.e.r=f.sheetRows-1;if(M.e.r>c.e.r)M.e.r=c.e.r;if(M.e.rc.e.c)M.e.c=c.e.c;if(M.e.c0)o["!merges"]=C;if(I.length>0)o["!cols"]=I;if(N.length>0)o["!rows"]=N;return o}function vv(e,r,t,a,n,i,s){if(r.v===undefined)return false;var f="";switch(r.t){case"b":f=r.v?"1":"0";break;case"d":r=ce(r);r.z=r.z||F._table[14];r.v=ee(oe(r.v));r.t="n";break;case"n":;case"e":f=""+r.v;break;default:f=r.v;break;}var o={r:t,c:a};o.s=yu(n.cellXfs,r,n);if(r.l)i["!links"].push([kt(o),r.l]);if(r.c)i["!comments"].push([kt(o),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){f=Eu(n.Strings,r.v,n.revStrings);o.t="s";o.v=f;if(s)it(e,18,Id(r,o));else it(e,7,Od(r,o))}else{o.t="str";if(s)it(e,17,Gd(r,o));else it(e,6,zd(r,o))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)it(e,13,Bd(r,o));else it(e,2,Md(r,o))}else{if(s)it(e,16,Pd(r,o));else it(e,5,Dd(r,o))}return true;case"b":o.t="b";if(s)it(e,15,Ed(r,o));else it(e,4,Td(r,o));return true;case"e":o.t="e";if(s)it(e,14,_d(r,o));else it(e,3,Sd(r,o));return true;}if(s)it(e,12,wd(r,o));else it(e,1,md(r,o));return true}function pv(e,r,t,a){var n=Et(r["!ref"]||"A1"),i,s="",f=[];it(e,145);var o=Array.isArray(r);var l=n.e.r;if(r["!rows"])l=Math.max(n.e.r,r["!rows"].length-1);for(var c=n.s.r;c<=l;++c){s=ht(c);cd(e,r,n,c);var h=false;if(c<=n.e.r)for(var u=n.s.c;u<=n.e.c;++u){if(c===n.s.r)f[u]=pt(u);i=f[u]+s;var d=o?(r[c]||[])[u]:r[i];if(!d){h=false;continue}h=vv(e,d,c,u,a,r,h)}}it(e,146)}function gv(e,r){if(!r||!r["!merges"])return;it(e,177,qd(r["!merges"].length));r["!merges"].forEach(function(r){it(e,176,Jd(r))});it(e,178)}function mv(e,r){if(!r||!r["!cols"])return;it(e,390);r["!cols"].forEach(function(r,t){if(r)it(e,60,av(t,r))});it(e,391)}function bv(e,r){if(!r||!r["!ref"])return;it(e,648);it(e,649,lv(Et(r["!ref"])));it(e,650)}function wv(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ja(t,-1,r[1].Target.replace(/#.*$/,""),Ba.HLINK);it(e,494,Qd(r,a))});delete r["!links"]}function kv(e,r,t,a){if(r["!comments"].length>0){var n=ja(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",Ba.VML);it(e,551,Kt("rId"+n));r["!legacy"]=n}}function Tv(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:At(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Tt(i);if(f.s.r==f.e.r){f.e.r=Tt(r["!ref"]).e.r;i=At(f)}for(var o=0;o16383||l.e.r>1048575){if(r.WTF)throw new Error("Range "+(s["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");l.e.c=Math.min(l.e.c,16383);l.e.r=Math.min(l.e.c,1048575)}s["!links"]=[];s["!comments"]=[];it(n,129);if(t.vbaraw||s["!outline"])it(n,147,pd(f,s["!outline"]));it(n,148,ud(l));Av(n,s,t.Workbook);Ev(n,s);mv(n,s,e,r,t);pv(n,s,e,r,t);Cv(n,s);Tv(n,s,t,e);gv(n,s);wv(n,s,a);if(s["!margins"])it(n,476,sv(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)bv(n,s);kv(n,s,e,a);it(n,130);return n.end()}function yv(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Be((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function _v(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var f=0,o=0,l="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=yv(e);c.s.r=c.s.c=0;c.e.c=f;l=pt(f);r[0].forEach(function(e,t){s[l+ht(t)]={t:"n",v:e,z:r[1]};o=t});if(c.e.r0)s["!ref"]=At(c);return s}function xv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var f=e.match(Mu);if(f)zu(f[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Ov(e,r,t,a){var n=[Re,cr("chartsheet",null,{xmlns:gr[0],"xmlns:r":pr.r})];n[n.length]=cr("drawing",null,{"r:id":"rId1"});ja(a,-1,"../drawings/drawing"+(e+1)+".xml",Ba.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Rv(e,r){e.l+=10;var t=It(e,r-10);return{name:t}}function Iv(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s=[];var f=false;at(e,function o(e,a,l){switch(l){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(l);break;case 38:s.pop();break;default:if(a.T>0)s.push(l);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function Nv(){var e=nt();it(e,129);it(e,130);return e.end()}var Dv=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var Fv=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var Pv=[];var Lv=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Mv(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Ke(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Uv(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Ke(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Bv(e){Uv(e.WBProps,Dv);Uv(e.CalcPr,Lv);Mv(e.WBView,Fv);Mv(e.Sheets,Pv);Tu.date1904=Ke(e.WBProps.date1904)}function Wv(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Ke(e.Workbook.WBProps.date1904)?"true":"false"}var Hv="][*?/\\".split("");function zv(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;Hv.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function Vv(e,r,t){e.forEach(function(a,n){zv(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Gv(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];Vv(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Dv.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Ke(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=Je(c.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete c[0];t.WBView.push(c);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Be(Je(e.slice(s,l)));t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){Dv.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=cr("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:ze(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=cr("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=cr("definedName",ze(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Yv(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Yt(e,r-8);t.name=It(e);return t}function Kv(e,r){if(!r)r=tt(127);r._W(4,e.Hidden);r._W(4,e.iTabID);Kt(e.strRelID,r);Nt(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function Jv(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?It(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function qv(e,r){if(!r)r=tt(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);Gt(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Zv(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Qv(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=$t(e);var s=hu(e,0,t);var f=jt(e);e.l=a;var o={Name:i,Ptg:s};if(n<268435455)o.Sheet=n;if(f)o.Comment=f;return o}function ep(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];fg[16]={n:"BrtFRTArchID$",f:Zv};at(e,function f(e,o,l){switch(l){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=Qh(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[l,e];else s.push([l,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 2071:;case 158:;case 143:;case 664:;case 353:break;case 3072:;case 3073:;case 534:;case 677:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a.push(l);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(l);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(o.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+l.toString(16)); +;}},r);Bv(t);t.Names=i;t.supbooks=s;return t}function rp(e,r){it(e,143);for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};it(e,156,Kv(n))}it(e,144)}function tp(r,t){if(!t)t=tt(127);for(var a=0;a!=4;++a)t._W(4,0);Nt("SheetJS",t);Nt(e.version,t);Nt(e.version,t);Nt("7262",t);return t.length>t.l?t.slice(0,t.l):t}function ap(e,r){if(!r)r=tt(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function np(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;it(e,135);it(e,158,ap(n));it(e,136)}function ip(e,r){var t=nt();it(t,131);it(t,128,tp());it(t,153,qv(e.Workbook&&e.Workbook.WBProps||null));np(t,e,r);rp(t,e,r);it(t,132);return t.end()}function sp(e,r,t){if(r.slice(-4)===".bin")return ep(e,t);return Xv(e,t)}function fp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return dv(e,a,t,n,i,s,f);return Wu(e,a,t,n,i,s,f)}function op(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return Iv(e,a,t,n,i,s,f);return xv(e,a,t,n,i,s,f)}function lp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return pc(e,a,t,n,i,s,f);return gc(e,a,t,n,i,s,f)}function cp(e,r,t,a,n,i,s,f){if(r.slice(-4)===".bin")return dc(e,a,t,n,i,s,f);return vc(e,a,t,n,i,s,f)}function hp(e,r,t,a){if(r.slice(-4)===".bin")return el(e,t,a);return Mo(e,t,a)}function up(e,r,t){return Tl(e,t)}function dp(e,r,t){if(r.slice(-4)===".bin")return Df(e,t);return Of(e,t)}function vp(e,r,t){if(r.slice(-4)===".bin")return fc(e,t);return ql(e,t)}function pp(e,r,t){if(r.slice(-4)===".bin")return Gl(e,r,t);return zl(e,r,t)}function gp(e,r,t,a){if(t.slice(-4)===".bin")return Xl(e,r,t,a);return jl(e,r,t,a)}function mp(e,r,t){if(r.slice(-4)===".bin")return Ul(e,r,t);return Wl(e,r,t)}function bp(e,r,t){return(r.slice(-4)===".bin"?ip:$v)(e,t)}function wp(e,r,t,a,n){return(r.slice(-4)===".bin"?Sv:fd)(e,t,a,n)}function kp(e,r,t,a,n){return(r.slice(-4)===".bin"?Nv:Ov)(e,t,a,n)}function Tp(e,r,t){return(r.slice(-4)===".bin"?hl:Uo)(e,t)}function Ap(e,r,t){return(r.slice(-4)===".bin"?Lf:If)(e,t)}function Ep(e,r,t){return(r.slice(-4)===".bin"?oc:Zl)(e,t)}function Cp(e){return(e.slice(-4)===".bin"?Bl:Hl)()}var Sp=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var yp=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function _p(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(Sp),i,s,f,o;if(n)for(o=0;o!=n.length;++o){i=n[o].match(yp);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")f="xmlns"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function xp(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(Sp),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(yp);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}function Op(e,r){var t=L[e]||Be(e);if(t==="General")return F._general(r);return F.format(t,r)}function Rp(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Ke(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=oe(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[Be(r)]=n}function Ip(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Ia[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=F._general_int(e.v);else e.w=F._general_num(e.v)}else e.w=F._general(e.v)}else e.w=Op(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=L[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&F.is_date(n)){var i=F.parse_date_code(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function Np(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=_o[a.Pattern]||a.Pattern}}e[r.ID]=r}function Dp(e,r,t,a,n,i,s,f,o,l){var c="General",h=a.StyleID,u={};l=l||{};var d=[];var v=0;if(h===undefined&&f)h=f.StyleID;if(h===undefined&&s)h=s.StyleID;while(i[h]!==undefined){if(i[h].nf)c=i[h].nf;if(i[h].Interior)d.push(i[h].Interior);if(!i[h].Parent)break;h=i[h].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=Ke(e);break;case"String":a.t="s";a.r=$e(Be(e));a.v=e.indexOf("<")>-1?Be(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(oe(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=Be(e);else if(a.v<60)a.v=a.v-1;if(!c||c=="General")c="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=Na[e];if(l.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=$e(r||e)}break;}Ip(a,c,l);if(l.cellFormula!==false){if(a.Formula){var p=Be(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=mc(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=mc("RC:RC",n);else if(a.ArrayRange){a.F=mc(a.ArrayRange,n);o.push([Et(a.F),a.F])}}else{for(v=0;v=o[v][0].s.r&&n.r<=o[v][0].e.r)if(n.c>=o[v][0].s.c&&n.c<=o[v][0].e.c)a.F=o[v][1]}}if(l.cellStyles){d.forEach(function(e){if(!u.patternType&&e.patternType)u.patternType=e.patternType});a.s=u}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Fp(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function Pp(e,r){var t=r||{};P(F);var n=d(dr(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=Je(n)}var i=n.slice(0,1024).toLowerCase(),s=false;i=i.replace(/".*?"/g,"");if((i.indexOf(">")&1023)>Math.min(i.indexOf(",")&1023,i.indexOf(";")&1023)){var f=ce(t);f.type="string";return gf.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return xg.to_workbook(n,t);var o;var l=[],h;if(g!=null&&t.dense==null)t.dense=g;var u={},v=[],p=t.dense?[]:{},m="";var b={},w={};var k=_p(''),T=0;var A=0,E=0;var C={s:{r:2e6,c:2e6},e:{r:0,c:0}};var S={},y={};var _="",x=0;var O=[];var R={},I={},N=0,D=[];var M=[],U={};var B=[],W,H=false;var z=[];var V=[],G={},j=0,X=0;var $={Sheets:[],WBProps:{date1904:false}},Y={};vr.lastIndex=0;n=n.replace(//gm,"");var K="";while(o=vr.exec(n))switch(o[3]=(K=o[3]).toLowerCase()){case"data":if(K=="data"){if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break}if(l[l.length-1][1])break;if(o[1]==="/")Dp(n.slice(T,o.index),_,k,l[l.length-1][0]=="comment"?U:b,{c:A,r:E},S,B[A],w,z,t);else{_="";k=_p(o[0]);T=o.index+o[0].length}break;case"cell":if(o[1]==="/"){if(M.length>0)b.c=M;if((!t.sheetRows||t.sheetRows>E)&&b.v!==undefined){if(t.dense){if(!p[E])p[E]=[];p[E][A]=b}else p[pt(A)+ht(E)]=b}if(b.HRef){b.l={Target:Be(b.HRef)};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){j=A+(parseInt(b.MergeAcross,10)|0);X=E+(parseInt(b.MergeDown,10)|0);O.push({s:{c:A,r:E},e:{c:j,r:X}})}if(!t.sheetStubs){if(b.MergeAcross)A=j+1;else++A}else if(b.MergeAcross||b.MergeDown){for(var J=A;J<=j;++J){for(var q=E;q<=X;++q){if(J>A||q>E){if(t.dense){if(!p[q])p[q]=[];p[q][J]={t:"z"}}else p[pt(J)+ht(q)]={t:"z"}}}}A=j+1}else++A}else{b=xp(o[0]);if(b.Index)A=+b.Index-1;if(AC.e.c)C.e.c=A;if(o[0].slice(-2)==="/>")++A;M=[]}break;case"row":if(o[1]==="/"||o[0].slice(-2)==="/>"){if(EC.e.r)C.e.r=E;if(o[0].slice(-2)==="/>"){w=_p(o[0]);if(w.Index)E=+w.Index-1}A=0;++E}else{w=_p(o[0]);if(w.Index)E=+w.Index-1;G={};if(w.AutoFitHeight=="0"||w.Height){G.hpx=parseInt(w.Height,10);G.hpt=So(G.hpx);V[E]=G}if(w.Hidden=="1"){G.hidden=true;V[E]=G}}break;case"worksheet":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));v.push(m);if(C.s.r<=C.e.r&&C.s.c<=C.e.c){p["!ref"]=At(C);if(t.sheetRows&&t.sheetRows<=C.e.r){p["!fullref"]=p["!ref"];C.e.r=t.sheetRows-1;p["!ref"]=At(C)}}if(O.length)p["!merges"]=O;if(B.length>0)p["!cols"]=B;if(V.length>0)p["!rows"]=V;u[m]=p}else{C={s:{r:2e6,c:2e6},e:{r:0,c:0}};E=A=0;l.push([o[3],false]);h=_p(o[0]);m=Be(h.Name);p=t.dense?[]:{};O=[];z=[];V=[];Y={name:m,Hidden:0};$.Sheets.push(Y)}break;case"table":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].slice(-2)=="/>")break;else{l.push([o[3],false]);B=[];H=false}break;case"style":if(o[1]==="/")Np(S,y,t);else y=_p(o[0]);break;case"numberformat":y.nf=Be(_p(o[0]).Format||"General");if(L[y.nf])y.nf=L[y.nf];for(var Z=0;Z!=392;++Z)if(F._table[Z]==y.nf)break;if(Z==392)for(Z=57;Z!=392;++Z)if(F._table[Z]==null){F.load(y.nf,Z);break}break;case"column":if(l[l.length-1][0]!=="table")break;W=_p(o[0]);if(W.Hidden){W.hidden=true;delete W.Hidden}if(W.Width)W.wpx=parseInt(W.Width,10);if(!H&&W.wpx>10){H=true;go=uo;for(var Q=0;Q0)te.Sheet=$.Sheets.length-1;$.Names.push(te);break;case"namedcell":break;case"b":break;case"i":break;case"u":break;case"s":break;case"em":break;case"h2":break;case"h3":break;case"sub":break;case"sup":break;case"span":break;case"alignment":break;case"borders":break;case"border":break;case"font":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")_+=n.slice(x,o.index);else x=o.index+o[0].length;break;case"interior":if(!t.cellStyles)break;y.Interior=_p(o[0]);break;case"protection":break;case"author":;case"title":;case"description":;case"created":;case"keywords":;case"subject":;case"category":;case"company":;case"lastauthor":;case"lastsaved":;case"lastprinted":;case"version":;case"revision":;case"totaltime":;case"hyperlinkbase":;case"manager":;case"contentstatus":;case"identifier":;case"language":;case"appname":if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")pn(R,K,n.slice(N,o.index));else N=o.index+o[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else l.push([o[3],false]);break;case"comment":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));Fp(U);M.push(U)}else{l.push([o[3],false]);h=_p(o[0]);U={a:h.Author}}break;case"autofilter":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/"){var ae=_p(o[0]);p["!autofilter"]={ref:mc(ae.Range).replace(/\$/g,"")};l.push([o[3],true])}break;case"name":break;case"datavalidation":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else{if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true])}break;case"pixelsperinch":break;case"componentoptions":;case"documentproperties":;case"customdocumentproperties":;case"officedocumentsettings":;case"pivottable":;case"pivotcache":;case"names":;case"mapinfo":;case"pagebreaks":;case"querytable":;case"sorting":;case"schema":;case"conditionalformatting":;case"smarttagtype":;case"smarttags":;case"excelworkbook":;case"workbookoptions":;case"worksheetoptions":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"))}else if(o[0].charAt(o[0].length-2)!=="/")l.push([o[3],true]);break;case"null":break;default:if(l.length==0&&o[3]=="document")return Ug(n,t);if(l.length==0&&o[3]=="uof")return Ug(n,t);var ne=true;switch(l[l.length-1][0]){case"officedocumentsettings":switch(o[3]){case"allowpng":break;case"removepersonalinformation":break;case"downloadcomponents":break;case"locationofcomponents":break;case"colors":break;case"color":break;case"index":break;case"rgb":break;case"targetscreensize":break;case"readonlyrecommended":break;default:ne=false;}break;case"componentoptions":switch(o[3]){case"toolbar":break;case"hideofficelogo":break;case"spreadsheetautofit":break;case"label":break;case"caption":break;case"maxheight":break;case"maxwidth":break;case"nextsheetnumber":break;default:ne=false;}break;case"excelworkbook":switch(o[3]){case"date1904":$.WBProps.date1904=true;break;case"windowheight":break;case"windowwidth":break;case"windowtopx":break;case"windowtopy":break;case"tabratio":break;case"protectstructure":break;case"protectwindow":break;case"protectwindows":break;case"activesheet":break;case"displayinknotes":break;case"firstvisiblesheet":break;case"supbook":break;case"sheetname":break;case"sheetindex":break;case"sheetindexfirst":break;case"sheetindexlast":break;case"dll":break;case"acceptlabelsinformulas":break;case"donotsavelinkvalues":break;case"iteration":break;case"maxiterations":break;case"maxchange":break;case"path":break;case"xct":break;case"count":break;case"selectedsheets":break;case"calculation":break;case"uncalced":break;case"startupprompt":break;case"crn":break;case"externname":break;case"formula":break;case"colfirst":break;case"collast":break;case"wantadvise":break;case"boolean":break;case"error":break;case"text":break;case"ole":break;case"noautorecover":break;case"publishobjects":break;case"donotcalculatebeforesave":break;case"number":break;case"refmoder1c1":break;case"embedsavesmarttags":break;default:ne=false;}break;case"workbookoptions":switch(o[3]){case"owcversion":break;case"height":break;case"width":break;default:ne=false;}break;case"worksheetoptions":switch(o[3]){case"visible":if(o[0].slice(-2)==="/>"){}else if(o[1]==="/")switch(n.slice(N,o.index)){case"SheetHidden":Y.Hidden=1;break;case"SheetVeryHidden":Y.Hidden=2;break;}else N=o.index+o[0].length;break;case"header":if(!p["!margins"])Su(p["!margins"]={},"xlml");if(!isNaN(+Pe(o[0]).Margin))p["!margins"].header=+Pe(o[0]).Margin;break;case"footer":if(!p["!margins"])Su(p["!margins"]={},"xlml");if(!isNaN(+Pe(o[0]).Margin))p["!margins"].footer=+Pe(o[0]).Margin;break;case"pagemargins":var ie=Pe(o[0]);if(!p["!margins"])Su(p["!margins"]={},"xlml");if(!isNaN(+ie.Top))p["!margins"].top=+ie.Top;if(!isNaN(+ie.Left))p["!margins"].left=+ie.Left;if(!isNaN(+ie.Right))p["!margins"].right=+ie.Right;if(!isNaN(+ie.Bottom))p["!margins"].bottom=+ie.Bottom;break;case"displayrighttoleft":if(!$.Views)$.Views=[];if(!$.Views[0])$.Views[0]={};$.Views[0].RTL=true;break;case"freezepanes":break;case"frozennosplit":break;case"splithorizontal":;case"splitvertical":break;case"donotdisplaygridlines":break;case"activerow":break;case"activecol":break;case"toprowbottompane":break;case"leftcolumnrightpane":break;case"unsynced":break;case"print":break;case"printerrors":break;case"panes":break;case"scale":break;case"pane":break;case"number":break;case"layout":break;case"pagesetup":break;case"selected":break;case"protectobjects":break;case"enableselection":break;case"protectscenarios":break;case"validprinterinfo":break;case"horizontalresolution":break;case"verticalresolution":break;case"numberofcopies":break;case"activepane":break;case"toprowvisible":break;case"leftcolumnvisible":break;case"fittopage":break;case"rangeselection":break;case"papersizeindex":break;case"pagelayoutzoom":break;case"pagebreakzoom":break;case"filteron":break;case"fitwidth":break;case"fitheight":break;case"commentslayout":break;case"zoom":break;case"lefttoright":break;case"gridlines":break;case"allowsort":break;case"allowfilter":break;case"allowinsertrows":break;case"allowdeleterows":break;case"allowinsertcols":break;case"allowdeletecols":break;case"allowinserthyperlinks":break;case"allowformatcells":break;case"allowsizecols":break;case"allowsizerows":break;case"nosummaryrowsbelowdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].above=true;break;case"tabcolorindex":break;case"donotdisplayheadings":break;case"showpagelayoutzoom":break;case"nosummarycolumnsrightdetail":if(!p["!outline"])p["!outline"]={};p["!outline"].left=true;break;case"blackandwhite":break;case"donotdisplayzeros":break;case"displaypagebreak":break;case"rowcolheadings":break;case"donotdisplayoutline":break;case"noorientation":break;case"allowusepivottables":break;case"zeroheight":break;case"viewablerange":break;case"selection":break;case"protectcontents":break;default:ne=false;}break;case"pivottable":;case"pivotcache":switch(o[3]){case"immediateitemsondrop":break;case"showpagemultipleitemlabel":break;case"compactrowindent":break;case"location":break;case"pivotfield":break;case"orientation":break;case"layoutform":break;case"layoutsubtotallocation":break;case"layoutcompactrow":break;case"position":break;case"pivotitem":break;case"datatype":break;case"datafield":break;case"sourcename":break;case"parentfield":break;case"ptlineitems":break;case"ptlineitem":break;case"countofsameitems":break;case"item":break;case"itemtype":break;case"ptsource":break;case"cacheindex":break;case"consolidationreference":break;case"filename":break;case"reference":break;case"nocolumngrand":break;case"norowgrand":break;case"blanklineafteritems":break;case"hidden":break;case"subtotal":break;case"basefield":break;case"mapchilditems":break;case"function":break;case"refreshonfileopen":break;case"printsettitles":break;case"mergelabels":break;case"defaultversion":break;case"refreshname":break;case"refreshdate":break;case"refreshdatecopy":break;case"versionlastrefresh":break;case"versionlastupdate":break;case"versionupdateablemin":break;case"versionrefreshablemin":break;case"calculation":break;default:ne=false;}break;case"pagebreaks":switch(o[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:ne=false;}break;case"autofilter":switch(o[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:ne=false;}break;case"querytable":switch(o[3]){case"id":break;case"autoformatfont":break;case"autoformatpattern":break;case"querysource":break;case"querytype":break;case"enableredirections":break;case"refreshedinxl9":break;case"urlstring":break;case"htmltables":break;case"connection":break;case"commandtext":break;case"refreshinfo":break;case"notitles":break;case"nextid":break;case"columninfo":break;case"overwritecells":break;case"donotpromptforfile":break;case"textwizardsettings":break;case"source":break;case"number":break;case"decimal":break;case"thousandseparator":break;case"trailingminusnumbers":break;case"formatsettings":break;case"fieldtype":break;case"delimiters":break;case"tab":break;case"comma":break;case"autoformatname":break;case"versionlastedit":break;case"versionlastrefresh":break;default:ne=false;}break;case"datavalidation":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;case"cellrangelist":break;default:ne=false;}break;case"sorting":;case"conditionalformatting":switch(o[3]){case"range":break;case"type":break;case"min":break;case"max":break;case"sort":break;case"descending":break;case"order":break;case"casesensitive":break;case"value":break;case"errorstyle":break;case"errormessage":break;case"errortitle":break;case"cellrangelist":break;case"inputmessage":break;case"inputtitle":break;case"combohide":break;case"inputhide":break;case"condition":break;case"qualifier":break;case"useblank":break;case"value1":break;case"value2":break;case"format":break;default:ne=false;}break;case"mapinfo":;case"schema":;case"data":switch(o[3]){case"map":break;case"entry":break;case"range":break;case"xpath":break;case"field":break;case"xsdtype":break;case"filteron":break;case"aggregate":break;case"elementtype":break;case"attributetype":break;case"schema":;case"element":;case"complextype":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:ne=false;}break;case"smarttags":break;default:ne=false;break;}if(ne)break;if(o[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+o[3]+"|"+l.join("|");if(l[l.length-1][0]==="customdocumentproperties"){if(o[0].slice(-2)==="/>")break;else if(o[1]==="/")Rp(I,K,D,n.slice(N,o.index));else{D=o;N=o.index+o[0].length}break}if(t.WTF)throw"Unrecognized tag: "+o[3]+"|"+l.join("|");}var se={};if(!t.bookSheets&&!t.bookProps)se.Sheets=u;se.SheetNames=v;se.Workbook=$;se.SSF=F.get_table();se.Props=R;se.Custprops=I;return se}function Lp(e,r){dm(r=r||{});switch(r.type||"base64"){case"base64":return Pp(b.decode(e),r);case"binary":;case"buffer":;case"file":return Pp(e,r);case"array":return Pp(_(e),r);}}function Mp(e,r){var t=[];if(e.Props)t.push(gn(e.Props,r));if(e.Custprops)t.push(mn(e.Props,e.Custprops,r));return t.join("")}function Up(){return""}function Bp(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(cr("NumberFormat",null,{"ss:Format":ze(F._table[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(cr("Style",a.join(""),n))});return cr("Styles",t.join(""))}function Wp(e){return cr("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+wc(e.Ref,{r:0,c:0})})}function Hp(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(cr("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(cr("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(cr("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"}));n.push("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(cr("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(or("ProtectContents","True"));if(e["!protect"].objects)n.push(or("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(or("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(or("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(or("EnableSelection","UnlockedCells"));[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return cr("WorksheetOptions",n.join(""),{xmlns:mr.x})}function Gp(e){return e.map(function(e){var r=Ye(e.t||"");var t=cr("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return cr("Comment",t,{"ss:Author":e.a})}).join("")}function jp(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+ze(wc(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=wt(e.F.slice(r.length+1));f["ss:ArrayRange"]="RC:R"+(o.r==s.r?"":"["+(o.r-s.r)+"]")+"C"+(o.c==s.c?"":"["+(o.c-s.c)+"]")}if(e.l&&e.l.Target){f["ss:HRef"]=ze(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=ze(e.l.Tooltip)}if(t["!merges"]){var l=t["!merges"];for(var c=0;c!=l.length;++c){if(l[c].s.c!=s.c||l[c].s.r!=s.r)continue;if(l[c].e.c>l[c].s.c)f["ss:MergeAcross"]=l[c].e.c-l[c].s.c;if(l[c].e.r>l[c].s.r)f["ss:MergeDown"]=l[c].e.r-l[c].s.r}}var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number";u=String(e.v);break;case"b":h="Boolean";u=e.v?"1":"0";break;case"e":h="Error";u=Ia[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||F._table[14];break;case"s":h="String";u=Xe(e.v||"");break;}var d=yu(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var v=e.v!=null?u:"";var p=e.t=="z"?"":''+v+"";if((e.c||[]).length>0)p+=Gp(e.c);return cr("Cell",p,f)}function Xp(e,r){var t='"}function $p(e,r,t,a){if(!e["!ref"])return"";var n=Et(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){Ao(e);var t=!!e.width;var a=Cu(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=mo(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(cr("Column",null,n))});var o=Array.isArray(e);for(var l=n.s.r;l<=n.e.r;++l){var c=[Xp(l,(e["!rows"]||[])[l])];for(var h=n.s.c;h<=n.e.c;++h){var u=false;for(s=0;s!=i.length;++s){if(i[s].s.c>h)continue;if(i[s].s.r>l)continue;if(i[s].e.c");if(c.length>2)f.push(c.join(""))}return f.join("")}function Yp(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?zp(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?$p(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Vp(i,r,e,t));return a.join("")}function Kp(e,r){if(!r)r={};if(!e.SSF)e.SSF=F.get_table();if(e.SSF){P(F);F.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(Mp(e,r));t.push(Up(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=ca(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var qp=[60,1084,2066,2165,2175];function Zp(e,r,t,a,n){var i=a;var s=[];var f=t.slice(t.l,t.l+i);if(n&&n.enc&&n.enc.insitu&&f.length>0)switch(e){case 9:;case 521:;case 1033:;case 2057:;case 47:;case 405:;case 225:;case 406:;case 312:;case 404:;case 10:break;case 133:break;default:n.enc.insitu(f);}s.push(f);t.l+=i;var o=Vr(t,t.l),l=og[o];var c=0;while(l!=null&&qp.indexOf(o)>-1){i=Vr(t,t.l+2);c=t.l+4;if(o==2066)c+=4;else if(o==2165||o==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;l=og[o=Vr(t,t.l)]}var h=I(s);et(h,0);var u=0;h.lens=[];for(var d=0;d1)return;if(t.sheetRows&&e.r>=t.sheetRows)return;if(t.cellStyles&&r.XF&&r.XF.data)x(e,r,t);delete r.ixfe;delete r.XF;u=e;d=kt(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c>8)!==$)throw new Error("rt mismatch: "+q+"!="+$);if(J.r==12){e.l+=10;K-=10}}var Z={};if($===10)Z=J.f(e,K,R);else Z=Zp($,J,e,K,R);if(W==0&&[9,521,1033,2057].indexOf(B)===-1)continue;switch($){case 34:t.opts.Date1904=S.WBProps.date1904=Z;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!R.enc)e.l=0;R.enc=Z;if(!r.password)throw new Error("File is password-protected");if(Z.valid==null)throw new Error("Encryption scheme unsupported");if(!Z.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=Z;break;case 66:var Q=Number(Z);switch(Q){case 21010:Q=1200;break;case 32768:Q=1e4;break;case 32769:Q=1252;break;}o(R.codepage=Q);j=true;break;case 317:R.rrtabid=Z;break;case 25:R.winlocked=Z;break;case 439:t.opts["RefreshAll"]=Z;break;case 12:t.opts["CalcCount"]=Z;break;case 16:t.opts["CalcDelta"]=Z;break;case 17:t.opts["CalcIter"]=Z;break;case 13:t.opts["CalcMode"]=Z;break;case 14:t.opts["CalcPrecision"]=Z;break;case 95:t.opts["CalcSaveRecalc"]=Z;break;case 15:R.CalcRefMode=Z;break;case 2211:t.opts.FullCalc=Z;break;case 129:if(Z.fDialog)n["!type"]="dialog";if(!Z.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!Z.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 224:E.push(Z);break;case 430:U.push([Z]);U[U.length-1].XTI=[];break;case 35:;case 547: +U[U.length-1].push(Z);break;case 24:;case 536:G={Name:Z.Name,Ref:Qh(Z.rgce,s,null,U,R)};if(Z.itab>0)G.Sheet=Z.itab-1;U.names.push(G);if(!U[0]){U[0]=[];U[0].XTI=[]}U[U.length-1].push(Z);if(Z.Name=="_xlnm._FilterDatabase"&&Z.itab>0)if(Z.rgce&&Z.rgce[0]&&Z.rgce[0][0]&&Z.rgce[0][0][0]=="PtgArea3d")V[Z.itab-1]={ref:At(Z.rgce[0][0][1][2])};break;case 22:R.ExternCount=Z;break;case 23:if(U.length==0){U[0]=[];U[0].XTI=[]}U[U.length-1].XTI=U[U.length-1].XTI.concat(Z);U.XTI=U.XTI.concat(Z);break;case 2196:if(R.biff<8)break;if(G!=null)G.Comment=Z[1];break;case 18:n["!protect"]=Z;break;case 19:if(Z!==0&&R.WTF)console.error("Password verifier: "+Z);break;case 133:{i[Z.pos]=Z;R.snames.push(Z.name)}break;case 10:{if(--W)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=At(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var ee=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=At(s);s.e.r=ee}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(D.length>0)n["!objects"]=D;if(P.length>0)n["!cols"]=P;if(L.length>0)n["!rows"]=L;S.Sheets.push(y)}if(c==="")h=n;else a[c]=n;n=r.dense?[]:{}}break;case 9:;case 521:;case 1033:;case 2057:{if(R.biff===8)R.biff={9:2,521:3,1033:4}[$]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[Z.BIFFVer]||8;R.biffguess=Z.BIFFVer==0;if(Z.BIFFVer==0&&Z.dt==4096){R.biff=5;j=true;o(R.codepage=28591)}if(R.biff==8&&Z.BIFFVer==0&&Z.dt==16)R.biff=2;if(W++)break;n=r.dense?[]:{};if(R.biff<8&&!j){j=true;o(R.codepage=r.codepage||1252)}if(R.biff<5||Z.BIFFVer==0&&Z.dt==4096){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var re={pos:e.l-K,name:c};i[re.pos]=re;R.snames.push(c)}else c=(i[X]||{name:""}).name;if(Z.dt==32)n["!type"]="chart";if(Z.dt==64)n["!type"]="macro";N=[];D=[];R.arrayf=k=[];P=[];L=[];M=false;y={Hidden:(i[X]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n[Z.r]||[])[Z.c]:n[kt({c:Z.c,r:Z.r})])++Z.c;T={ixfe:Z.ixfe,XF:E[Z.ixfe]||{},v:Z.val,t:"n"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 5:;case 517:{T={ixfe:Z.ixfe,XF:E[Z.ixfe],v:Z.val,t:Z.t};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 638:{T={ixfe:Z.ixfe,XF:E[Z.ixfe],v:Z.rknum,t:"n"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 189:{for(var te=Z.c;te<=Z.C;++te){var ae=Z.rkrec[te-Z.c][0];T={ixfe:ae,XF:E[ae],v:Z.rkrec[te-Z.c][1],t:"n"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:te,r:Z.r},T,r)}}break;case 6:;case 518:;case 1030:{if(Z.val=="String"){f=Z;break}T=eg(Z.val,Z.cell.ixfe,Z.tt);T.XF=E[T.ixfe];if(r.cellFormula){var ne=Z.formula;if(ne&&ne[0]&&ne[0][0]&&ne[0][0][0]=="PtgExp"){var ie=ne[0][0][1][0],se=ne[0][0][1][1];var fe=kt({r:ie,c:se});if(w[fe])T.f=""+Qh(Z.formula,s,Z.cell,U,R);else T.F=((r.dense?(n[ie]||[])[se]:n[fe])||{}).F}else T.f=""+Qh(Z.formula,s,Z.cell,U,R)}if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O(Z.cell,T,r);f=Z}break;case 7:;case 519:{if(f){f.val=Z;T=eg(Z,f.cell.ixfe,"s");T.XF=E[T.ixfe];if(r.cellFormula){T.f=""+Qh(f.formula,s,f.cell,U,R)}if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O(f.cell,T,r);f=null}else throw new Error("String record expects Formula")}break;case 33:;case 545:{k.push(Z);var oe=kt(Z[0].s);v=r.dense?(n[Z[0].s.r]||[])[Z[0].s.c]:n[oe];if(r.cellFormula&&v){if(!f)break;if(!oe||!v)break;v.f=""+Qh(Z[1],s,Z[0],U,R);v.F=At(Z[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[kt(f.cell)]=Z[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[kt(f.cell)];(v||{}).f=""+Qh(Z[0],s,u,U,R)}}break;case 253:T=eg(l[Z.isst].t,Z.ixfe,"s");if(l[Z.isst].h)T.h=l[Z.isst].h;T.XF=E[T.ixfe];if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:Z.ixfe,XF:E[Z.ixfe],t:"z"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 190:if(r.sheetStubs){for(var le=Z.c;le<=Z.C;++le){var ce=Z.ixfe[le-Z.c];T={ixfe:ce,XF:E[ce],t:"z"};if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:le,r:Z.r},T,r)}}break;case 214:;case 516:;case 4:T=eg(Z.val,Z.ixfe,"s");T.XF=E[T.ixfe];if(H>0)T.z=z[T.ixfe>>8&63];Qp(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r);break;case 0:;case 512:{if(W===1)s=Z}break;case 252:{l=Z}break;case 1054:{if(R.biff==4){z[H++]=Z[1];for(var he=0;he=163)F.load(Z[1],H+163)}else F.load(Z[1],Z[0])}break;case 30:{z[H++]=Z;for(var ue=0;ue=163)F.load(Z,H+163)}break;case 229:N=N.concat(Z);break;case 93:D[Z.cmo[0]]=R.lastobj=Z;break;case 438:R.lastobj.TxO=Z;break;case 127:R.lastobj.ImData=Z;break;case 440:{for(b=Z[0].s.r;b<=Z[0].e.r;++b)for(m=Z[0].s.c;m<=Z[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[kt({c:m,r:b})];if(v)v.l=Z[1]}}break;case 2048:{for(b=Z[0].s.r;b<=Z[0].e.r;++b)for(m=Z[0].s.c;m<=Z[0].e.c;++m){v=r.dense?(n[b]||[])[m]:n[kt({c:m,r:b})];if(v&&v.l)v.l.Tooltip=Z[1]}}break;case 28:{if(R.biff<=5&&R.biff>=2)break;v=r.dense?(n[Z[0].r]||[])[Z[0].c]:n[kt(Z[0])];var de=D[Z[2]];if(!v){if(r.dense){if(!n[Z[0].r])n[Z[0].r]=[];v=n[Z[0].r][Z[0].c]={t:"z"}}else{v=n[kt(Z[0])]={t:"z"}}s.e.r=Math.max(s.e.r,Z[0].r);s.s.r=Math.min(s.s.r,Z[0].r);s.e.c=Math.max(s.e.c,Z[0].c);s.s.c=Math.min(s.s.c,Z[0].c)}if(!v.c)v.c=[];p={a:Z[1],t:de.TxO.t};v.c.push(p)}break;case 2173:Rl(E[Z.ixfe],Z.ext);break;case 125:{if(!R.cellStyles)break;while(Z.e>=Z.s){P[Z.e--]={width:Z.w/256,level:Z.level||0,hidden:!!(Z.flags&1)};if(!M){M=true;To(Z.w/256)}Ao(P[Z.e+1])}}break;case 520:{var ve={};if(Z.level!=null){L[Z.r]=ve;ve.level=Z.level}if(Z.hidden){L[Z.r]=ve;ve.hidden=true}if(Z.hpt){L[Z.r]=ve;ve.hpt=Z.hpt;ve.hpx=yo(Z.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])Su(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[$]]=Z;break;case 161:if(!n["!margins"])Su(n["!margins"]={});n["!margins"].header=Z.header;n["!margins"].footer=Z.footer;break;case 574:if(Z.RTL)S.Views[0].RTL=true;break;case 146:C=Z;break;case 2198:I=Z;break;case 140:A=Z;break;case 442:{if(!c)S.WBProps.CodeName=Z||"ThisWorkbook";else y.CodeName=Z||y.name}break;case 85:;case 549:;case 94:;case 431:;case 444:;case 91:;case 255:;case 2147:;case 2214:;case 233:;case 96:;case 218:;case 352:;case 2202:;case 11:;case 523:;case 4188:;case 29:;case 20:;case 21:;case 131:;case 132:;case 77:;case 171:;case 148:;case 215:;case 450:;case 176:;case 177:;case 178:;case 256:;case 180:;case 205:;case 151:;case 135:;case 197:;case 181:;case 241:;case 2050:;case 2152:;case 2151:;case 2161:;case 2162:;case 2168:;case 2167:;case 449:;case 153:;case 4192:;case 4200:;case 4198:;case 49:;case 2172:;case 659:;case 2194:;case 221:;case 99:;case 2169:;case 566:;case 2190:;case 2191:;case 2192:;case 213:;case 227:;case 81:;case 2148:;case 437:;case 82:;case 182:;case 251:;case 247:;case 240:;case 242:;case 245:;case 244:;case 174:;case 80:;case 2156:;case 42:;case 43:;case 51:;case 89:;case 90:;case 160:;case 2146:;case 445:;case 211:;case 2199:;case 2059:;case 239:;case 222:;case 2189:;case 446:;case 434:;case 4177:;case 4099:;case 4109:;case 2166:;case 220:;case 2051:;case 2058:;case 2052:;case 4174:;case 432:;case 433:;case 2170:;case 2171:;case 448:;case 4097:;case 225:;case 193:;case 226:;case 353:;case 156:break;case 61:;case 141:;case 130:;case 128:;case 425:;case 426:;case 427:;case 65:;case 4195:;case 4147:;case 4148:;case 2130:;case 2131:;case 4146:;case 4122:;case 4125:;case 4129:;case 4126:;case 4166:;case 2205:;case 2215:;case 4130:;case 4124:;case 2206:;case 2207:;case 4103:;case 4106:;case 4098:;case 4154:;case 4191:;case 4116:;case 2128:;case 4149:;case 4196:;case 4118:;case 4170:;case 4171:;case 4102:;case 4165:;case 4134:;case 4128:;case 4194:;case 4189:;case 4164:;case 4132:;case 4133:;case 2134:;case 2155:;case 4117:;case 4163:;case 4121:;case 4123:;case 4107:;case 4105:;case 2132:;case 2133:;case 4176:;case 4135:;case 4197:;case 4108:;case 2135:;case 4120:;case 4119:;case 4159:;case 4161:;case 4175:;case 4127:;case 2064:;case 2136:;case 2137:;case 4168:;case 2213:;case 2249:;case 2250:;case 2251:;case 429:;case 2055:;case 2054:;case 2053:;case 155:;case 158:;case 157:;case 2174:;case 2164:;case 144:;case 2197:;case 2212:;case 236:;case 235:;case 237:;case 2049:;case 2240:;case 2204:;case 2150:;case 2187:;case 27:;case 26:;case 64:;case 2203:;case 2188:;case 60:;case 2175:;case 2138:;case 2129:;case 234:;case 4158:;case 4160:;case 4157:;case"Intl":;case"CoordList":;case"SerAuxErrBar":;case 69:;case 31:;case 50:;case 67:;case 579:;case 1091:;case 68:;case 86:;case 8:;case 62:;case 175:;case 4156:;case 2154:;case 441:;case 4193:;case 4199:;case 2067:;case 149:;case 154:;case 194:;case 152:;case 2241:;case 2242:;case 319:;case 1048:;case 191:;case 192:;case 52:;case 2262:break;default:if(r.WTF)throw"Unrecognized Record 0x"+$.toString(16);}}else e.l+=K}t.SheetNames=Y(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(!t.SheetNames.length&&h["!ref"]){t.SheetNames.push("Sheet1");if(t.Sheets)t.Sheets["Sheet1"]=h}else t.Preamble=h;if(t.Sheets)V.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=l;t.SSF=F.get_table();if(R.enc)t.Encryption=R.enc;if(I)t.Themes=I;t.Metadata={};if(A!==undefined)t.Metadata.Country=A;if(U.names.length>0)S.Names=U.names;t.Workbook=S;return t}var tg={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function ag(e,r,t){var a=z.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Un(a,Ca,tg.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=z.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var o=Un(f,Sa,tg.SI);for(var l in o)if(r[l]==null)r[l]=o[l]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){fn(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function ng(e,r){var t=[],a=[],n=[];var i=0,s;var f=K(Ca,"n");var o=K(Sa,"n");if(e.Props){s=Y(e.Props);for(i=0;i-1||sn.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;l.push(n[i])}if(a.length)z.utils.cfb_add(r,"/SummaryInformation",Bn(a,tg.SI,o,Sa));if(t.length||l.length)z.utils.cfb_add(r,"/DocumentSummaryInformation",Bn(t,tg.DSI,f,Ca,l.length?l:null,tg.UDI))}function ig(e,r){if(!r)r={};dm(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(z.find(e,"/encryption"))throw new Error("File is password-protected");t=z.find(e,"!CompObj");a=z.find(e,"/Workbook")||z.find(e,"/Book")}else{switch(r.type){case"base64":e=S(b.decode(e));break;case"binary":e=S(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}et(e,0);a={content:e}}var n;var i;if(t)Jp(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=w?"buffer":"array";if(a&&a.content)n=rg(a.content,r);else if((i=z.find(e,"PerfectOffice_MAIN"))&&i.content)n=bf.to_workbook(i.content,(r.type=f,r));else if((i=z.find(e,"NativeContent_MAIN"))&&i.content)n=bf.to_workbook(i.content,(r.type=f,r));else if((i=z.find(e,"MN0"))&&i.content)throw new Error("Unsupported Works 4 for Mac file");else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&z.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=cc(e)}var o={};if(e.FullPaths)ag(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function sg(e,r){var t=r||{};var a=z.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}z.utils.cfb_add(a,n,_g(e,t));if(t.biff==8&&(e.Props||e.Custprops))ng(e,a);if(t.biff==8&&e.vbaraw)hc(a,z.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var fg={0:{f:od},1:{f:gd},2:{f:Ld},3:{f:Cd},4:{f:kd},5:{f:Nd},6:{f:Hd},7:{f:xd},8:{f:Yd},9:{f:$d},10:{f:jd},11:{f:Xd},12:{f:bd},13:{f:Ud},14:{f:yd},15:{f:Ad},16:{f:Fd},17:{f:Vd},18:{f:Rd},19:{f:Pt},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:Qv},40:{},42:{},43:{f:Ho},44:{f:Bo},45:{f:jo},46:{f:Jo},47:{f:$o},48:{},49:{f:Ot},50:{},51:{f:Dl},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:$s},62:{f:Wd},63:{f:Vl},64:{f:hv},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:rt,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:fv},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:vd},148:{f:hd,p:16},151:{f:ev},152:{},153:{f:Jv},154:{},155:{},156:{f:Yv},157:{},158:{},159:{T:1,f:Nf},160:{T:-1},161:{T:1,f:ea},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Kd},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Il},336:{T:-1},337:{f:Ll,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Yt},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Cs},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:rv},427:{f:tv},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:iv},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:dd},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:Zd},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Yt},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:ic},633:{T:1},634:{T:-1},635:{T:1,f:ac},636:{T:-1},637:{f:Mt},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:Rv},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:uv},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}};var og={6:{f:su},10:{f:Wn},12:{f:jn},13:{f:jn},14:{f:Vn},15:{f:Vn},16:{f:ta},17:{f:Vn},18:{f:Vn},19:{f:jn},20:{f:ws},21:{f:ws},23:{f:Cs},24:{f:Es},25:{f:Vn},26:{},27:{},28:{f:Is},29:{},34:{f:Vn},35:{f:Ts},38:{f:ta},39:{f:ta},40:{f:ta},41:{f:ta},42:{f:Vn},43:{f:Vn},47:{f:io},49:{f:Ji},51:{f:jn},60:{},61:{f:ji},64:{f:Vn},65:{f:Ki},66:{f:jn},77:{},80:{},81:{},82:{},85:{f:jn},89:{},90:{},91:{},92:{f:Di},93:{f:Fs},94:{},95:{f:Vn},96:{},97:{},99:{f:Vn},125:{f:$s},128:{f:ds},129:{f:Pi},130:{f:jn},131:{f:Vn},132:{f:Vn},133:{f:Li},134:{},140:{f:zs},141:{f:jn},144:{},146:{f:js},151:{},152:{},153:{},154:{},155:{},156:{f:jn},157:{},158:{},160:{f:Qs},161:{f:Ks},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:os},190:{f:ls},193:{f:Wn},197:{},198:{},199:{},200:{},201:{},202:{f:Vn},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:jn},220:{},221:{f:Vn},222:{},224:{f:hs},225:{f:Ni},226:{f:Wn},227:{},229:{f:Ns},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:Ui},253:{f:Zi},255:{f:Wi},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:$n},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:Vn},353:{f:Wn},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:ks},431:{f:Vn},432:{},433:{},434:{},437:{},438:{f:Ms},439:{f:Vn},440:{f:Us},441:{},442:{f:ei},443:{},444:{f:jn},445:{},446:{},448:{f:Wn},449:{f:Vi,r:2},450:{f:Wn},512:{f:is},513:{f:Zs},515:{f:ms},516:{f:es},517:{f:ps},519:{f:ef},520:{f:Hi},523:{},545:{f:xs},549:{f:Gi},566:{},574:{f:$i},638:{f:fs},659:{},1048:{},1054:{f:ts},1084:{},1212:{f:_s},2048:{f:Ws},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Ri},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Wn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Xs,r:12},2173:{f:Ol,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Vn,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:ys,r:12},2197:{},2198:{f:El,r:12},2199:{},2200:{},2201:{},2202:{f:Os,r:12},2203:{f:Wn},2204:{},2205:{},2206:{},2207:{},2211:{f:zi},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:jn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:Js},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:Gs},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:is},1:{},2:{f:sf},3:{f:af},4:{f:tf},5:{f:ps},7:{f:of},8:{},9:{f:Ri},11:{},22:{f:jn},30:{f:ns},31:{},32:{},33:{f:xs},36:{},37:{f:Gi},50:{f:lf},62:{},52:{},67:{},68:{f:jn},69:{},86:{},126:{},127:{f:rf},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:cf},223:{},234:{},354:{},421:{},518:{f:su},521:{f:Ri},536:{f:Es},547:{f:Ts},561:{},579:{},1030:{f:su},1033:{f:Ri},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function lg(e,r,t,a){var n=r;if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Wr(t))e.push(t)}function cg(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return lg(e,r,t,n);var i=r;if(isNaN(i))return;var s=t.parts||[],f=0;var o=0,l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,l);e.push(t.slice(o,o+l));o+=l;while(o=0&&n<65536)lg(e,2,ff(t,a,n));else lg(e,3,nf(t,a,n));return;case"b":;case"e":lg(e,5,ug(t,a,r.v,r.t));return;case"s":;case"str":lg(e,4,dg(t,a,(r.v||"").slice(0,255)));return;}lg(e,1,hg(null,t,a))}function pg(e,r,t,a){var n=Array.isArray(r);var i=Et(r["!ref"]||"A1"),s,f="",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=At(i)}for(var l=i.s.r;l<=i.e.r;++l){f=ht(l);for(var c=i.s.c;c<=i.e.c;++c){if(l===i.s.r)o[c]=pt(c);s=o[c]+f;var h=n?(r[l]||[])[c]:r[s];if(!h)continue;vg(e,h,l,c,a)}}}function gg(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=nt();var n=0;for(var i=0;i255||d.e.r>=v){if(r.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:IV16384");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}lg(a,2057,Ii(t,16,r));lg(a,13,Xn(1));lg(a,12,Xn(100));lg(a,15,Gn(true));lg(a,17,Gn(false));lg(a,16,aa(.001));lg(a,95,Gn(true));lg(a,42,Gn(false));lg(a,43,Gn(false));lg(a,130,Xn(1));lg(a,128,vs([0,0]));lg(a,131,Gn(false));lg(a,132,Gn(false));if(l)Ag(a,i["!cols"]);lg(a,512,ss(d,r));if(l)i["!links"]=[];for(var p=d.s.r;p<=d.e.r;++p){h=ht(p);for(var g=d.s.c;g<=d.e.c;++g){if(p===d.s.r)u[g]=pt(g);c=u[g]+h;var m=o?(i[p]||[])[g]:i[c];if(!m)continue;Eg(a,m,p,g,r);if(l&&m.l)i["!links"].push([c,m.l])}}var b=f.CodeName||f.name||n;if(l)lg(a,574,Yi((s.Views||[])[0]));if(l&&(i["!merges"]||[]).length)lg(a,229,Ds(i["!merges"]));if(l)Tg(a,i);lg(a,442,ti(b,r));if(l)wg(a,i);lg(a,10);return a.end()}function Sg(e,r,t){var a=nt();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,o=t.biff==5;lg(a,2057,Ii(e,5,t));if(t.bookType=="xla")lg(a,135);lg(a,225,f?Xn(1200):null);lg(a,193,Hn(2));if(o)lg(a,191);if(o)lg(a,192);lg(a,226);lg(a,92,Fi("SheetJS",t));lg(a,66,Xn(f?1200:1252));if(f)lg(a,353,Xn(0));if(f)lg(a,448);lg(a,317,qs(e.SheetNames.length));if(f&&e.vbaraw)lg(a,211);if(f&&e.vbaraw){var l=s.CodeName||"ThisWorkbook";lg(a,442,ti(l,t))}lg(a,156,Xn(17));lg(a,25,Gn(false));lg(a,18,Gn(false));lg(a,19,Xn(0));if(f)lg(a,431,Gn(false));if(f)lg(a,444,Xn(0));lg(a,61,Xi(t));lg(a,64,Gn(false));lg(a,141,Xn(0));lg(a,34,Gn(Wv(e)=="true"));lg(a,14,Gn(true));if(f)lg(a,439,Gn(false));lg(a,218,Xn(0));mg(a,e,t);bg(a,e.SSF,t);kg(a,t);if(f)lg(a,352,Gn(false));var c=a.end();var h=nt();if(f)lg(h,140,Vs());if(f&&t.Strings)cg(h,252,Bi(t.Strings,t));lg(h,10);var u=h.end();var d=nt();var v=0,p=0;for(p=0;p255){if(typeof console!="undefined"&&console.error)console.error("Worksheet '"+e.SheetNames[t]+"' extends beyond column IV (255). Data may be lost.")}}var i=r||{};switch(i.biff||2){case 8:;case 5:return yg(e,r);case 4:;case 3:;case 2:return gg(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}var xg=function(){function e(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,f=i&&i.index||e.length;var o=ge(e.slice(s,f),/(:?]*>)/i,"");var l=-1,c=0,h=0,u=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(f=0;f"))>-1)k=k.slice(T+1);for(var A=0;A")));u=C.colspan?+C.colspan:1;if((h=+C.rowspan)>1||u>1)v.push({s:{r:l,c:c},e:{r:l+(h||1)-1,c:c+u-1}});var S=C.t||C["data-t"]||"";if(!k.length){ +c+=u;continue}k=tr(k);if(d.s.r>l)d.s.r=l;if(d.e.rc)d.s.c=c;if(d.e.c[\s\S]*?<\/table>/gi);if(!a||a.length==0)throw new Error("Invalid HTML: could not find
");if(a.length==1)return yt(e(a[0],t),t);var n=ib();a.forEach(function(r,a){sb(n,e(r,t),"Sheet"+(a+1))});return n}function t(e,r,t,a){var n=e["!merges"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var f=0,o=0;for(var l=0;lt||n[l].s.c>s)continue;if(n[l].e.r1)d.rowspan=f;if(o>1)d.colspan=o;if(a.editable)u=''+u+"";else if(h){d["data-t"]=h&&h.t||"z";if(h.v!=null)d["data-v"]=h.v;if(h.z!=null)d["data-z"]=h.z;if(h.l&&(h.l.Target||"#").charAt(0)!="#")u=''+u+""}d.id=(a.id||"sjs")+"-"+c;i.push(cr("td",u,d))}var v="";return v+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var f=s.header!=null?s.header:n;var o=s.footer!=null?s.footer:i;var l=[f];var c=Tt(e["!ref"]);s.dense=Array.isArray(e);l.push(a(e,c,s));for(var h=c.s.r;h<=c.e.r;++h)l.push(t(e,c,h,s));l.push("
"+o);return l.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function Og(e,r,t){var a=t||{};if(g!=null)a.dense=g;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?wt(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName("tr");var o=Math.min(a.sheetRows||1e7,f.length);var l={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var c=Tt(e["!ref"]);l.s.r=Math.min(l.s.r,c.s.r);l.s.c=Math.min(l.s.c,c.s.c);l.e.r=Math.max(l.e.r,c.e.r);l.e.c=Math.max(l.e.c,c.e.c);if(n==-1)l.e.r=n=c.e.r+1}var h=[],u=0;var d=e["!rows"]||(e["!rows"]=[]);var v=0,p=0,m=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)h.push({s:{r:p+n,c:b+i},e:{r:p+n+(w||1)-1,c:b+i+(k||1)-1}});var _={t:"s",v:C};var x=E.getAttribute("data-t")||E.getAttribute("t")||"";if(C!=null){if(C.length==0)_.t=x||"z";else if(a.raw||C.trim().length==0||x=="s"){}else if(C==="TRUE")_={t:"b",v:true};else if(C==="FALSE")_={t:"b",v:false};else if(!isNaN(ue(C)))_={t:"n",v:ue(C)};else if(!isNaN(ve(C).getDate())){_={t:"d",v:oe(C)};if(!a.cellDates)_={t:"n",v:ee(_.v)};_.z=a.dateNF||F._table[14]}}if(_.z===undefined&&S!=null)_.z=S;var O="",R=E.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=o)e["!fullref"]=At((l.e.r=f.length-v+p-1+n,l));return e}function Rg(e,r){var t=r||{};var a=t.dense?[]:{};return Og(a,e,r)}function Ig(e,r){return yt(Rg(e,r),r)}function Ng(e){var r="";var t=Dg(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Dg(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Fg(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Be(r.replace(/<[^>]*>/g,""));return[t]}var Pg={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Lg(e,r){var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a=dr(e);var n=[],i;var s;var f={name:""},o="",l=0;var c;var h;var u={},d=[];var v=t.dense?[]:{};var p,m;var b={value:""};var w="",k=0,T;var A=[];var E=-1,C=-1,S={s:{r:1e6,c:1e7},e:{r:0,c:0}};var y=0;var _={};var x=[],O={},R=0,I=0;var N=[],D=1,F=1;var P=[];var L={Names:[]};var M={};var U=["",""];var B=[],W={};var H="",z=0;var V=false,G=false;var j=0;vr.lastIndex=0;a=a.replace(//gm,"").replace(//gm,"");while(p=vr.exec(a))switch(p[3]=p[3].replace(/_.*$/,"")){case"table":;case"工作表":if(p[1]==="/"){if(S.e.c>=S.s.c&&S.e.r>=S.s.r)v["!ref"]=At(S);else v["!ref"]="A1:A1";if(t.sheetRows>0&&t.sheetRows<=S.e.r){v["!fullref"]=v["!ref"];S.e.r=t.sheetRows-1;v["!ref"]=At(S)}if(x.length)v["!merges"]=x;if(N.length)v["!rows"]=N;c.name=c["名称"]||c.name;if(typeof JSON!=="undefined")JSON.stringify(c);d.push(c.name);u[c.name]=v;G=false}else if(p[0].charAt(p[0].length-2)!=="/"){c=Pe(p[0],false);E=C=-1;S.s.r=S.s.c=1e7;S.e.r=S.e.c=0;v=t.dense?[]:{};x=[];N=[];G=true}break;case"table-row-group":if(p[1]==="/")--y;else++y;break;case"table-row":;case"行":if(p[1]==="/"){E+=D;D=1;break}h=Pe(p[0],false);if(h["行号"])E=h["行号"]-1;else if(E==-1)E=0;D=+h["number-rows-repeated"]||1;if(D<10)for(j=0;j0)N[E+j]={level:y};C=-1;break;case"covered-table-cell":if(p[1]!=="/")++C;if(t.sheetStubs){if(t.dense){if(!v[E])v[E]=[];v[E][C]={t:"z"}}else v[kt({r:E,c:C})]={t:"z"}}w="";A=[];break;case"table-cell":;case"数据":if(p[0].charAt(p[0].length-2)==="/"){++C;b=Pe(p[0],false);F=parseInt(b["number-columns-repeated"]||"1",10);m={t:"z",v:null};if(b.formula&&t.cellFormula!=false)m.f=gu(Be(b.formula));if((b["数据类型"]||b["value-type"])=="string"){m.t="s";m.v=Be(b["string-value"]||"");if(t.dense){if(!v[E])v[E]=[];v[E][C]=m}else{v[kt({r:E,c:C})]=m}}C+=F-1}else if(p[1]!=="/"){++C;w="";k=0;A=[];F=1;var X=D?E+D-1:E;if(C>S.e.c)S.e.c=C;if(CS.e.r)S.e.r=X;b=Pe(p[0],false);B=[];W={};m={t:b["数据类型"]||b["value-type"],v:null};if(t.cellFormula){if(b.formula)b.formula=Be(b.formula);if(b["number-matrix-columns-spanned"]&&b["number-matrix-rows-spanned"]){R=parseInt(b["number-matrix-rows-spanned"],10)||0;I=parseInt(b["number-matrix-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};m.F=At(O);P.push([O,m.F])}if(b.formula)m.f=gu(b.formula);else for(j=0;j=P[j][0].s.r&&E<=P[j][0].e.r)if(C>=P[j][0].s.c&&C<=P[j][0].e.c)m.F=P[j][1]}if(b["number-columns-spanned"]||b["number-rows-spanned"]){R=parseInt(b["number-rows-spanned"],10)||0;I=parseInt(b["number-columns-spanned"],10)||0;O={s:{r:E,c:C},e:{r:E+R-1,c:C+I-1}};x.push(O)}if(b["number-columns-repeated"])F=parseInt(b["number-columns-repeated"],10);switch(m.t){case"boolean":m.t="b";m.v=Ke(b["boolean-value"]);break;case"float":m.t="n";m.v=parseFloat(b.value);break;case"percentage":m.t="n";m.v=parseFloat(b.value);break;case"currency":m.t="n";m.v=parseFloat(b.value);break;case"date":m.t="d";m.v=oe(b["date-value"]);if(!t.cellDates){m.t="n";m.v=ee(m.v)}m.z="m/d/yy";break;case"time":m.t="n";m.v=ie(b["time-value"])/86400;if(t.cellDates){m.t="d";m.v=ne(m.v)}m.z="HH:MM:SS";break;case"number":m.t="n";m.v=parseFloat(b["数据数值"]);break;default:if(m.t==="string"||m.t==="text"||!m.t){m.t="s";if(b["string-value"]!=null){w=Be(b["string-value"]);A=[]}}else throw new Error("Unsupported value type "+m.t);}}else{V=false;if(m.t==="s"){m.v=w||"";if(A.length)m.R=A;V=k==0}if(M.Target)m.l=M;if(B.length>0){m.c=B;B=[]}if(w&&t.cellText!==false)m.w=w;if(V){m.t="z";delete m.v}if(!V||t.sheetStubs){if(!(t.sheetRows&&t.sheetRows<=E)){for(var $=0;$0)v[E+$][C+F]=ce(m)}else{v[kt({r:E+$,c:C})]=m;while(--F>0)v[kt({r:E+$,c:C+F})]=ce(m)}if(S.e.c<=C)S.e.c=C}}}F=parseInt(b["number-columns-repeated"]||"1",10);C+=F-1;F=0;m={};w="";A=[]}M={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],true]);break;case"annotation":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i;W.t=w;if(A.length)W.R=A;W.a=H;B.push(W)}else if(p[0].charAt(p[0].length-2)!=="/"){n.push([p[3],false])}H="";z=0;w="";k=0;A=[];break;case"creator":if(p[1]==="/"){H=a.slice(z,p.index)}else z=p.index+p[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(p[1]==="/"){if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/")n.push([p[3],false]);w="";k=0;A=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(p[1]==="/"){_[f.name]=o;if((i=n.pop())[0]!==p[3])throw"Bad state: "+i}else if(p[0].charAt(p[0].length-2)!=="/"){o="";f=Pe(p[0],false);n.push([p[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(p[0],false);o+=Pg[p[3]][s.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(p[0],false);o+=Pg[p[3]][s.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(p[0].slice(-2)==="/>")break;else if(p[1]==="/")switch(n[n.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=a.slice(l,p.index);break;}else l=p.index+p[0].length;break;case"named-range":s=Pe(p[0],false);U=bu(s["cell-range-address"]);var Y={Name:s.name,Ref:U[0]+"!"+U[1]};if(G)Y.Sheet=d.length;L.Names.push(Y);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(n[n.length-1][0])>-1)break;if(p[1]==="/"&&(!b||!b["string-value"])){var K=Fg(a.slice(k,p.index),T);w=(w.length>0?w+"\n":"")+K[0]}else{T=Pe(p[0],false);k=p.index+p[0].length}break;case"s":break;case"database-range":if(p[1]==="/")break;try{U=bu(Pe(p[0])["target-range-address"]);u[U[0]]["!autofilter"]={ref:U[1]}}catch(J){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(p[1]!=="/"){M=Pe(p[0],false);if(!M.href)break;M.Target=Be(M.href);delete M.href;if(M.Target.charAt(0)=="#"&&M.Target.indexOf(".")>-1){U=bu(M.Target.slice(1));M.Target="#"+U[0]+"!"+U[1]}else if(M.Target.match(/^\.\.[\\\/]/))M.Target=M.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(p[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(t.WTF)throw new Error(p);};}var q={Sheets:u,SheetNames:d,Workbook:L};if(t.bookSheets)delete q.Sheets;return q}function Mg(e,r){r=r||{};if(ke(e,"META-INF/manifest.xml"))$a(Ae(e,"META-INF/manifest.xml"),r);var t=Ee(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=Lg(Je(t),r);if(ke(e,"meta.xml"))a.Props=rn(Ae(e,"meta.xml"));return a}function Ug(e,r){return Lg(e,r)}var Bg=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Re+r}}();var Wg=function(){var e=function(e){return ze(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var f=0,o=0,l=Tt(a["!ref"]||"A1");var c=a["!merges"]||[],h=0;var u=Array.isArray(a);if(a["!cols"]){for(o=0;o<=l.e.c;++o)s.push(" \n")}var d="",v=a["!rows"]||[];for(f=0;f\n")}for(;f<=l.e.r;++f){d=v[f]?' table:style-name="ro'+v[f].ods+'"':"";s.push(" \n");for(o=0;oo)continue;if(c[h].s.r>f)continue;if(c[h].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Re];var i=lr({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=lr({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(Za().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function Hg(e,r){if(r.bookType=="fods")return Wg(e,r);var t=_e();var a="";var n=[];var i=[];a="mimetype";ye(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";ye(t,a,Wg(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";ye(t,a,Bg(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";ye(t,a,Re+Za());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";ye(t,a,qa(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";ye(t,a,Ya(n));return t}var zg=function(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)};var Vg=function(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):Je(_(e))};var Gg=function(e){var r=e.reduce(function(e,r){return e+r.length},0);var t=new Uint8Array(r);var a=0;e.forEach(function(e){t.set(e,a);a+=e.length});return t};var jg=function(e){e-=e>>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24};var Xg=function(e,r){var t=(e[r+15]&127)<<7|e[r+14]>>1;var a=e[r+14]&1;for(var n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)};function $g(e,r){var t=r?r[0]:0;var a=e[t]&127;e:if(e[t++]>=128){a|=(e[t]&127)<<7;if(e[t++]<128)break e;a|=(e[t]&127)<<14;if(e[t++]<128)break e;a|=(e[t]&127)<<21;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,28);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,35);++t;if(e[t++]<128)break e;a+=(e[t]&127)*Math.pow(2,42);++t;if(e[t++]<128)break e}if(r)r[0]=t;return a}function Yg(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){t|=(e[r]&127)<<7;if(e[r++]<128)break e;t|=(e[r]&127)<<14;if(e[r++]<128)break e;t|=(e[r]&127)<<21;if(e[r++]<128)break e;t|=(e[r]&127)<<28}return t}function Kg(e){var r=[],t=[0];while(t[0]=128);f=e.slice(o,t[0])}break;case 5:s=4;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 1:s=8;f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 2:s=$g(e,t);f=e.slice(t[0],t[0]+s);t[0]+=s;break;case 3:;case 4:;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var l={offset:a,data:f,type:i};if(r[n]==null)r[n]=[l];else r[n].push(l)}return r}function Jg(e,r){if(!e)return[];return e.map(function(e){var t;try{return r(e.data)}catch(a){var n=(t=a.message)==null?void 0:t.match(/at offset (\d+)/);if(n)a.message=a.message.replace(/at offset (\d+)/,"at offset "+(+n[1]+e.offset));throw a}})}function qg(e){var r=[],t=[0];while(t[0]>2;if(s<60)++s;else{var f=s-59;s=r[t[0]];if(f>1)s|=r[t[0]+1]<<8;if(f>2)s|=r[t[0]+2]<<16;if(f>3)s|=r[t[0]+3]<<24;s>>>=0;s++;t[0]+=f}n.push(r.slice(t[0],t[0]+s));t[0]+=s;continue}else{var o=0,l=0;if(i==1){l=(r[t[0]]>>2&7)+4;o=(r[t[0]++]&224)<<3;o|=r[t[0]++]}else{l=(r[t[0]++]>>2)+1;if(i==2){o=r[t[0]]|r[t[0]+1]<<8;t[0]+=2}else{o=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0;t[0]+=4}}n=[Gg(n)];if(o==0)throw new Error("Invalid offset 0");if(o>n[0].length)throw new Error("Invalid offset beyond length");if(l>=o){n.push(n[0].slice(-o));l-=o;while(l>=n[n.length-1].length){n.push(n[n.length-1]);l-=n[n.length-1].length}}n.push(n[0].slice(-o,-o+l))}}var c=Gg(n);if(c.length!=a)throw new Error("Unexpected length: ".concat(c.length," != ").concat(a));return c}function Qg(e){var r=[];var t=0;while(t0};break;case 7:h={t:"n",v:l};break;case 8:h={t:"e",v:0};break;case 9:{if(f>-1)h={t:"s",v:t[f]};else if(o>-1)h={t:"s",v:r[o]};else if(!isNaN(l))h={t:"n",v:l};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)));}return h}function rm(e,r,t){var a=zg(e);var n=e[1];var i=a.getUint32(8,true);var s=12;var f=-1,o=-1,l=NaN,c=NaN,h=new Date(2001,0,1);if(i&1){l=Xg(e,s);s+=16}if(i&2){c=a.getFloat64(s,true);s+=8}if(i&4){h.setTime(h.getTime()+a.getFloat64(s,true)*1e3);s+=8}if(i&8){o=a.getUint32(s,true);s+=4}if(i&16){f=a.getUint32(s,true);s+=4}var u;switch(n){case 0:break;case 2:u={t:"n",v:l};break;case 3:u={t:"s",v:r[o]};break;case 5:u={t:"d",v:h};break;case 6:u={t:"b",v:c>0};break;case 7:u={t:"n",v:c};break;case 8:u={t:"e",v:0};break;case 9:{if(f>-1)u={t:"s",v:t[f]};else throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)))}break;case 10:u={t:"n",v:l};break;default:throw new Error("Unsupported cell type ".concat(n," : ").concat(i&31," : ").concat(e.slice(0,4)));}return u}function tm(e,r,t){switch(e[0]){case 3:;case 4:return em(e,r,t);case 5:return rm(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function am(e){var r=Kg(e);return $g(r[1][0].data)}function nm(e,r){var t=Kg(r.data);var a=Yg(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=Kg(r.data);var n=Yg(t[1][0].data)>>>0;switch(a){case 1:i[n]=Vg(t[3][0].data);break;case 8:{var s=e[am(t[9][0].data)][0];var f=Kg(s.data);var o=e[am(f[1][0].data)][0];var l=Yg(o.meta[1][0].data);if(l!=2001)throw new Error("2000 unexpected reference to ".concat(l));var c=Kg(o.data);i[n]=c[3].map(function(e){return Vg(e.data)}).join("")}break;}});return i}function im(e){var r,t,a,n,i,s,f,o,l,c;var h=Kg(e);var u=Yg(h[1][0].data)>>>0;var d=(t=(r=h[3])==null?void 0:r[0])==null?void 0:t.data;var v=((n=(a=h[4])==null?void 0:a[0])==null?void 0:n.data)&&zg(h[4][0].data);var p=(s=(i=h[6])==null?void 0:i[0])==null?void 0:s.data;var g=((o=(f=h[7])==null?void 0:f[0])==null?void 0:o.data)&&zg(h[7][0].data);var m=((c=(l=h[8])==null?void 0:l[0])==null?void 0:c.data)&&Yg(h[8][0].data)>0||false;var b=m?4:1;var w=[];var k=0;for(var T=0;T>>0)-1;if(i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=At(i);{var s=Kg(n[4][0].data);var f=nm(e,e[am(s[4][0].data)][0]);var o=((a=s[17])==null?void 0:a[0])?nm(e,e[am(s[17][0].data)][0]):[];{var l=Kg(s[3][0].data);var c=[];l[1].forEach(function(r){var t=Kg(r.data);var a=e[am(t[2][0].data)][0];var n=Yg(a.meta[1][0].data);if(n!=6002)throw new Error("6001 unexpected reference to ".concat(n));c.push({id:Yg(t[1][0].data),ref:sm(e,a)})});c.forEach(function(e){e.ref.forEach(function(e,r){e.forEach(function(e,a){var n=kt({r:r,c:a});var i=tm(e,f,o);if(i)t[n]=i})})})}}}function om(e,r){var t=Kg(r.data);var a={"!ref":"A1"};var n=e[am(t[2][0].data)];var i=Yg(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));fm(e,n[0],a);return a}function lm(e,r){var t;var a=Kg(r.data);var n={name:((t=a[1])==null?void 0:t[0])?Vg(a[1][0].data):"",sheets:[]};var i=Jg(a[2],am);i.forEach(function(r){e[r].forEach(function(r){var t=Yg(r.meta[1][0].data);if(t==6e3)n.sheets.push(om(e,r))})});return n}function cm(e,r){ +var t=ib();var a=Kg(r.data);var n=Jg(a[1],am);n.forEach(function(r){e[r].forEach(function(r){var a=Yg(r.meta[1][0].data);if(a==2){var n=lm(e,r);n.sheets.forEach(function(e){sb(t,e,n.name)})}})});if(t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}function hm(e){var r=[];e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")});e.FileIndex.forEach(function(e){if(!e.name.match(/\.iwa$/))return;var t;try{t=Qg(e.content)}catch(a){return console.log("?? "+e.content.length+" "+(a.message||a))}var n;try{n=qg(t)}catch(a){return console.log("## "+(a.message||a))}n.forEach(function(e){r[+e.id]=e.messages})});if(!r.length)throw new Error("File has no messages");var t;r.forEach(function(e){e.forEach(function(e){var r=Yg(e.meta[1][0].data)>>>0;if(r==1){if(!t)t=e;else throw new Error("Document has multiple roots")}})});if(!t)throw new Error("Cannot find Document root");return cm(r,t)}function um(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}function dm(e){um([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)}function vm(e){um([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function pm(e){if(Ba.WS.indexOf(e)>-1)return"sheet";if(Ba.CS&&e==Ba.CS)return"chart";if(Ba.DS&&e==Ba.DS)return"dialog";if(Ba.MS&&e==Ba.MS)return"macro";return e&&e.length?e:"sheet"}function gm(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,pm(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function mm(e,r,t,a,n,i,s,f,o,l,c,h){try{i[a]=Ha(Ee(e,t,true),r);var u=Ae(e,r);var d;switch(f){case"sheet":d=fp(u,r,n,o,i[a],l,c,h);break;case"chart":d=op(u,r,n,o,i[a],l,c,h);if(!d||!d["!drawel"])break;var v=Oe(d["!drawel"].Target,r);var p=Wa(v);var g=$l(Ee(e,v,true),Ha(Ee(e,p,true),v));var m=Oe(g,v);var b=Wa(m);d=_v(Ee(e,m,true),m,o,Ha(Ee(e,b,true),m),l,d);break;case"macro":d=lp(u,r,n,o,i[a],l,c,h);break;case"dialog":d=cp(u,r,n,o,i[a],l,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[];if(i&&i[a])Y(i[a]).forEach(function(t){var n="";if(i[a][t].Type==Ba.CMNT){n=Oe(i[a][t].Target,r);var s=vp(Ae(e,n,true),n,o);if(!s||!s.length)return;Jl(d,s,false)}if(i[a][t].Type==Ba.TCMNT){n=Oe(i[a][t].Target,r);w=w.concat(Ql(Ae(e,n,true),o))}});if(w&&w.length)Jl(d,w,true,o.people||[])}catch(k){if(o.WTF)throw k}}function bm(e){return e.charAt(0)=="/"?e.slice(1):e}function wm(e,r){P(F);r=r||{};dm(r);if(ke(e,"META-INF/manifest.xml"))return Mg(e,r);if(ke(e,"objectdata.xml"))return Mg(e,r);if(ke(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof hm!="undefined"){if(e.FileIndex)return hm(e);var t=z.utils.cfb_new();Se(e).forEach(function(r){ye(t,r,Ce(e,r))});return hm(t)}throw new Error("Unsupported NUMBERS file")}if(!ke(e,"[Content_Types].xml")){if(ke(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(ke(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Se(e);var n=La(Ee(e,"[Content_Types].xml"));var i=false;var s,f;if(n.workbooks.length===0){f="xl/workbook.xml";if(Ae(e,f,true))n.workbooks.push(f)}if(n.workbooks.length===0){f="xl/workbook.bin";if(!Ae(e,f,true))throw new Error("Could not find workbook");n.workbooks.push(f);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var o={};var l={};if(!r.bookSheets&&!r.bookProps){ku=[];if(n.sst)try{ku=dp(Ae(e,bm(n.sst)),n.sst,r)}catch(c){if(r.WTF)throw c}if(r.cellStyles&&n.themes.length)o=up(Ee(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)l=hp(Ae(e,bm(n.style)),n.style,o,r)}n.links.map(function(t){try{var a=Ha(Ee(e,Wa(bm(t))),t);return gp(Ae(e,bm(t)),a,t,r)}catch(n){}});var h=sp(Ae(e,bm(n.workbooks[0])),n.workbooks[0],r);var u={},d="";if(n.coreprops.length){d=Ae(e,bm(n.coreprops[0]),true);if(d)u=rn(d);if(n.extprops.length!==0){d=Ae(e,bm(n.extprops[0]),true);if(d)on(d,u,r)}}var v={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=Ee(e,bm(n.custprops[0]),true);if(d)v=hn(d,r)}}var p={};if(r.bookSheets||r.bookProps){if(h.Sheets)s=h.Sheets.map(function I(e){return e.name});else if(u.Worksheets&&u.SheetNames.length>0)s=u.SheetNames;if(r.bookProps){p.Props=u;p.Custprops=v}if(r.bookSheets&&typeof s!=="undefined")p.SheetNames=s;if(r.bookSheets?p.SheetNames:r.bookProps)return p}s={};var g={};if(r.bookDeps&&n.calcchain)g=pp(Ae(e,bm(n.calcchain)),n.calcchain,r);var m=0;var b={};var w,k;{var T=h.Sheets;u.Worksheets=T.length;u.SheetNames=[];for(var A=0;A!=T.length;++A){u.SheetNames[A]=T[A].name}}var E=i?"bin":"xml";var C=n.workbooks[0].lastIndexOf("/");var S=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!ke(e,S))S="xl/_rels/workbook."+E+".rels";var y=Ha(Ee(e,S,true),S.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=mp(Ae(e,bm(n.metadata[0])),n.metadata[0],r)}if((n.people||[]).length>=1){r.people=rc(Ae(e,bm(n.people[0])),r)}if(y)y=gm(y,h.Sheets);var _=Ae(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(m=0;m!=u.Worksheets;++m){var x="sheet";if(y&&y[m]){w="xl/"+y[m][1].replace(/[\/]?xl\//,"");if(!ke(e,w))w=y[m][1];if(!ke(e,w))w=S.replace(/_rels\/.*$/,"")+y[m][1];x=y[m][2]}else{w="xl/worksheets/sheet"+(m+1-_)+"."+E;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(m!=r.sheets)continue e;break;case"string":if(u.SheetNames[m].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var O=false;for(var R=0;R!=r.sheets.length;++R){if(typeof r.sheets[R]=="number"&&r.sheets[R]==m)O=1;if(typeof r.sheets[R]=="string"&&r.sheets[R].toLowerCase()==u.SheetNames[m].toLowerCase())O=1}if(!O)continue e};}mm(e,w,k,u.SheetNames[m],m,b,s,x,r,h,o,l)}p={Directory:n,Workbook:h,Props:u,Custprops:v,Deps:g,Sheets:s,SheetNames:u.SheetNames,Strings:ku,Styles:l,Themes:o,SSF:F.get_table()};if(r&&r.bookFiles){if(e.files){p.keys=a;p.files=e.files}else{p.keys=[];p.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");p.keys.push(r);p.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)p.vbaraw=Ae(e,bm(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===lc)p.vbaraw=Ae(e,"xl/vbaProject.bin",true)}return p}function km(e,r){var t=r||{};var a="Workbook",n=z.find(e,a);try{a="/!DataSpaces/Version";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Bf(n.content);a="/!DataSpaces/DataSpaceMap";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=Hf(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=zf(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Gf(n.content)}catch(f){}a="/EncryptionInfo";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=$f(n.content);a="/EncryptedPackage";n=z.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(o[1],n.content,t.password||"",t);if(o[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(o[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function Tm(e,r){if(r.bookType=="ods")return Hg(e,r);if(r.bookType=="xlsb")return Am(e,r);return Em(e,r)}function Am(e,r){Yl=1024;if(e&&!e.SSF){e.SSF=F.get_table()}if(e&&e.SSF){P(F);F.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Au)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=uc.indexOf(r.bookType)>-1;var n=Pa();vm(r=r||{});var i=_e();var s="",f=0;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";ye(i,s,an(e.Props,r));n.coreprops.push(s);ja(r.rels,2,s,Ba.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";ye(i,s,un(e.Custprops,r));n.custprops.push(s);ja(r.rels,4,s,Ba.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={"!id":{}};var h=e.Sheets[e.SheetNames[f-1]];var u=(h||{})["!type"]||"sheet";switch(u){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;ye(i,s,wp(f-1,s,r,e,c));n.sheets.push(s);ja(r.wbrels,-1,"worksheets/sheet"+f+"."+t,Ba.WS[0]);}if(h){var d=h["!comments"];var v=false;var p="";if(d&&d.length>0){p="xl/comments"+f+"."+t;ye(i,p,Ep(d,p,r));n.comments.push(p);ja(c,-1,"../comments"+f+"."+t,Ba.CMNT);v=true}if(h["!legacy"]){if(v)ye(i,"xl/drawings/vmlDrawing"+f+".vml",Kl(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(c["!id"].rId1)ye(i,Wa(s),Va(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;ye(i,s,Ap(r.Strings,s,r));n.strs.push(s);ja(r.wbrels,-1,"sharedStrings."+t,Ba.SST)}s="xl/workbook."+t;ye(i,s,bp(e,s,r));n.workbooks.push(s);ja(r.rels,1,s,Ba.WB);s="xl/theme/theme1.xml";ye(i,s,Al(e.Themes,r));n.themes.push(s);ja(r.wbrels,-1,"theme/theme1.xml",Ba.THEME);s="xl/styles."+t;ye(i,s,Tp(e,s,r));n.styles.push(s);ja(r.wbrels,-1,"styles."+t,Ba.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";ye(i,s,e.vbaraw);n.vba.push(s);ja(r.wbrels,-1,"vbaProject.bin",Ba.VBA)}s="xl/metadata."+t;ye(i,s,Cp(s));n.metadata.push(s);ja(r.wbrels,-1,"metadata."+t,Ba.XLMETA);ye(i,"[Content_Types].xml",Ua(n,r));ye(i,"_rels/.rels",Va(r.rels));ye(i,"xl/_rels/workbook."+t+".rels",Va(r.wbrels));delete r.revssf;delete r.ssf;return i}function Em(e,r){Yl=1024;if(e&&!e.SSF){e.SSF=F.get_table()}if(e&&e.SSF){P(F);F.load_table(e.SSF);r.revssf=q(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(Au)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=uc.indexOf(r.bookType)>-1;var n=Pa();vm(r=r||{});var i=_e();var s="",f=0;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";ye(i,s,an(e.Props,r));n.coreprops.push(s);ja(r.rels,2,s,Ba.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l0){s="docProps/custom.xml";ye(i,s,un(e.Custprops,r));n.custprops.push(s);ja(r.rels,4,s,Ba.CUST_PROPS)}var c=["SheetJ5"];r.tcid=0;for(f=1;f<=e.SheetNames.length;++f){var h={"!id":{}};var u=e.Sheets[e.SheetNames[f-1]];var d=(u||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+f+"."+t;ye(i,s,fd(f-1,r,e,h));n.sheets.push(s);ja(r.wbrels,-1,"worksheets/sheet"+f+"."+t,Ba.WS[0]);}if(u){var v=u["!comments"];var p=false;var g="";if(v&&v.length>0){var m=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)m=true})});if(m){g="xl/threadedComments/threadedComment"+f+"."+t;ye(i,g,ec(v,c,r));n.threadedcomments.push(g);ja(h,-1,"../threadedComments/threadedComment"+f+"."+t,Ba.TCMNT)}g="xl/comments"+f+"."+t;ye(i,g,Zl(v,r));n.comments.push(g);ja(h,-1,"../comments"+f+"."+t,Ba.CMNT);p=true}if(u["!legacy"]){if(p)ye(i,"xl/drawings/vmlDrawing"+f+".vml",Kl(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)ye(i,Wa(s),Va(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;ye(i,s,If(r.Strings,r));n.strs.push(s);ja(r.wbrels,-1,"sharedStrings."+t,Ba.SST)}s="xl/workbook."+t;ye(i,s,$v(e,r));n.workbooks.push(s);ja(r.rels,1,s,Ba.WB);s="xl/theme/theme1.xml";ye(i,s,Al(e.Themes,r));n.themes.push(s);ja(r.wbrels,-1,"theme/theme1.xml",Ba.THEME);s="xl/styles."+t;ye(i,s,Uo(e,r));n.styles.push(s);ja(r.wbrels,-1,"styles."+t,Ba.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";ye(i,s,e.vbaraw);n.vba.push(s);ja(r.wbrels,-1,"vbaProject.bin",Ba.VBA)}s="xl/metadata."+t;ye(i,s,Hl());n.metadata.push(s);ja(r.wbrels,-1,"metadata."+t,Ba.XLMETA);if(c.length>1){s="xl/persons/person.xml";ye(i,s,tc(c,r));n.people.push(s);ja(r.wbrels,-1,"persons/person.xml",Ba.PEOPLE)}ye(i,"[Content_Types].xml",Ua(n,r));ye(i,"_rels/.rels",Va(r.rels));ye(i,"xl/_rels/workbook."+t+".rels",Va(r.wbrels));delete r.revssf;delete r.ssf;return i}function Cm(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=b.decode(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function Sm(e,r){if(z.find(e,"EncryptedPackage"))return km(e,r);return ig(e,r)}function ym(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=w&&Buffer.isBuffer(e)?"buffer":"base64";t=xe(a,n);return wm(t,n)}function _m(e,r){var t=0;e:while(t=2&&n[3]===0)return bf.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return bf.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return uf.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return so.to_workbook(a,t);break;case 10:;case 13:;case 32:return xm(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(hf.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return uf.to_workbook(a,t);return Im(e,a,t,i)}function Dm(e,r){var t=r||{};t.type="file";return Nm(e,t)}function Fm(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return j(r.file,z.write(e,{type:w?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return z.write(e,r)}function Pm(e,r){var t=ce(r||{});var a=Tm(e,t);return Mm(a,t)}function Lm(e,r){var t=ce(r||{});var a=Em(e,t);return Mm(a,t)}function Mm(e,r){var t={};var a=w?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?z.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(y(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return Fm(encrypt_agile(n,r.password),r);if(r.type==="file")return j(r.file,n);return r.type=="string"?Je(n):n}function Um(e,r){var t=r||{};var a=sg(e,t);return Fm(a,t)}function Bm(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return b.encode(qe(a));case"binary":return qe(a);case"string":return e;case"file":return j(r.file,a,"utf8");case"buffer":{if(w)return k(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Bm(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Wm(e,r){switch(r.type){case"base64":return b.encode(e);case"binary":return e;case"string":return e;case"file":return j(r.file,e,"binary");case"buffer":{if(w)return k(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Hm(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=ht(o.s.r);var u=[];var d=[];var v=0,p=0;var g=Array.isArray(e);var m=o.s.r,b=0;var w={};if(g&&!e[m])e[m]=[];var k=l.skipHidden&&e["!cols"]||[];var T=l.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((k[b]||{}).hidden)continue;u[b]=pt(b);t=g?e[m][b]:e[u[b]+h];switch(a){case 1:i[b]=b-o.s.c;break;case 2:i[b]=u[b];break;case 3:i[b]=l.header[b-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=St(t,null,l);p=w[s]||0;if(!p)w[s]=1;else{do{f=s+"_"+p++}while(w[f]);w[s]=p;w[f]=1}i[b]=f;}}for(m=o.s.r+n;m<=o.e.r;++m){if((T[m]||{}).hidden)continue;var A=Ym(e,o,m,u,a,i,g,l);if(A.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[v++]=A.row}d.length=v;return d}var Jm=/"/g;function qm(e,r,t,a,n,i,s,f){var o=true;var l=[],c="",h=ht(t);for(var u=r.s.c;u<=r.e.c;++u){if(!a[u])continue;var d=f.dense?(e[t]||[])[u]:e[a[u]+h];if(d==null)c="";else if(d.v!=null){o=false;c=""+(f.rawNumbers&&d.t=="n"?d.v:St(d,null,f));for(var v=0,p=0;v!==c.length;++v)if((p=c.charCodeAt(v))===n||p===i||p===34||f.forceQuotes){c='"'+c.replace(Jm,'""')+'"';break}if(c=="ID")c='"ID"'}else if(d.f!=null&&!d.F){o=false;c="="+d.f;if(c.indexOf(",")>=0)c='"'+c.replace(Jm,'""')+'"'}else c="";l.push(c)}if(f.blankrows===false&&o)return null;return l.join(s)}function Zm(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Et(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=pt(v);var p=0;for(var g=n.s.r;g<=n.e.r;++g){if((d[g]||{}).hidden)continue;c=qm(e,n,g,h,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)t.push((p++?f:"")+c)}delete a.dense;return t.join("")}function Qm(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=Zm(e,r);if(typeof a=="undefined"||r.type=="string")return t;var n=a.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+n}function eb(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Et(e["!ref"]),i="",s=[],f;var o=[];var l=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=pt(f);for(var c=n.s.r;c<=n.e.r;++c){i=ht(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e[c]||[])[f]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function rb(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?wt(a.origin):a.origin;s=o.r;f=o.c}}var l;var c={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i["!ref"]){var h=Et(i["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(s==-1){s=h.e.r+1;c.e.r=s+r.length-1+n}}else{if(s==-1){s=0;c.e.r=r.length-1+n}}var u=a.header||[],d=0;r.forEach(function(e,r){Y(e).forEach(function(t){if((d=u.indexOf(t))==-1)u[d=u.length]=t;var o=e[t];var c="z";var h="";var v=kt({c:f+d,r:s+r+n});l=ab(i,v);if(o&&typeof o==="object"&&!(o instanceof Date)){i[v]=o}else{if(typeof o=="number")c="n";else if(typeof o=="boolean")c="b";else if(typeof o=="string")c="s";else if(o instanceof Date){c="d";if(!a.cellDates){c="n";o=ee(o)}h=a.dateNF||F._table[14]}else if(o===null&&a.nullError){c="e";o=0}if(!l)i[v]=l={t:c,v:o};else{l.t=c;l.v=o;delete l.w;delete l.R;if(h)l.z=h}if(h)l.z=h}})});c.e.c=Math.max(c.e.c,f+u.length-1);var v=ht(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function ib(){return{SheetNames:[],Sheets:{}}}function sb(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");zv(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r}function fb(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=nb(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function ob(e,r){e.z=r;return e}function lb(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function cb(e,r,t){return lb(e,"#"+r,t)}function hb(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function ub(e,r,t,a){var n=typeof r!="string"?r:Et(r);var i=typeof r=="string"?r:At(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=ab(e,s,f);o.t="n";o.F=i;delete o.v;if(s==n.s.r&&f==n.s.c){o.f=t;if(a)o.D=true}}return e}var db={encode_col:pt,encode_row:ht,encode_cell:kt,encode_range:At,decode_col:vt,decode_row:ct,split_cell:bt,decode_cell:wt,decode_range:Tt,format_cell:St,sheet_add_aoa:_t,sheet_add_json:rb,sheet_add_dom:Og,aoa_to_sheet:xt,json_to_sheet:tb,table_to_sheet:Rg,table_to_book:Ig,sheet_to_csv:Zm,sheet_to_txt:Qm,sheet_to_json:Km,sheet_to_html:xg.from_sheet,sheet_to_formulae:eb,sheet_to_row_object_array:Km,sheet_get_cell:ab,book_new:ib,book_append_sheet:sb,book_set_sheet_visibility:fb,cell_set_number_format:ob,cell_set_hyperlink:lb,cell_set_internal_link:cb,cell_add_comment:hb,sheet_set_array_formula:ub,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var vb;function pb(e){vb=e}function gb(e,r){var t=vb();var a=r==null?{}:r;if(e==null||e["!ref"]==null){t.push(null);return t}var n=Et(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:"\n",o=f.charCodeAt(0);var l=new RegExp((i=="|"?"\\|":i)+"+$");var c="",h=[];a.dense=Array.isArray(e);var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(u[v]||{}).hidden)h[v]=pt(v);var p=n.s.r;var g=false,m=0;t._read=function(){if(!g){g=true;return t.push("\ufeff")}while(p<=n.e.r){++p;if((d[p-1]||{}).hidden)continue;c=qm(e,n,p-1,h,s,o,i,a);if(c!=null){if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)return t.push((m++?f:"")+c)}}return t.push(null)};return t}function mb(e,r){var t=vb();var a=r||{};var n=a.header!=null?a.header:xg.BEGIN;var i=a.footer!=null?a.footer:xg.END;t.push(n);var s=Tt(e["!ref"]);a.dense=Array.isArray(e);t.push(xg._preamble(e,s,a));var f=s.s.r;var o=false;t._read=function(){if(f>s.e.r){if(!o){o=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(xg._row(e,s,f,a));++f;break}};return t}function bb(e,r){var t=vb({objectMode:true});if(e==null||e["!ref"]==null){t.push(null);return t}var a={t:"n",v:0},n=0,i=1,s=[],f=0,o="";var l={s:{r:0,c:0},e:{r:0,c:0}};var c=r||{};var h=c.range!=null?c.range:e["!ref"];if(c.header===1)n=1;else if(c.header==="A")n=2;else if(Array.isArray(c.header))n=3;switch(typeof h){case"string":l=Et(h);break;case"number":l=Et(e["!ref"]);l.s.r=h;break;default:l=h;}if(n>0)i=0;var u=ht(l.s.r);var d=[];var v=0;var p=Array.isArray(e);var g=l.s.r,m=0;var b={};if(p&&!e[g])e[g]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(m=l.s.c;m<=l.e.c;++m){if((w[m]||{}).hidden)continue;d[m]=pt(m);a=p?e[g][m]:e[d[m]+u];switch(n){case 1:s[m]=m-l.s.c;break;case 2:s[m]=d[m];break;case 3:s[m]=c.header[m-l.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};o=f=St(a,null,c);v=b[f]||0;if(!v)b[f]=1;else{do{o=f+"_"+v++}while(b[o]);b[f]=v;b[o]=1}s[m]=o;}}g=l.s.r+i;t._read=function(){while(g<=l.e.r){if((k[g-1]||{}).hidden)continue;var r=Ym(e,l,g,d,n,s,p,c);++g;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var wb={to_json:bb,to_html:mb,to_csv:gb,set_readable:pb};if(typeof ig!=="undefined")e.parse_xlscfb=ig;e.parse_zip=wm;e.read=Nm;e.readFile=Dm;e.readFileSync=Dm;e.write=Vm;e.writeFile=jm;e.writeFileSync=jm;e.writeFileAsync=$m;e.utils=db;e.writeXLSX=zm;e.writeFileXLSX=Xm;e.SSF=F;if(typeof wb!=="undefined")e.stream=wb;if(typeof z!=="undefined")e.CFB=z;if(typeof require!=="undefined"){var kb=undefined;if((kb||{}).Readable)pb(kb.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){ +if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} diff --git a/dist/xlsx.full.min.map b/dist/xlsx.full.min.map index f58cc2b..2dc3ed9 100644 --- a/dist/xlsx.full.min.map +++ b/dist/xlsx.full.min.map @@ -1 +1 @@ -{"version":3,"sources":["misc/suppress_export.js","dist/cpexcel.js","dist/xlsx.js"],"names":["DO_NOT_EXPORT_CODEPAGE","cptable","version","d","D","e","i","length","charCodeAt","charAt","enc","dec","j","split","module","exports","root","factory","require","cpt","Error","this","magic","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","x","String","fromCharCode","cca","has_buf","Buffer","Buffer_from","nbfs","from","buf","bind","allocUnsafe","n","mdl","mdb","make_EE","E","EE","keys","Object","len","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","data","ofmt","out","w","isBuffer","slice","toString","call","sbcs_decode","make_sbcs_decode","DD","c","sbcs_d","dbcs_encode","make_dbcs_encode","f","dbcs_e","jj","k","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","s","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","encode","C","M","isstr","indexOf","tt","join","decode","F","Array","match","dash","o64","c1","c2","c3","e1","e2","e3","e4","l","push","hascp","utils","XLSX","make_xlsx_lib","current_codepage","current_ansi","global","undefined","window","VALID_ANSI","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","reset_ansi","set_cp","reset_cp","char_codes","o","utf16leread","utf16beread","debom","_getchar","_gc1","_getansi","_ga1","_gc2","_ga2","DENSE","DIF_XL","Base64","input","isNaN","replace","node","alloc","new_raw_buf","Uint8Array","new_unsafe_buf","s2a","s2ab","ArrayBuffer","view","a2s","isArray","a2u","ab2a","utf8decode","content","widx","L","ridx","bconcat","bufs","maxlen","set","concat","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","pad0","v","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","_general_num","general_fmt","format","_general","write_date","type","fmt","val","ss0","ss","outl","outstr","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","5","6","7","8","23","24","25","26","27","28","29","30","31","32","33","34","35","36","41","42","43","44","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","datestr","timestr","DO_NOT_EXPORT_CFB","CRC32","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","crc32_buf","crc32_str","CFB","_CFB","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","fs","get_fs","parse","file","options","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","_fs","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","xlml_normalize","xlmlregex","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","cpdoit","__readInt16LE","__readInt32BE","oI","oR","oo","loc","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","ba_push","_bufs","write_record","ba","XLSBRE","make_XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","parse_Int32LE","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","4","9","10","11","12","13","15","16","17","19","22","2147483648","2147483651","1919054434","SummaryPIDSI","18","DocSummaryRE","SummaryRE","CountryEnum","20","39","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","RBErr","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","type2ct","CT","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","wmo","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecLpwstrValue","ret","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","cAnti","preamble","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","write_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","hashidx","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","21","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","fBelow","fRight","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","write_SST","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","write_LabelSst","os","parse_Label","biffguess","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","parse_HLink","hlink","write_HLink","O","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","write_ColInfo","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","37","38","87","88","89","108","135","dbf_reverse_map","DBF_SUPPORTED_VERSIONS","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","versions","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","B ","!","\"","#","(","%","'","H ","+",";","<","=",">","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","!ref","sheet_to_wk1","write_biff_rec","write_BOF_WK1","write_RANGE","max_R","write_INTEGER","write_NUMBER","write_LABEL","book_to_wk3","write_BOF_WK3","write_XFORMAT_SHEETNAME","wsidx","write_NUMBER_17","write_LABEL_16","wscnt","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","oprec","FuncTab","83","111","BinOpTab","argc","argL","argR","args","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","log2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_SHEETNAMECS","parse_SHEETNAMELP","parse_SHEETINFOQP","parse_XFORMAT","40","142","147","153","154","155","156","174","175","176","184","185","187","188","195","205","206","207","208","256","259","260","261","262","263","265","266","267","268","270","271","384","389","390","393","396","512","514","513","516","517","640","641","642","643","644","645","646","647","648","658","659","660","661","662","665","666","768","772","1537","1600","1602","1793","1794","1795","1796","1920","2048","2049","2052","2688","10998","12849","28233","28484","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","hopper_sst","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","lastIndex","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","STY","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","update_xfext","xfext","xfe","XLMETA","parse_xlmeta_xml","Types","write_xlmeta_xml","parse_BrtMdtinfo","write_BrtMdtinfo","write_BrtMdb","write_BrtBeginEsfmd","write_BrtBeginEsmdb","cm","parse_xlmeta_bin","write_xlmeta_bin","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","IMG","DRAW","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","CMNT","sheet_insert_comments","author","parse_comments_xml","authors","commentList","authtag","cmnttag","authorId","textMatch","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","96","97","98","99","109","110","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","bookidx","externbook","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","85","94","95","112","113","114","115","116","117","118","119","127","131","132","133","137","138","139","140","143","144","145","146","148","149","159","164","166","167","168","169","170","171","172","173","189","190","191","192","193","194","196","197","198","199","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","385","386","388","391","392","394","395","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","518","519","520","521","522","523","545","546","547","548","549","620","621","653","667","673","753","755","808","141","157","158","160","165","179","180","181","182","183","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","264","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtShortBlank","write_BrtShortBlank","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtShortBool","write_BrtShortBool","parse_BrtCellError","bError","write_BrtCellError","parse_BrtShortError","write_BrtShortError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtShortIsst","write_BrtShortIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtShortReal","write_BrtShortReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtShortRk","write_BrtShortRk","parse_BrtCellRString","parse_BrtCellSt","write_BrtCellSt","parse_BrtShortSt","write_BrtShortSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","vm","ws_parse","aii","_d","write_ws_bin_cell","last_seen","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","CHART","CHARTEX","parse_Cache","nf","parse_chart","csheet","nc","CS","CS_XML_ROOT","parse_cs_xml","!drawel","!rel","write_cs_xml","parse_BrtCsProp","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","write_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","HTML_","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","skip","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","defwidth","defheight","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","RecordType","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","1033","1024","1280","1536","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","DSEntries","SEntries","CEntries","Keys","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","515","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","649","650","651","652","654","655","656","657","663","664","668","669","671","672","674","675","676","677","678","679","680","681","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2050","2051","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","3072","3073","4096","4097","5002","5003","5081","5082","5083","5084","5085","5086","5087","5088","5089","5090","5092","5093","5094","5095","5096","5097","5099","1212","2059","2061","2062","2063","2064","2066","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","XLSRE","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_cols_biff8","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_content_xml","parse_text_p","fixed","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","ods","ROWS","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","NUMBERS","defineProperty","__defProp","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","__markAsModule","__export","all","enumerable","__reExport","copyDefault","__toCommonJS","temp","WeakMap","numbers_exports","parse_numbers","numbers_default","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","TextDecoder","u8concat","u8a","reduce","acc","popcnt","readDecimal128LE","exp","mantissa","parse_varint49","ptr","varint","varint_to_i32","i32","parse_shallow","mappa","_a","deframe","parse_snappy_chunk","chunks","parse_iwa","messages","parse_old_storage","rsst","dv","getUint32","data_offset","ieee","getFloat64","parse_storage","d128","packets","packet","docroot","iwams","iwam","mtype","parse_docroot","parse_Reference","pb","parse_TST_TableDataList","le","rtp","rtpref","tswpsa","parse_TST_TileRowInfo","_b","_c","_e","_g","_h","_i","pre_bnc","pre_bnc_offsets","storage_offsets","wide_offsets","getUint16","parse_TST_Tile","parse_TST_TableModelArchive","store","tile","tiles","tl","tile2","parse_TST_TableInfoArchive","tableref","parse_sheetroot","shapeoffs","sheetoffs","root2","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","_zip","dir","binname","link","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsxb","foo","vbafmt","_sn","wsrels","_type","need_vml","rId1","write_zip_xlsx","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_obj_str","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","write_wk1_buf","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","__rowNum__","rawNumbers","outi","counter","CC","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","sheet_get_cell","json_to_sheet","table_to_sheet","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","_Readable","set_readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","__stream","to_json","to_html","to_csv","readFile","writeXLSX","writeFileXLSX","strmod","Readable","define","amd"],"mappings":"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RC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,MAAQ,KAIR,IAAIC,KACH,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,WAGD,SAASC,IAAO5Y,GAAO,MAAOA,GAAIvxB,IAAI,SAASjD,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAIrF,GAAIqtC,IAAUD,IAEb,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAED,IAAI/F,IAAS3S,GAAI2Y,GAGjB,IAAIxK,KACJ18B,EAAM,SACNqR,EAAM,UACN+yB,GAAM,UACN7yB,GAAM,QACNM,GAAM,SACNO,GAAM,QACNE,GAAM,OACNC,GAAM,gBACNrR,IAAM,QAEN,IAAIimC,IAAQ5Z,EAAUmP,GAKtB,IAAI0K,KAEHC,6EAA8E,YAG9EC,sCAAuC,OAGvCC,0CAA2C,OAC3CC,sCAAuC,OAGvCC,6DAA8D,YAC9DC,sEAAuE,YACvEC,wEAAyE,WAGzEC,wEAAyE,OACzEC,6EAA8E,OAG9EC,sCAAuC,OACvCC,6EAA8E,OAG9EC,oEAAqE,OAGrEC,gDAAiD,OAGjDC,2CAA4C,OAG5CC,wCAAyC,OAGzCC,qCAAsC,aACtCC,4EAA6E,aAG7EC,8EAA+E,OAG/EC,oCAAqC,OACrCC,wCAAyC,OAGzCC,4CAA6C,OAG7CC,uCAAwC,OACxCC,8EAA+E,OAG/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QACLC,IAAK,QACLC,IAAK,YACLC,IAAK,UACLn7B,IAAK,aACLC,IAAK,aACLttD,IAAK,WACLo/D,IAAK,QACLC,IAAK,UACLC,IAAK,WACLC,IAAK,QACLkpB,IAAK,SACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UACL9jD,IAAK,YACL+jD,IAAK,MACLC,IAAK,OACL/jD,IAAK,OACLikD,IAAK,UACLC,IAAK,UACLoM,IAAK,QACLp1F,IAAK,MACLipF,IAAK,OACLC,IAAK,UACLC,IAAK,SACLC,IAAK,WACLC,IAAK,SACLC,IAAK,aACLC,IAAK,OACL8L,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,OACLC,IAAK,gBACLC,IAAK,WACL31F,IAAK,aACL41F,IAAK,cACLrM,IAAK,gBACLsM,IAAK,kBACLC,IAAK,gBACLtM,IAAK,WACLuM,IAAK,OACLC,IAAK,QACLC,IAAK,aACLC,IAAK,KACLC,IAAK,QACLxM,IAAK,SACLC,IAAK,YACLC,IAAK,cACLC,IAAK,iBACL7pF,IAAK,OACLq/D,IAAK,gBACL82B,IAAK,WACLC,IAAK,cACL92B,IAAK,WACLC,IAAK,iBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,eACL22B,IAAK,eACL12B,IAAK,cACLC,IAAK,aACLC,IAAK,cACLC,IAAK,eACLgqB,IAAK,SACL/pB,IAAK,WACLC,IAAK,UACL+pB,IAAK,UACLC,IAAK,YACLC,IAAK,UACLqM,IAAK,SACLpM,IAAK,SACLC,IAAK,aACLC,IAAK,YACLC,IAAK,OACLC,IAAK,YACLC,IAAK,QACLC,IAAK,OACLC,IAAK,SACLC,IAAK,YACLC,IAAK,QACL4L,IAAK,YACLC,IAAK,WACL5L,IAAK,UACLC,IAAK,cACLC,IAAK,cACLC,IAAK,SACLC,IAAK,eACLC,IAAK,WACLwL,IAAK,YACLvL,IAAK,UACLC,IAAK,WACLC,IAAK,cACLC,IAAK,MACLqL,IAAK,SACLC,IAAK,UACLC,IAAK,QACLtL,IAAK,UACLuL,IAAK,UACLC,IAAK,WACLvL,IAAK,W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","file":"dist/xlsx.full.min.js"} \ No newline at end of file +{"version":3,"sources":["misc/suppress_export.js","dist/cpexcel.js","dist/xlsx.js"],"names":["DO_NOT_EXPORT_CODEPAGE","cptable","version","d","D","e","i","length","charCodeAt","charAt","enc","dec","j","split","module","exports","root","factory","require","cpt","Error","this","magic","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","x","String","fromCharCode","cca","has_buf","Buffer","Buffer_from","nbfs","from","buf","bind","allocUnsafe","n","mdl","mdb","make_EE","E","EE","keys","Object","len","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","data","ofmt","out","w","isBuffer","slice","toString","call","sbcs_decode","make_sbcs_decode","DD","c","sbcs_d","dbcs_encode","make_dbcs_encode","f","dbcs_e","jj","k","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","s","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","encode","C","M","isstr","indexOf","tt","join","decode","F","Array","match","dash","o64","c1","c2","c3","e1","e2","e3","e4","l","push","hascp","utils","XLSX","make_xlsx_lib","current_codepage","current_ansi","$cptable","undefined","VALID_ANSI","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","reset_ansi","set_cp","reset_cp","char_codes","o","utf16leread","utf16beread","debom","_getchar","_gc1","_getansi","_ga1","_gc2","_ga2","DENSE","DIF_XL","Base64","input","isNaN","replace","node","alloc","new_raw_buf","Uint8Array","new_unsafe_buf","s2a","s2ab","ArrayBuffer","view","a2s","isArray","a2u","ab2a","utf8decode","content","widx","L","ridx","bconcat","bufs","maxlen","set","concat","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","pad0","v","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","5","63","6","64","7","65","8","66","41","42","43","44","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","_general_num","general_fmt","format","_general","write_date","type","fmt","val","ss0","ss","outl","outstr","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","23","24","25","26","27","28","29","30","31","32","33","34","35","36","50","51","52","53","54","55","56","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","datestr","timestr","CRC32","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","crc32_buf","crc32_str","CFB","_CFB","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","fs","get_fs","parse","file","options","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","_fs","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","xlml_normalize","xlmlregex","XMLNS","CORE_PROPS","CUST_PROPS","EXT_PROPS","CT","RELS","TCMNT","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","XMLNS_main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","cpdoit","__readInt16LE","__readInt32BE","oI","oR","oo","loc","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","ba_push","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","parse_Int32LE","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","4","9","10","11","12","13","15","16","17","19","22","2147483648","2147483651","1919054434","SummaryPIDSI","18","CountryEnum","20","39","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","RBErr","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.sheet.macroEnabled.main+xml","application/vnd.ms-excel.sheet.binary.macroEnabled.main","application/vnd.ms-excel.addin.macroEnabled.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","application/vnd.ms-excel.worksheet","application/vnd.ms-excel.binIndexWs","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.chartsheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","application/vnd.ms-excel.sharedStrings","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","application/vnd.ms-excel.styles","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.comments","application/vnd.ms-excel.threadedcomments+xml","application/vnd.ms-excel.person+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","new_ct","rels","threadedcomments","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","people","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","write_ct","type2ct","f1","bookType","f2","f3","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","Props","CreatedDate","xsi:type","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","write_ext_props","W","Application","xmlns:vt","custregex","parse_cust_props","toks","warn","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecLpwstrValue","ret","parse_VtVecUnalignedLpstrValue","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","write_XLUnicodeRichExtendedString","xlstr","nfmts","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","cAnti","preamble","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","write_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","hashidx","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","21","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","fBelow","fRight","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","write_SST","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","write_LabelSst","os","parse_Label","biffguess","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","parse_HLink","hlink","write_HLink","O","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","write_ColInfo","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","37","38","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","B ","!","\"","#","(","%","'","H ","+",";","<","=",">","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","!ref","sheet_to_wk1","write_biff_rec","write_BOF_WK1","write_RANGE","max_R","write_INTEGER","write_NUMBER","write_LABEL","book_to_wk3","write_BOF_WK3","write_XFORMAT_SHEETNAME","wsidx","write_NUMBER_17","write_LABEL_16","wscnt","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","111","BinOpTab","argc","argL","argR","args","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","log2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_SHEETNAMECS","parse_SHEETNAMELP","parse_SHEETINFOQP","parse_XFORMAT","40","142","147","153","154","155","156","174","175","176","184","185","187","188","195","205","206","207","208","256","259","260","261","262","263","265","266","267","268","270","271","384","389","390","393","396","512","514","513","516","517","640","641","642","643","644","645","646","647","648","658","659","660","661","662","665","666","768","772","1537","1600","1602","1793","1794","1795","1796","1920","2048","2049","2052","2688","10998","12849","28233","28484","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","lastIndex","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","update_xfext","xfext","xfe","parse_BrtMdtinfo","write_BrtMdtinfo","parse_BrtMdb","write_BrtMdb","write_BrtBeginEsfmd","parse_BrtBeginEsmdb","write_BrtBeginEsmdb","cm","parse_xlmeta_bin","Types","Cell","metatype","write_xlmeta_bin","parse_xlmeta_xml","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","sheet_insert_comments","threaded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","authorId","textMatch","write_comments_xml","iauthor","ID","lastauthor","ts","parse_tcmnt_xml","tidx","xml_tcmnt","personId","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","parse_people_xml","displayname","write_people_xml","person","userId","providerId","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","96","97","98","99","109","110","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","quoteCharacters","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","bookidx","externbook","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","85","94","95","112","113","114","115","116","117","118","119","127","131","132","133","137","138","139","140","143","144","145","146","148","149","159","164","166","167","168","169","170","171","172","173","189","190","191","192","193","194","196","197","198","199","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","385","386","388","391","392","394","395","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","518","519","520","521","522","523","545","546","547","548","549","620","621","653","667","673","753","755","808","141","157","158","160","165","179","180","181","182","183","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","264","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","write_ws_xml","xmlns:r","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtShortBlank","write_BrtShortBlank","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtShortBool","write_BrtShortBool","parse_BrtCellError","bError","write_BrtCellError","parse_BrtShortError","write_BrtShortError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtShortIsst","write_BrtShortIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtShortReal","write_BrtShortReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtShortRk","write_BrtShortRk","parse_BrtCellRString","parse_BrtCellSt","write_BrtCellSt","parse_BrtShortSt","write_BrtShortSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","vm","ws_parse","RR","aii","_d","write_ws_bin_cell","last_seen","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_Cache","nf","parse_chart","csheet","nc","parse_cs_xml","!drawel","!rel","write_cs_xml","parse_BrtCsProp","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","write_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","HTML_","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","skip","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","CONTINUE_RT","slurp","RecordType","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","1033","1024","1280","1536","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","DSEntries","SEntries","CEntries","Keys","DocSummaryRE","SummaryRE","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","515","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","649","650","651","652","654","655","656","657","663","664","668","669","671","672","674","675","676","677","678","679","680","681","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2050","2051","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","3072","3073","4096","4097","5002","5003","5081","5082","5083","5084","5085","5086","5087","5088","5089","5090","5092","5093","5094","5095","5096","5097","5099","1212","2059","2061","2062","2063","2064","2066","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","write_biff_continue","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_cols_biff8","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","parse_content_xml","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","ods","ROWS","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","TextDecoder","u8concat","u8a","reduce","acc","popcnt","readDecimal128LE","exp","mantissa","parse_varint49","ptr","varint","varint_to_i32","i32","parse_shallow","mappa","_a","parse_iwa_file","messages","parse_snappy_chunk","chunks","deframe","parse_old_storage","rsst","dv","getUint32","data_offset","ieee","getFloat64","parse_storage","d128","parse_cell_storage","parse_TSP_Reference","pb","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","parse_TST_TileRowInfo","_b","_c","_e","_g","_h","_i","pre_bnc","pre_bnc_offsets","storage_offsets","wide_offsets","getUint16","parse_TST_Tile","parse_TST_TableModelArchive","store","tile","tiles","tl","tile2","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","packets","packet","docroot","iwams","iwam","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","tcomments","strip_front_slash","_zip","dir","binname","link","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsxb","write_zip_xlsx","foo","vbafmt","_sn","wsrels","_type","need_vml","rId1","needtc","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","sheet_to_txt","sheet_to_csv","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","json_to_sheet","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","table_to_sheet","sheet_to_row_object_array","sheet_get_cell","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","_Readable","set_readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","__stream","to_json","to_html","to_csv","readFile","writeXLSX","writeFileXLSX","strmod","Readable","define","amd","window"],"mappings":"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C,IAAK,IACLypF,IAAK,IACLC,IAAK,QACLC,IAAK,SACL1pF,IAAK,QACLmwD,IAAK,UACLlwD,IAAK,QACL0pF,IAAK,WACLC,IAAK,SACLC,IAAK,OACLC,IAAK,YACL6N,IAAK,YACLj3B,IAAK,MACLqpB,IAAK,MACLC,IAAK,MACLC,IAAK,UACLC,IAAK,UACLvpB,IAAK,UACLwpB,IAAK,WACLC,IAAK,WACL96B,IAAK,OACLC,IAAK,UACLC,IAAK,WACLoR,IAAK,cACLC,IAAK,iBACLC,IAAK,gBACLC,IAAK,iBACL62B,IAAK,WACLC,IAAK,cACLxN,IAAK,iBACLyN,IAAK,iBACL53F,IAAK,aACLC,IAAK,QACLC,IAAK,UACLkqF,IAAK,WACLyN,IAAK,QACLxN,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,SACLC,IAAK,aACLC,IAAK,MACLC,IAAK,QACLC,IAAK,QACL9pB,IAAK,OACLC,IAAK,WACLC,IAAK,UACL7gE,IAAK,OACLC,IAAK,UACL03F,IAAK,YACLC,IAAK,UACLC,IAAK,OACLC,IAAK,UACLC,IAAK,UACLj3B,IAAK,OACLC,IAAK,WACL7gE,IAAK,gBACL8gE,IAAK,aACLC,IAAK,eACLypB,IAAK,WACLC,IAAK,YACLC,IAAK,WACLC,IAAK,OACLC,IAAK,SACLC,IAAK,OACL7pB,IAAK,UACL8pB,IAAK,QACLC,IAAK,QACLC,IAAK,YACLC,IAAK,UACL/7B,IAAK,aACLC,IAAK,aACLlvD,IAAK,WACLghE,IAAK,QACLC,IAAK,UACLC,IAAK,WACLC,IAAK,QACL8pB,IAAK,SACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UACLrmD,IAAK,YACLsmD,IAAK,MACLC,IAAK,OACLtmD,IAAK,OACLwmD,IAAK,UACLC,IAAK,UACLoM,IAAK,QACL53F,IAAK,MACLyrF,IAAK,OACLC,IAAK,UACLC,IAAK,SACLC,IAAK,WACLC,IAAK,SACLC,IAAK,aACLC,IAAK,OACL8L,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACLC,IAAK,OACL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C,OACAC,KAAyB97F,EAAEsxD,IAC3BptD,KAA2BlE,EAAEgxD,IAC7BgU,OACAC,OACAC,OACA7gE,OACAC,OACA23F,OACAC,OACAC,OACAh3B,OACAC,OACA2pB,KAA2B/uF,EAAEupD,IAC7BylC,KAA8BhvF,EAAE0pD,IAChCylC,KAAyBnvF,EAAE++C,IAC3BuwC,OACAC,OACAC,OACA/7B,OACAC,OACAC,KAA4B3zD,EAAEk9C,IAC9B0W,OACApvD,OACAghE,OACAC,OACAC,OACAC,OACA8pB,OACAC,OACAC,OACApmD,OACAumD,OACAtmD,OACAumD,OACAtmD,KAA8BzpC,EAAEm/C,IAChC8wC,OACAoM,KAAqCr8F,EAAEk9C,IACvCz4C,OACA0rF,KAAwBnwF,EAAE2rD,IAC1BykC,KAAkCpwF,EAAE4kD,IACpCyrC,KAAkCrwF,EAAE++C,IACpCuxC,OACAE,KAAgCxwF,EAAEivD,IAClCwtC,OACAE,OACAC,OACAC,OACAC,OACArM,OACAsM,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA1M,OACAE,OACAC,KAAyB9wF,EAAEylD,IAC3BsrC,KAA8B/wF,EAAEuoD,IAChC5jD,KAA4B3E,EAAE8lD,IAC9B8f,OACAC,OACAosB,OACAe,OACAC,OACAG,OACA8K,KAA6Bl+F,EAAEq/C,IAC/Bi0C,OACAC,OACAC,OACAO,OACAuK,OACA2kB,OACAzkB,OACAC,OACAzK,OACA0K,OACAzK,OACAC,OACAyK,OACAj1D,OACA6qD,KAA8Bv0F,EAAEk9C,IAChCgiD,KAAyBl/F,EAAE++C,IAC3BmhD,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA9J,OACAoK,OACAC,OACAC,OACAC,OACAtK,KAA6B52F,EAAEwsD,IAC/BqqC,KAA8B72F,EAAEk9C,IAChC45C,OACAC,OACAC,OACAG,OACAC,KAAyBp3F,EAAEyvD,IAC3B4nC,KAAgCr3F,EAAEk9C,IAClCo6C,KAA2Bt3F,EAAE8vD,IAC7BynC,OACAC,KAA8Bx3F,EAAEsgD,IAChCm3C,OACAC,KAAkC13F,EAAEm/C,IACpCw4C,OACAC,OACAE,KAAgC93F,EAAE++C,IAClCg5C,KAA8B/3F,EAAEumD,GAAgB32C,EAAE,GAClDooF,KAA6Bh4F,EAAE++C,IAC/B8nB,KAAgC7mE,EAAEkpD,IAClC6d,KAA2B/mE,EAAEqxD,IAC7B+yD,KAA4BpkH,EAAEosD,IAC9B4a,KAA2BhnE,EAAE2oD,IAC7Bse,KAA6BjnE,EAAEksD,IAC/BuuC,KAA4Bz6F,EAAEuxD,IAC9BmpC,KAAyB16F,EAAEimD,IAC3B40C,OACAC,KAA2B96F,EAAEuuD,IAC7B2sC,KAAsCl7F,EAAEwmD,IACxC+/D,OACAK,KAA6B5mH,EAAE+nD,IAC/BsiE,KAAwBrqH,EAAEopD,IAC1Bwe,OACAulD,QACAM,MAA4BztH,EAAE8oD,IAC9BumE,QACAkM,MAA6Bv7H,EAAEmuD,IAC/Bya,MAAkC5oE,EAAEkwD,IACpC2Y,QACAgsD,QACAC,QACAhsD,QACAisD,QACAC,QACAC,QACAC,QACAC,MAAyBn1H,EAAEwkD,IAC3B4wE,QACAoG,QACAnG,QACAoG,QACAC,QACAC,QACAC,QACAC,QACAvG,QACA4D,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAkC,QACAC,MAA6BnsH,EAAE,IAC/BosH,QACAC,QACAC,QACAC,MAA6Bn8H,EAAE++C,IAC/Bq9E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2Bl9H,EAAE0wD,GAAa9gD,EAAE,IAC5CutH,MAA2Bn9H,EAAEy7E,GAAa7rE,EAAE,IAC5CwtH,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8B99H,EAAEk9C,GAAWttC,EAAE,IAC7CmuH,QACAC,MAAiCpuH,EAAE,IACnCquH,QACAC,QACAC,QACAC,QACAC,MAA6Br+H,EAAE+tD,GAAen+C,EAAE,IAChD0uH,QACAC,MAA2Bv+H,EAAE66E,GAAajrE,EAAE,IAC5C4uH,QACAC,QACAC,QACAC,MAAiC3+H,EAAEyuD,GAAmB7+C,EAAE,IACxDgvH,MAAsC5+H,EAAE++C,IACxC8/E,QACAC,QACAC,QACAC,QACAC,MAA0Cj/H,EAAEqmD,IAC5C64E,QACAC,QACAC,QACAC,QACAlF,QACAmF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2BhhI,EAAEm/C,IAC7B8hF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8B9hI,EAAEkxD,IAChC6wE,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAAgCziI,EAAEuwD,IAClCmyE,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QAEA3/H,GAAgCzD,EAAEkpD,IAClCxlD,KACAC,GAA8B3D,EAAEgyD,IAChCxrB,GAA8BxmC,EAAE4xD,IAChClqB,GAA8B1nC,EAAE2xD,IAChCvoD,GAA6BpJ,EAAEksD,IAC/B1iD,GAA4BxJ,EAAEkyD,IAC9BxoD,KACAi+B,GAAyB3nC,EAAEwkD,IAC3B3c,MACAO,IAAiCpoC,EAAEm/C,IACnCppC,IAAiC/V,EAAEipD,IACnCjzC,MACAC,MACAC,IAA2BlW,EAAEuuD,IAC7Bl4C,MACAw9C,IAAsC7zD,EAAEwmD,IAKxClwC,IAAmCtW,EAAEmyD,IAQrCj7C,MAcAV,MACAW,MACAC,IAAkCpX,EAAEm/C,IACpCv6C,MACAwkC,MACAiqB,OACAk6B,KAA4BvtF,EAAEwxD,IAC9B2C,OACAlwD,OACA0pF,OAKAM,OAEAE,OACAC,OACA96B,OAIAo7B,OACAE,OACAtpB,OACA2pB,OACAC,OACAE,OACA7pB,OACAsqB,KAA6B7vF,EAAEoyD,IAC/B89B,OACAwM,OACA/yD,OACA4sD,OACAiE,KAA6Bx6F,EAAEgsF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","file":"dist/xlsx.full.min.js"} \ No newline at end of file diff --git a/dist/xlsx.mini.min.js b/dist/xlsx.mini.min.js index 75c4ba7..0897d66 100644 --- a/dist/xlsx.mini.min.js +++ b/dist/xlsx.mini.min.js @@ -1,9 +1,9 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};function make_xlsx_lib(e){e.version="0.18.3";var r=1200,t=1252;var a=[874,932,936,949,950,1e4];for(var n=0;n<=8;++n)a.push(1250+n);var i={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var s=function(e){if(a.indexOf(e)==-1)return;t=i[0]=e};function l(){s(1252)}var o=function(e){r=e;s(e)};function c(){o(1200);l()}function f(e){var r=[];for(var t=0,a=e.length;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function h(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return u(e.slice(2));if(r==254&&t==255)return h(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function po(e){return String.fromCharCode(e)};var m=function mo(e){return String.fromCharCode(e)};var v=null;var g=true;var b=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,l=0,o=0,c=0;for(var f=0;f>2;n=r.charCodeAt(f++);l=(a&3)<<4|n>>4;i=r.charCodeAt(f++);o=(n&15)<<2|i>>6;c=i&63;if(isNaN(n)){o=c=64}else if(isNaN(i)){c=64}t+=e.charAt(s)+e.charAt(l)+e.charAt(o)+e.charAt(c)}return t},decode:function(r){var t="";var a=0,n=0,i=0,s=0,l=0,o=0,c=0;r=r.replace(/[^\w\+\/\=]/g,"");for(var f=0;f>4;t+=String.fromCharCode(a);o=e.indexOf(r.charAt(f++));n=(l&15)<<4|o>>2;if(o!==64){t+=String.fromCharCode(n)}c=e.indexOf(r.charAt(f++));i=(o&3)<<6|c;if(c!==64){t+=String.fromCharCode(i)}}return t}}}();var w=typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node;var y=function(){};if(typeof Buffer!=="undefined"){var k=!Buffer.from;if(!k)try{Buffer.from("foo","utf8")}catch(x){k=true}y=k?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function S(e){return w?Buffer.alloc(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function _(e){return w?Buffer.allocUnsafe(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var C=function vo(e){if(w)return y(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function A(e){if(typeof ArrayBuffer==="undefined")return C(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function E(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var l=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|l>>6&15|(s&3)<<4;n[t++]=128|l&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=S(65535);a=65530}}r.push(n.slice(0,t));return O(r)}var O=function(e){if(typeof Uint8Array!=="undefined"){var r=0,t=0;for(r=0;r=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function l(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var o=Math.pow(2,32);function c(e,r){if(e>o||e<-o)return s(e,r);var t=Math.round(e);return l(t,r)}function f(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var u=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var h=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function d(e){e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var p={};d(p);var m=[];var v=0;for(v=5;v<=8;++v)m[v]=32+v;for(v=23;v<=26;++v)m[v]=0;for(v=27;v<=31;++v)m[v]=14;for(v=50;v<=58;++v)m[v]=14;for(v=59;v<=62;++v)m[v]=v-58;for(v=67;v<=68;++v)m[v]=v-58;for(v=72;v<=75;++v)m[v]=v-58;for(v=67;v<=68;++v)m[v]=v-57;for(v=76;v<=78;++v)m[v]=v-56;for(v=79;v<=81;++v)m[v]=v-34;var g=[];g[5]=g[63]='"$"#,##0_);\\("$"#,##0\\)';g[6]=g[64]='"$"#,##0_);[Red]\\("$"#,##0\\)';g[7]=g[65]='"$"#,##0.00_);\\("$"#,##0.00\\)';g[8]=g[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)';g[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)';g[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)';g[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)';g[44]='_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';function b(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,l=0;var o=1,c=0,f=0;var u=Math.floor(n);while(cr){if(c>r){f=o;l=i}else{f=c;l=s}}if(!t)return[0,a*l,f];var h=Math.floor(a*l/f);return[h,a*l-h*f,f]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var l={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(l.u)<1e-6)l.u=0;if(r&&r.date1904)a+=1462;if(l.u>.9999){l.u=0;if(++n==86400){l.T=n=0;++a;++l.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=E(o,s)}l.y=s[0];l.m=s[1];l.d=s[2];l.S=n%60;n=Math.floor(n/60);l.M=n%60;n=Math.floor(n/60);l.H=n;l.q=i;return l}e.parse_date_code=w;var y=new Date(1899,11,31,0,0,0);var k=y.getTime();var x=new Date(1900,2,1,0,0,0);function S(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=x)t+=24*60*60*1e3;return(t-(k+(e.getTimezoneOffset()-y.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function _(e){return e.toString(10)}e._general_int=_;var C=function $(){var e=/(?:\.0*|(\.\d*[1-9])0+)$/;function r(r){return r.indexOf(".")==-1?r:r.replace(e,"$1")}var t=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\d)$/;function n(e){if(e.indexOf("E")==-1)return e;return e.replace(t,"$1E").replace(a,"$10$2")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t==="0"||t==="-0"?e.toPrecision(6):t}function l(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return l}();e._general_num=C;function A(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):C(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return z(14,S(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=A;function E(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function F(e,r,t,n){var i="",s=0,l=0,o=t.y,c,f=0;switch(e){case 98:o=t.y+543;case 121:switch(r.length){case 1:;case 2:c=o%100;f=2;break;default:c=o%1e4;f=4;break;}break;case 109:switch(r.length){case 1:;case 2:c=t.m;f=r.length;break;case 3:return h[t.m-1][1];case 5:return h[t.m-1][0];default:return h[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:c=t.d;f=r.length;break;case 3:return u[t.q][0];default:return u[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:c=1+(t.H+11)%12;f=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:c=t.H;f=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:c=t.M;f=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)l=n===3?1e3:100;else l=n===1?10:1;s=Math.round(l*(t.S+t.u));if(s>=60*l)s=0;if(r==="s")return s===0?"0":""+s/l;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":c=t.D*24+t.H;break;case"[m]":;case"[mm]":c=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":c=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}f=r.length===3?1:2;break;case 101:c=o;f=1;break;}var d=f>0?a(c,f):"";return d}function T(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var D=function W(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return D(r,i,n*Math.pow(10,2*s))+t("%",s)}function l(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return D(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function o(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+o(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var f=/# (\?+)( ?)\/( ?)(\d+)/;function u(e,r,i){var s=parseInt(e[4],10),l=Math.round(r*s),o=Math.floor(l/s);var c=l-o*s,f=s;return i+(o===0?"":""+o)+" "+(c===0?t(" ",e[1].length+1+e[4].length):n(c,e[1].length)+e[2]+"/"+e[3]+a(f,e[4].length))}function h(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var d=/^#*0*\.([0#]+)/;var p=/\).*[0#]/;var m=/\(###\) ###\\?-####/;function v(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function g(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function y(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function k(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function x(e,h,S){if(e.charCodeAt(0)===40&&!h.match(p)){var _=h.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(S>=0)return x("n",_,S);return"("+x("n",_,-S)+")"}if(h.charCodeAt(h.length-1)===44)return l(e,h,S);if(h.indexOf("%")!==-1)return s(e,h,S);if(h.indexOf("E")!==-1)return o(h,S);if(h.charCodeAt(0)===36)return"$"+x(e,h.substr(h.charAt(1)==" "?2:1),S);var C;var A,E,F,O=Math.abs(S),M=S<0?"-":"";if(h.match(/^00+$/))return M+c(O,h.length);if(h.match(/^[#?]+$/)){C=c(S,0);if(C==="0")C="";return C.length>h.length?C:v(h.substr(0,h.length-C.length))+C}if(A=h.match(f))return u(A,O,M);if(h.match(/^#+0+$/))return M+c(O,h.length-h.indexOf("0"));if(A=h.match(d)){C=g(S,A[1].length).replace(/^([^\.]+)$/,"$1."+v(A[1])).replace(/\.$/,"."+v(A[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",v(A[1]).length-r.length)});return h.indexOf("0.")!==-1?C:C.replace(/^0\./,".")}h=h.replace(/^#+([0.])/,"$1");if(A=h.match(/^(0*)\.(#*)$/)){return M+g(O,A[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,A[1].length?"0.":".")}if(A=h.match(/^#{1,3},##0(\.?)$/))return M+T(c(O,0));if(A=h.match(/^#,##0\.([#0]*0)$/)){return S<0?"-"+x(e,h,-S):T(""+(Math.floor(S)+y(S,A[1].length)))+"."+a(w(S,A[1].length),A[1].length)}if(A=h.match(/^#,#*,#0/))return x(e,h.replace(/^#,#*,/,""),S);if(A=h.match(/^([0#]+)(\\?-([0#]+))+$/)){C=r(x(e,h.replace(/[\\-]/g,""),S));E=0;return r(r(h.replace(/\\/g,"")).replace(/[0#]/g,function(e){return E=0)return A("n",o,l);return"("+A("n",o,-l)+")"}if(s.charCodeAt(s.length-1)===44)return S(e,s,l);if(s.indexOf("%")!==-1)return _(e,s,l);if(s.indexOf("E")!==-1)return C(s,l);if(s.charCodeAt(0)===36)return"$"+A(e,s.substr(s.charAt(1)==" "?2:1),l);var c;var u,g,w,y=Math.abs(l),k=l<0?"-":"";if(s.match(/^00+$/))return k+a(y,s.length);if(s.match(/^[#?]+$/)){c=""+l;if(l===0)c="";return c.length>s.length?c:v(s.substr(0,s.length-c.length))+c}if(u=s.match(f))return h(u,y,k);if(s.match(/^#+0+$/))return k+a(y,s.length-s.indexOf("0"));if(u=s.match(d)){c=(""+l).replace(/^([^\.]+)$/,"$1."+v(u[1])).replace(/\.$/,"."+v(u[1]));c=c.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",v(u[1]).length-r.length)});return s.indexOf("0.")!==-1?c:c.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(u=s.match(/^(0*)\.(#*)$/)){return k+(""+y).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,u[1].length?"0.":".")}if(u=s.match(/^#{1,3},##0(\.?)$/))return k+T(""+y);if(u=s.match(/^#,##0\.([#0]*0)$/)){return l<0?"-"+A(e,s,-l):T(""+l)+"."+t("0",u[1].length)}if(u=s.match(/^#,#*,#0/))return A(e,s.replace(/^#,#*,/,""),l);if(u=s.match(/^([0#]+)(\\?-([0#]+))+$/)){c=r(A(e,s.replace(/[\\-]/g,""),l));g=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return g-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=N;function P(e,r,t,a){var n=[],i="",s=0,l="",o="t",c,u,h;var d="H";while(s=12?"P":"A";v.t="T";d="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(c!=null)v.v=c.H>=12?"PM":"AM";v.t="T";s+=5;d="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(c!=null)v.v=c.H>=12?"下午":"上午";v.t="T";s+=5;d="h"}else{v.t="t";++s}if(c==null&&v.t==="T")return"";n[n.length]=v;o=l;break;case"[":i=l;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!N(e))n[n.length]={t:"t",v:i}}break;case".":if(c!=null){i=l;while(++s-1)i+=l;n[n.length]={t:"n",v:i};break;case"?":i=l;while(e.charAt(++s)===l)i+=l;n[n.length]={t:l,v:i};o=l;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":l,v:l};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=l;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:l,v:l};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(l)===-1)throw new Error("unrecognized character "+l+" in "+e);n[n.length]={t:"t",v:l};++s;break;}}var g=0,b=0,y;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=d;o="h";if(g<1)g=1;break;case"s":if(y=n[s].v.match(/\.0+$/))b=Math.max(b,y[0].length-1);if(g<3)g=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(g<2)g=2}break;case"X":break;case"Z":if(g<1&&n[s].v.match(/[Hh]/))g=1;if(g<2&&n[s].v.match(/[Mm]/))g=2;if(g<3&&n[s].v.match(/[Ss]/))g=3;}}switch(g){case 0:break;case 1:if(c.u>=.5){c.u=0;++c.S}if(c.S>=60){c.S=0;++c.M}if(c.M>=60){c.M=0;++c.H}break;case 2:if(c.u>=.5){c.u=0;++c.S}if(c.S>=60){c.S=0;++c.M}break;}var k="",x;for(s=0;s0){if(k.charCodeAt(0)==40){_=r<0&&k.charCodeAt(0)===45?-r:r;C=D("n",k,_)}else{_=r<0&&a>1?-r:r;C=D("n",k,_);if(_<0&&n[0]&&n[0].t=="t"){C=C.substr(1);n[0].v="-"+n[0].v}}x=C.length-1;var E=n.length;for(s=0;s-1){E=s;break}var T=n.length;if(E===n.length&&C.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(x>=n[s].v.length-1){x-=n[s].v.length;n[s].v=C.substr(x+1,n[s].v.length)}else if(x<0)n[s].v="";else{n[s].v=C.substr(0,x+1);x=-1}n[s].t="t";T=s}if(x>=0&&T=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;u=n[s].v.indexOf(".")>-1&&s===E?n[s].v.indexOf(".")-1:n[s].v.length-1;S=n[s].v.substr(u+1);for(;u>=0;--u){if(x>=0&&(n[s].v.charAt(u)==="0"||n[s].v.charAt(u)==="#"))S=C.charAt(x--)+S}n[s].v=S;n[s].t="t";T=s}if(x>=0&&T-1&&s===E?n[s].v.indexOf(".")+1:0;S=n[s].v.substr(0,u);for(;u-1){_=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=D(n[s].t,n[s].v,_);n[s].t="t"}var O="";for(s=0;s!==n.length;++s)if(n[s]!=null)O+=n[s].v;return O}e._eval=P;var R=/\[[=<>]/;var I=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function L(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function B(e,r){var t=O(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(R)!=null||t[1].match(R)!=null){var s=t[0].match(I);var l=t[1].match(I);return L(r,s)?[a,t[0]]:L(r,l)?[a,t[1]]:[a,t[s!=null&&l!=null?2:1]]}return[a,i]}function z(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:p)[e];if(a==null)a=t.table&&t.table[m[e]]||p[m[e]];if(a==null)a=g[e]||"General";break;}if(f(a,0))return A(r,t);if(r instanceof Date)r=S(r,t.date1904);var n=B(a,r);if(f(n[1]))return A(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return P(n[1],r,t,n[0])}function U(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(p[t]==undefined){if(r<0)r=t;continue}if(p[t]==e){r=t;break}}if(r<0)r=391}p[r]=e;return r}e.load=U;e._table=p;e.get_table=function j(){return p};e.load_table=function H(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)U(e[r],r)};e.init_table=d;e.format=z};R(P);var I={"General Number":"General","General Date":P._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":P._table[15],"Short Date":P._table[14],"Long Time":P._table[19],"Medium Time":P._table[18],"Short Time":P._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:P._table[2],Standard:P._table[4],Percent:P._table[10],Scientific:P._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var L={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var B=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function z(e){var r=typeof e=="number"?P._table[e]:e;r=r.replace(B,"(\\d+)");return new RegExp("^"+r+"$")}function U(e,r,t){var a=-1,n=-1,i=-1,s=-1,l=-1,o=-1;(r.match(B)||[]).forEach(function(e,r){var c=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=c;break;case"d":i=c;break;case"h":s=c;break;case"s":o=c;break;case"m":if(s>=0)l=c;else n=c;break;}});if(o>=0&&l==-1&&n>=0){l=n;n=-1}var c=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(c.length==7)c="0"+c;if(c.length==8)c="20"+c;var f=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);if(s==-1&&l==-1&&o==-1)return c;if(a==-1&&n==-1&&i==-1)return f;return c+"T"+f}var W=true;var j;(function(e){e(j={})})(function(e){e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],l=n[2],o=n[3],c=n[4];var f=n[5],u=n[6],h=n[7],d=n[8],p=n[9];var m=n[10],v=n[11],g=n[12],b=n[13],w=n[14];function y(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function k(e,r){var a=r^-1,n=e.length-15,y=0;for(;y>8&255]^g[e[y++]^a>>16&255]^v[e[y++]^a>>>24]^m[e[y++]]^p[e[y++]]^d[e[y++]]^h[e[y++]]^u[e[y++]]^f[e[y++]]^c[e[y++]]^o[e[y++]]^l[e[y++]]^s[e[y++]]^i[e[y++]]^t[e[y++]];n+=15; -while(y>>8^t[(a^e[y++])&255];return~a}function x(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,l=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;l=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|l>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|l&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=y;e.buf=k;e.str=x});var H=function bo(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var l=r&63;r>>>=6;a.setHours(r);a.setMinutes(l);a.setSeconds(s<<1);return a}function s(e){et(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var l;function o(){return l||(l=undefined)}function c(e,r){if(e[0]==80&&e[1]==75)return Me(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return $e(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var l=0;var o=0;var c=[];var p=e.slice(0,512);et(p,0);var v=f(p);t=v[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(v[1]==0)return Me(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){p=e.slice(0,a);et(p,28)}var b=e.slice(0,a);u(p,t);var w=p._R(4,"i");if(t===3&&w!==0)throw new Error("# Directory Sectors: Expected 0 saw "+w);p.l+=4;s=p._R(4,"i");p.l+=4;p.chk("00100000","Mini Stream Cutoff Size: ");l=p._R(4,"i");n=p._R(4,"i");o=p._R(4,"i");i=p._R(4,"i");for(var y=-1,x=0;x<109;++x){y=p._R(4,"i");if(y<0)break;c[x]=y}var S=h(e,a);m(o,i,S,a,c);var _=g(S,s,c,a);_[s].name="!Directory";if(n>0&&l!==L)_[l].name="!MiniFAT";_[c[0]].name="!FAT";_.fat_addrs=c;_.ssz=a;var C={},A=[],E=[],F=[];k(s,_,S,A,n,C,E,l);d(E,F,A);A.shift();var T={FileIndex:E,FullPaths:F};if(r&&r.raw)T.raw={header:b,sectors:S};return T}function f(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(B,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function u(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function h(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*I,s*I+I));n-=I;s=Vr(t,s*4)}if(i.length===0)return tt(0);return O(i).slice(0,e.size)}function m(e,r,t,a,n){var i=L;if(e===L){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],l=(a>>>2)-1;if(!s)return;for(var o=0;o=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var f=t[Math.floor(o*4/a)];c=o*4&l;if(a<4+c)throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[f])break;o=Vr(e[f],c)}return{nodes:i,data:yr([s])}}function g(e,r,t,a){var n=e.length,i=[];var s=[],l=[],o=[];var c=a-1,f=0,u=0,h=0,d=0;for(f=0;f=n)h-=n;if(s[h])continue;o=[];var p=[];for(u=h;u>=0;){p[u]=true;s[u]=true;l[l.length]=u;o.push(e[u]);var m=t[Math.floor(u*4/a)];d=u*4&c;if(a<4+d)throw new Error("FAT boundary crossed: "+u+" 4 "+a);if(!e[m])break;u=Vr(e[m],d);if(p[u])break}i[h]={nodes:l,data:yr([o])}}return i}function k(e,r,t,a,n,i,s,l){var o=0,c=a.length?2:0;var f=r[e].data;var u=0,h=0,d;for(;u0&&o!==L)r[o].name="!StreamData"}else if(g.size>=4096){g.storage="fat";if(r[g.start]===undefined)r[g.start]=v(t,g.start,r.fat_addrs,r.ssz);r[g.start].name=g.name;g.content=r[g.start].data.slice(0,g.size)}else{g.storage="minifat";if(g.size<0)g.size=0;else if(o!==L&&g.start!==L&&r[o]){g.content=p(g,r[o].data,(r[l]||{}).data)}}if(g.content)et(g.content,0);i[d]=g;s.push(g)}}function x(e,r){return new Date((Xr(e,r+4)/1e7*Math.pow(2,32)+Xr(e,r)/1e7-11644473600)*1e3)}function A(e,r){o();return c(l.readFileSync(e),r)}function E(e,r){var t=r&&r.type;if(!t){if(w&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return A(e,r);case"base64":return c(C(b.decode(e)),r);case"binary":return c(C(e),r);}return c(e,r)}function F(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;T(e)}function T(e){var r="Sh33tJ5";if(H.find(e,"/"+r))return;var t=tt(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);D(e)}function D(e,n){F(e);var i=false,s=false;for(var l=e.FullPaths.length-1;l>=0;--l){var o=e.FileIndex[l];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var c=new Date(1987,1,19),f=0;var u=Object.create?Object.create(null):{};var h=[];for(l=0;l1?1:-1;p.size=0;p.type=5}else if(m.slice(-1)=="/"){for(f=l+1;f=h.length?-1:f;for(f=l+1;f=h.length?-1:f;p.type=1}else{if(t(e.FullPaths[l+1]||"")==t(m))p.R=l+1;p.type=2}}}function P(e,r){var t=r||{};if(t.fileType=="mad")return We(e,t);D(e);switch(t.fileType){case"zip":return Pe(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var l=r+7>>3;var o=r+127>>7;var c=l+t+s+o;var f=c+127>>7;var u=f<=109?0:Math.ceil((f-109)/127);while(c+f+u+127>>7>f)u=++f<=109?0:Math.ceil((f-109)/127);var h=[1,u,f,o,s,t,r,0];e.FileIndex[0].size=r<<6;h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3);return h}(e);var n=tt(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,z[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:L);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:L);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}l(a[6]+7>>3);while(n.l&511)n._W(-4,$.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;f.start=s;l(c+63>>6)}while(n.l&511)n._W(-4,$.ENDOFCHAIN);for(i=0;i=4096){n.l=f.start+1<<9;if(w&&Buffer.isBuffer(f.content)){f.content.copy(n,n.l,0,f.size);n.l+=f.size+511&-512}else{for(o=0;o0&&f.size<4096){if(w&&Buffer.isBuffer(f.content)){f.content.copy(n,n.l,0,f.size);n.l+=f.size+63&-64}else{for(o=0;o>16|r>>8|r)&255}var re=typeof Uint8Array!=="undefined";var te=re?new Uint8Array(1<<8):[];for(var ae=0;ae<1<<8;++ae)te[ae]=ee(ae);function ne(e,r){var t=te[e&255];if(r<=8)return t>>>8-r;t=t<<8|te[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|te[e>>16&255];return t>>>24-r}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function ce(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function fe(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ue(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function pe(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function me(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(w){var i=_(a);if(e.copy)e.copy(i);else for(;n>a-u;for(s=(1<=0;--s)r[l|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=re?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ue(t,n,+!!(i+l==r.length)+2);var o=0;while(l-- >0){var c=r[i];o=(o<<5^c)&32767;var f=-1,u=0;if(f=s[o]){f|=i&~32767;if(f>i)f-=32768;if(f2){c=a[u];if(c<=22)n=de(t,n,te[c+1]>>1)-1;else{de(t,n,3);n+=5;de(t,n,te[c-23]>>5);n+=3}var h=c<8?0:c-4>>2;if(h>0){pe(t,n,u-Z[c]);n+=h}c=e[i-f];n=de(t,n,te[c]>>3);n-=3;var d=c<4?0:c-2>>1;if(d>0){pe(t,n,i-f-Q[c]);n+=d}for(var p=0;p>8-p;for(var m=(1<<7-p)-1;m>=0;--m)Ce[d|m<>>=3){case 16:i=3+ie(e,r);r+=2;d=v[v.length-1];while(i-- >0)v.push(d);break;case 17:i=3+se(e,r);r+=3;while(i-- >0)v.push(0);break;case 18:i=11+ce(e,r);r+=7;while(i-- >0)v.push(0);break;default:v.push(d);if(o>>0;var l=0,o=0;while((a&1)==0){a=se(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var c=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(c>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){l=9;o=5}else{t=Fe(e,t);l=Ae;o=Ee}for(;;){if(!r&&s>>1==1?be[f]:Se[f];t+=u&15;u>>>=4;if((u>>>8&255)===0)n[i++]=u;else if(u==256)break;else{u-=257;var h=u<8?0:u-4>>2;if(h>5)h=0;var d=i+Z[u];if(h>0){d+=fe(e,t,h);t+=h}f=fe(e,t,o);u=a>>>1==1?we[f]:_e[f];t+=u&15;u>>>=4;var p=u<4?0:u-2>>1;var m=Q[u];if(p>0){m+=fe(e,t,p);t+=p}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function De(e,r){var t=e.slice(e.l||0);var a=Te(t,r);e.l+=a[1];return a[0]}function Oe(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Me(e,r){var t=e;et(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};F(i,{root:r.root});var l=t.length-4;while((t[l]!=80||t[l+1]!=75||t[l+2]!=5||t[l+3]!=6)&&l>=0)--l;t.l=l+4;t.l+=4;var o=t._R(2);t.l+=6;var c=t._R(4);t.l=c;for(l=0;l0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var l="--"+(s[1]||"");var o=[],c=[];var f={FileIndex:o,FullPaths:c};F(f);var u,h=0;for(n=0;n=32&&d<128)++u;var m=u>=h*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64"));n.push("Content-Type: "+Ie(l,s));n.push("");n.push(m?Be(f):Le(f))}n.push(a+"--\r\n");return n.join("\r\n")}function je(e){var r={};F(r,e);return r}function He(e,r,t,n){var i=n&&n.unsafe;if(!i)F(e);var s=!i&&H.find(e,r);if(!s){var l=e.FullPaths[0];if(r.slice(0,l.length)==l)l=r;else{if(l.slice(-1)!="/")l+="/";l=(l+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(l);if(!i)H.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function Xe(e,r){F(e);var t=H.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var le=new Date("2017-02-19T19:06:09.000Z");if(isNaN(le.getFullYear()))le=new Date("2/19/17");var oe=le.getFullYear()==2017;function ce(e,r){var t=new Date(e);if(oe){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(le.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3); -return i}function fe(e,r){if(w&&Buffer.isBuffer(e)){if(r){if(e[0]==255&&e[1]==254)return e.slice(2).toString("utf16le");if(e[1]==254&&e[2]==255)return h(e.slice(2).toString("binary"))}return e.toString("binary")}var t=[];for(var a=0;a!=e.length;++a)t.push(String.fromCharCode(e[a]));return t.join("")}function ue(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=ue(e[t]);return r}function he(e,r){var t="";while(t.length3&&pe.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var ve="abacaba".split(/(:?b)/i).length==5;function ge(e,r,t){if(ve||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Ne=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm;if(!Oe.match(Ne))Ne=/<[^>]*>/g;var Pe=/<\w*:/,Re=/<(\/?)\w+:/;function Ie(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Me),l=0,o="",c=0,f="",u="",h=1;if(s)for(c=0;c!=s.length;++c){u=s[c];for(i=0;i!=u.length;++i)if(u.charCodeAt(i)===61)break;f=u.slice(0,i).trim();while(u.charCodeAt(i+1)==32)++i;h=(n=u.charCodeAt(i+1))==34||n==39?1:0;o=u.slice(i+1+h,u.length-h);for(l=0;l!=f.length;++l)if(f.charCodeAt(l)===58)break;if(l===f.length){if(f.indexOf("_")>0)f=f.slice(0,f.indexOf("_"));a[f]=o;if(!t)a[f.toLowerCase()]=o}else{var d=(l===5&&f.slice(0,5)==="xmlns"?"xmlns":"")+f.slice(l+1);if(a[d]&&f.slice(l-3,l)=="ext")continue;a[d]=o;if(!t)a[d.toLowerCase()]=o}}return a}function Le(e){return e.replace(Re,"<$1")}var Be={""":'"',"'":"'",">":">","<":"<","&":"&"};var ze=q(Be);var Ue=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var $e=/[&<>'"]/g,We=/[\u0000-\u0008\u000b-\u001f]/g;function je(e){var r=e+"";return r.replace($e,function(e){return ze[e]}).replace(We,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function He(e){return je(e).replace(/ /g,"_x0020_")}var Xe=/[\u0000-\u001f]/g;function Ve(e){var r=e+"";return r.replace($e,function(e){return ze[e]}).replace(/\n/g,"
").replace(Xe,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Ge(e){var r=e+"";return r.replace($e,function(e){return ze[e]}).replace(Xe,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var Ye=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();var Je=function(){return function e(r){return r.replace(/(\r\n|[\r\n])/g," ")}}();function Ke(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var qe=function wo(e){var r="",t=0,a=0,n=0,i=0,s=0,l=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);l=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(l>>>10&1023));r+=String.fromCharCode(56320+(l&1023))}return r};var Ze=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(w){var Qe=function yo(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,l;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var er="foo bar baz☃🍣";if(qe(er)==Qe(er))qe=Qe;var rr=function ko(e){return y(e,"binary").toString("utf8")};if(qe(er)==rr(er))qe=rr;Ze=function(e){return y(e,"utf8").toString("binary")}}var tr=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var ar=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var ir=/<\/?(?:vt:)?variant>/g,sr=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function fr(e){return J(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function ur(e,r,t){return"<"+e+(t!=null?fr(t):"")+(r!=null?(r.match(or)?' xml:space="preserve"':"")+">"+r+""}function hr(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function dr(e,r){switch(typeof e){case"string":var t=ur("vt:lpwstr",je(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return ur((e|0)==e?"vt:i4":"vt:r8",je(String(e)));case"boolean":return ur("vt:bool",e?"true":"false");}if(e instanceof Date)return ur("vt:filetime",hr(e));throw new Error("Unable to serialize "+e)}function pr(e){if(w&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return qe(E(T(e)));throw new Error("Bad input format: expected Buffer or string")}var mr=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var vr={dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};vr.main=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var gr={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function br(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function wr(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var yr=function(e){var r=[],t=10240;for(var a=0;a0?Ar(e,r+4,r+4+t-1):""};var Tr=Fr;var Dr=function(e,r){var t=Xr(e,r);return t>0?Ar(e,r+4,r+4+t-1):""};var Or=Dr;var Mr=function(e,r){var t=2*Xr(e,r);return t>0?Ar(e,r+4,r+4+t-1):""};var Nr=Mr;var Pr,Rr;Pr=Rr=function xo(e,r){var t=Xr(e,r);return t>0?xr(e,r+4,r+4+t):""};var Ir=function(e,r){var t=Xr(e,r);return t>0?Ar(e,r+4,r+4+t):""};var Lr=Ir;var Br,zr;Br=zr=function(e,r){return br(e,r)};var Ur=function So(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(w){xr=function(e,r,t){if(!Buffer.isBuffer(e))return Sr(e,r,t);return e.toString("utf16le",r,t).replace(M,"")};_r=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):Cr(e,r,t)};Fr=function _o(e,r){if(!Buffer.isBuffer(e))return Tr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Dr=function Co(e,r){if(!Buffer.isBuffer(e))return Or(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Mr=function Ao(e,r){if(!Buffer.isBuffer(e))return Nr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Pr=function Eo(e,r){if(!Buffer.isBuffer(e))return Rr(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};Ir=function Fo(e,r){if(!Buffer.isBuffer(e))return Lr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};Ar=function To(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):Er(e,r,t)};yr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:y(e)})):kr(e)};O=function(e){return Buffer.concat(e.map(function(e){return Buffer.isBuffer(e)?e:y(e)}))};Br=function Do(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return zr(e,r)};Ur=function Oo(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function $r(){xr=function(e,r,t){return cptable.utils.decode(1200,e.slice(r,t)).replace(M,"")};Ar=function(e,r,t){return cptable.utils.decode(65001,e.slice(r,t))};Fr=function(e,r){var a=Xr(e,r);return a>0?cptable.utils.decode(t,e.slice(r+4,r+4+a-1)):""};Dr=function(e,t){var a=Xr(e,t);return a>0?cptable.utils.decode(r,e.slice(t+4,t+4+a-1)):""};Mr=function(e,r){var t=2*Xr(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Pr=function(e,r){var t=Xr(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t)):""};Ir=function(e,r){var t=Xr(e,r);return t>0?cptable.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof cptable!=="undefined")$r();var Wr=function(e,r){return e[r]};var jr=function(e,r){return e[r+1]*(1<<8)+e[r]};var Hr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var Xr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Vr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var Gr=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Yr(e,t){var a="",n,i,s=[],l,o,c,f;switch(t){case"dbcs":f=this.l;if(w&&Buffer.isBuffer(this))a=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?Vr:Gr)(this,this.l);this.l+=4;return n}else{i=Xr(this,this.l);this.l+=4}return i;case 8:;case-8:if(t==="f"){if(e==8)i=Br(this,this.l);else i=Br([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return i}else e=8;case 16:a=_r(this,this.l,e);break;};}this.l+=e;return a}var Jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Kr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var qr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Zr(e,r,a){var n=0,i=0;if(a==="dbcs"){for(i=0;i!=r.length;++i)qr(this,r.charCodeAt(i),this.l+2*i);n=2*r.length}else if(a==="sbcs"){if(typeof cptable!=="undefined"&&t==874){for(i=0;i!=r.length;++i){var s=cptable.utils.encode(t,r.charAt(i));this[this.l+i]=s[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(i=0;i!=r.length;++i)this[this.l+i]=r.charCodeAt(i)&255}n=r.length}else if(a==="hex"){for(;i>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:n=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:n=4;Jr(this,r,this.l);break;case 8:n=8;if(a==="f"){wr(this,r,this.l);break};case 16:break;case-4:n=4;Kr(this,r,this.l);break;}this.l+=n;return this}function Qr(e,r){var t=_r(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function et(e,r){e.l=r;e._R=Yr;e.chk=Qr;e._W=Zr}function rt(e,r){e.l+=r}function tt(e){var r=S(e);et(r,0);return r}function at(e,r,t){if(!e)return;var a,n,i;et(e,e.l||0);var s=e.length,l=0,o=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function f(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var l=0;l!=4;++l){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Ur(t))e.push(t)}function st(e,r,t){var a=ue(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function lt(e,r,t){var a=ue(e);a.s=st(a.s,r.s,t);a.e=st(a.e,r.s,t);return a}function ot(e,r){if(e.cRel&&e.c<0){e=ue(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=ue(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=yt(e);if(!e.cRel&&e.cRel!=null)t=vt(t);if(!e.rRel&&e.rRel!=null)t=ht(t);return t}function ct(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+mt(e.s.c)+":"+(e.e.cRel?"":"$")+mt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+ut(e.s.r)+":"+(e.e.rRel?"":"$")+ut(e.e.r)}}return ot(e.s,r.biff)+":"+ot(e.e,r.biff)}function ft(e){return parseInt(dt(e),10)-1}function ut(e){return""+(e+1)}function ht(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function dt(e){return e.replace(/\$(\d+)$/,"$1")}function pt(e){var r=gt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function mt(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function vt(e){return e.replace(/^([A-Z])/,"$$$1")}function gt(e){return e.replace(/^\$([A-Z])/,"$1")}function bt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function wt(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function yt(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function kt(e){var r=e.indexOf(":");if(r==-1)return{s:wt(e),e:wt(e)};return{s:wt(e.slice(0,r)),e:wt(e.slice(r+1))}}function xt(e,r){if(typeof r==="undefined"||typeof r==="number"){return xt(e.s,e.e)}if(typeof e!=="string")e=yt(e);if(typeof r!=="string")r=yt(r);return e==r?e:e+":"+r}function St(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function _t(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=P.format(e.z,t?re(r):r)}catch(a){}try{return e.w=P.format((e.XF||{}).numFmtId||(t?14:0),t?re(r):r)}catch(a){return""+r}}function Ct(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return qt[e.v]||e.v;if(r==undefined)return _t(e,e.v);return _t(e,r)}function At(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Et(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(v!=null&&n==null)n=v;var i=e||(n?[]:{});var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?wt(a.origin):a.origin;s=o.r;l=o.c}if(!i["!ref"])i["!ref"]="A1:A1"}var c={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var f=St(i["!ref"]);c.s.c=f.s.c;c.s.r=f.s.r;c.e.c=Math.max(c.e.c,f.e.c);c.e.r=Math.max(c.e.r,f.e.r);if(s==-1)c.e.r=s=f.e.r+1}for(var u=0;u!=r.length;++u){if(!r[u])continue;if(!Array.isArray(r[u]))throw new Error("aoa_to_sheet expects an array of arrays");for(var h=0;h!=r[u].length;++h){if(typeof r[u][h]==="undefined")continue;var d={v:r[u][h]};var p=s+u,m=l+h;if(c.s.r>p)c.s.r=p;if(c.s.c>m)c.s.c=m;if(c.e.r>16&255,e>>8&255,e&255]})}var Jt=Yt([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Kt=ue(Jt);var qt={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Zt=Z(qt);var Qt={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO", -"image/png":"TODO",sheet:"js"};var ea=function(){var e={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};J(e).forEach(function(r){["xlsm","xlam"].forEach(function(t){if(!e[r][t])e[r][t]=e[r].xlsx})});J(e).forEach(function(r){J(e[r]).forEach(function(t){Qt[e[r][t]]=r})});return e}();var ra=Q(Qt);vr.CT="http://schemas.openxmlformats.org/package/2006/content-types";function ta(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],TODO:[],xmlns:""}}function aa(e){var r=ta();if(!e||!e.match)return r;var t={};(e.match(Ne)||[]).forEach(function(e){var a=Ie(e);switch(a[0].replace(Pe,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var na=ur("Types",null,{xmlns:vr.CT,"xmlns:xsd":vr.xsd,"xmlns:xsi":vr.xsi});var ia=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels",ra.rels[0]]].map(function(e){return ur("Default",null,{Extension:e[0],ContentType:e[1]})});function sa(e,r){var t=[],a;t[t.length]=Oe;t[t.length]=na;t=t.concat(ia);var n=function(n){if(e[n]&&e[n].length>0){a=e[n][0];t[t.length]=ur("Override",null,{PartName:(a[0]=="/"?"":"/")+a,ContentType:ea[n][r.bookType||"xlsx"]})}};var i=function(a){(e[a]||[]).forEach(function(e){t[t.length]=ur("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ea[a][r.bookType||"xlsx"]})})};var s=function(r){(e[r]||[]).forEach(function(e){t[t.length]=ur("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ra[r][0]})})};n("workbooks");i("sheets");i("charts");s("themes");["strs","styles"].forEach(n);["coreprops","extprops","custprops"].forEach(s);s("vba");s("comments");s("drawings");i("metadata");if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}var la={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function oa(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function ca(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Ne)||[]).forEach(function(e){var n=Ie(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var ha=[la.HLINK,la.XPATH,la.XMISS];function da(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if(ha.indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var pa="application/vnd.oasis.opendocument.spreadsheet";function ma(e,r){var t=pr(e);var a;var n;while(a=mr.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Ie(a[0],false);if(n.path=="/"&&n.type!==pa)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function va(e){var r=[Oe];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function ga(e,r,t){return[' \n',' \n'," \n"].join("")}function ba(e,r){return[' \n',' \n'," \n"].join("")}function wa(e){var r=[Oe];r.push('\n');for(var t=0;t!=e.length;++t){r.push(ga(e[t][0],e[t][1]));r.push(ba("",e[t][0]))}r.push(ga("","Document","pkg"));r.push("");return r.join("")}var ya=function(){var r='Sheet'+"JS "+e.version+"";return function t(){return r}}();var ka=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];vr.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";la.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var xa=function(){var e=new Array(ka.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function Sa(e){var r={};e=qe(e);for(var t=0;t0)r[a[1]]=Ue(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=ce(r[a[1]])}return r}var _a=ur("cp:coreProperties",null,{"xmlns:cp":vr.CORE_PROPS,"xmlns:dc":vr.dc,"xmlns:dcterms":vr.dcterms,"xmlns:dcmitype":vr.dcmitype,"xmlns:xsi":vr.xsi});function Ca(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=je(r);a[a.length]=t?ur(e,r,t):cr(e,r)}function Aa(e,r){var t=r||{};var a=[Oe,_a],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)Ca("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:hr(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)Ca("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:hr(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=ka.length;++i){var s=ka[i];var l=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(l===true)l="1";else if(l===false)l="0";else if(typeof l=="number")l=String(l);if(l!=null)Ca(s[0],l,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Ea=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];vr.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";la.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";var Fa=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Ta(e,r,t,a){var n=[];if(typeof e=="string")n=lr(e,a);else for(var i=0;i0)for(var c=0;c!==n.length;c+=2){o=+n[c+1].v;switch(n[c].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=o;t.SheetNames=s.slice(l,l+o);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=o;t.DefinedNames=s.slice(l,l+o);break;case"Charts":;case"Diagramme":t.Chartsheets=o;t.ChartNames=s.slice(l,l+o);break;}l+=o}}function Da(e,r,t){var a={};if(!r)r={};e=qe(e);Ea.forEach(function(t){var n=(e.match(tr(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Ue(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)Ta(a.HeadingPairs,a.TitlesOfParts,r,t);return r}var Oa=ur("Properties",null,{xmlns:vr.EXT_PROPS,"xmlns:vt":vr.vt});function Ma(e){var r=[],t=ur;if(!e)e={};e.Application="SheetJS";r[r.length]=Oe;r[r.length]=Oa;Ea.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=je(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+je(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}vr.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";la.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var Na=/<[^>]+>[^<]*/g;function Pa(e,r){var t={},a="";var n=e.match(Na);if(n)for(var i=0;i!=n.length;++i){var s=n[i],l=Ie(s);switch(l[0]){case"":a=null;break;default:if(s.indexOf("");var c=o[0].slice(4),f=o[1];switch(c){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Ue(f);break;case"bool":t[a]=Ke(f);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(f,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(f);break;case"filetime":;case"date":t[a]=ce(f);break;case"cy":;case"error":t[a]=Ue(f);break;default:if(c.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,c,o);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var La=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969};var r=q({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});var a=[2,3,48,49,131,139,140,245];function n(r,t){var a=[];var n=S(1);switch(t.type){case"base64":n=C(b.decode(r));break;case"binary":n=C(r);break;case"buffer":;case"array":n=r;break;}et(n,0);var i=n._R(1);var s=!!(i&136);var l=false,o=false;switch(i){case 2:break;case 3:break;case 48:l=true;s=true;break;case 49:l=true;s=true;break;case 131:break;case 139:break;case 140:o=true;break;case 245:break;default:throw new Error("DBF Unsupported Version: "+i.toString(16));}var c=0,f=521;if(i==2)c=n._R(2);n.l+=3;if(i!=2)c=n._R(4);if(c>1048576)c=1e6;if(i!=2)f=n._R(2);var u=n._R(2);var h=t.codepage||1252;if(i!=2){n.l+=16;n._R(1);if(n[n.l]!==0)h=e[n[n.l]];n.l+=1;n.l+=2}if(o)n.l+=36;var d=[],p={};var m=Math.min(n.length,i==2?521:f-10-(l?264:0));var v=o?32:11;while(n.l0){if(n[n.l]===42){n.l+=u;continue}++n.l;a[++g]=[];w=0;for(w=0;w!=d.length;++w){var y=n.slice(n.l,n.l+d[w].len);n.l+=d[w].len;et(y,0);var k=cptable.utils.decode(h,y);switch(d[w].type){case"C":if(k.trim().length)a[g][w]=k.replace(/\s+$/,"");break;case"D":if(k.length===8)a[g][w]=new Date(+k.slice(0,4),+k.slice(4,6)-1,+k.slice(6,8));else a[g][w]=k;break;case"F":a[g][w]=parseFloat(k.trim());break;case"+":;case"I":a[g][w]=o?y._R(-4,"i")^2147483648:y._R(4,"i");break;case"L":switch(k.trim().toUpperCase()){case"Y":;case"T":a[g][w]=true;break;case"N":;case"F":a[g][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+k+"|");}break;case"M":if(!s)throw new Error("DBF Unexpected MEMO for type "+i.toString(16));a[g][w]="##MEMO##"+(o?parseInt(k.trim(),10):y._R(4));break;case"N":k=k.replace(/\u0000/g,"").trim();if(k&&k!=".")a[g][w]=+k||0;break;case"@":a[g][w]=new Date(y._R(-8,"f")-621356832e5);break;case"T":a[g][w]=new Date((y._R(4)-2440588)*864e5+y._R(4));break;case"Y":a[g][w]=y._R(4,"i")/1e4;break;case"O":a[g][w]=-y._R(-8,"f");break;case"B":if(l&&d[w].len==8){a[g][w]=y._R(8,"f");break};case"G":;case"P":y.l+=d[w].len;break;case"0":if(d[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+d[w].type);}}}if(i!=2)if(n.l=0)o(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=nt();var s=ao(e,{header:1,raw:true,cellDates:true});var c=s[0],f=s.slice(1);var u=0,h=0,d=0,p=1;for(u=0;u":190,"?":191,"{":223};var r=new RegExp("N("+J(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?m(a):a};var a=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:m(a)};e["|"]=254;function n(e,r){switch(r.type){case"base64":return i(b.decode(e),r);case"binary":return i(e,r);case"buffer":return i(w&&Buffer.isBuffer(e)?e.toString("binary"):E(e),r);case"array":return i(fe(e),r);}throw new Error("Unrecognized type "+r.type)}function i(e,n){var i=e.split(/[\n\r]+/),s=-1,l=-1,c=0,f=0,u=[];var h=[];var d=null;var p={},m=[],v=[],g=[];var b=0,w;if(+n.codepage>=0)o(+n.codepage);for(;c!==i.length;++c){b=0;var y=i[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(r,t);var k=y.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var x=k[0],S;if(y.length>0)switch(x){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(k[1].charAt(0)=="P")h.push(y.slice(3).replace(/;;/g,";"));break;case"C":var _=false,C=false,A=false,E=false,F=-1,T=-1;for(f=1;f-1&&u[F][T];if(!O||!O[1])throw new Error("SYLK shared formula cannot find base");u[s][l][1]=pi(O[1],{r:s-F,c:l-T})}break;case"F":var M=0;for(f=1;f0){m[s].hpt=b;m[s].hpx=kn(b)}else if(b===0)m[s].hidden=true;break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+y);}if(M<1)d=null;break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+y);}}if(m.length>0)p["!rows"]=m;if(v.length>0)p["!cols"]=v;if(n&&n.sheetRows)u=u.slice(0,n.sheetRows);return[u,p]}function s(e,r){var t=n(e,r);var a=t[0],i=t[1];var s=Ft(a,r);J(i).forEach(function(e){s[e]=i[e]});return s}function l(e,r){return At(s(e,r),r)}function c(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+di(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function f(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=hn(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=dn(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*yn(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function h(e,r){var t=["ID;PWXL;N;E"],a=[];var n=St(e["!ref"]),i;var s=Array.isArray(e);var l="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])f(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var o=n.s.r;o<=n.e.r;++o){for(var h=n.s.c;h<=n.e.c;++h){var d=yt({r:o,c:h});i=s?(e[o]||[])[h]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(c(i,e,o,h,r))}}return t.join(l)+l+a.join(l)+l+"E"+l}return{to_workbook:l,to_sheet:s,from_sheet:h}}();var za=function(){function e(e,t){switch(t.type){case"base64":return r(b.decode(e),t);case"binary":return r(e,t);case"buffer":return r(w&&Buffer.isBuffer(e)?e.toString("binary"):E(e),t);case"array":return r(fe(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var l=t[i].trim().split(",");var o=l[0],c=l[1];++i;var f=t[i]||"";while((f.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var l=10,o=0;var c=0;for(;c<=s;++c){o=i[c].indexOf(" ");if(o==-1)o=i[c].length;else o++;l=Math.max(l,o)}for(c=0;c<=s;++c){n[c]=[];var f=0;e(i[c].slice(0,l).trim(),n,c,f,a);for(f=1;f<=(i[c].length-l)/10+1;++f)e(i[c].slice(l+(f-1)*10,l+f*10).trim(),n,c,f,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var a={44:3,9:2,59:1,124:0};function n(e){var r={},n=false,i=0,s=0;for(;i0)b();i["!ref"]=xt(s);return i}function s(e,t){if(!(t&&t.PRN))return i(e,t);if(t.FS)return i(e,t);if(e.slice(0,4)=="sep=")return i(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return i(e,t);return Ft(r(e,t),t)}function l(e,r){var t="",a=r.type=="string"?[0,0,0,0]:kl(e,r);switch(r.type){case"base64":t=b.decode(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof cptable!=="undefined")t=cptable.utils.decode(r.codepage,e);else t=w&&Buffer.isBuffer(e)?e.toString("binary"):E(e);break;case"array":t=fe(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(a[0]==239&&a[1]==187&&a[2]==191)t=qe(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=qe(t);else if(r.type=="binary"&&typeof cptable!=="undefined"&&r.codepage)t=cptable.utils.decode(r.codepage,cptable.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return Ua.to_sheet(r.type=="string"?t:qe(t),r);return s(t,r)}function o(e,r){return At(l(e,r),r)}function c(e){var r=[];var t=St(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var l=t.s.c;l<=t.e.c;++l){var o=yt({r:i,c:l});a=n?(e[i]||[])[l]:e[o];if(!a||a.v==null){s.push(" ");continue}var c=(a.w||(Ct(a),a.w)||"").slice(0,10);while(c.length<10)c+=" ";s.push(c+(l===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:o,to_sheet:l,from_sheet:c}}();function Wa(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Ba.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return $a.to_workbook(e,r)}}function ja(e){var r={},t=e.match(Ne),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Ie(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"
":break;case"":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error("Unrecognized rich format "+s[0]);}}return r}var Ha=function(){var e=tr("t"),r=tr("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Ue(a[1])};var i=t.match(r);if(i)n.s=ja(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var Xa=function Mo(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var Va=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Ga=/<(?:\w+:)?r>/;var Ya=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Ja(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Ue(qe(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=qe(e);if(t)a.h=Ve(a.t)}else if(e.match(Ga)){a.r=qe(e);a.t=Ue(qe((e.replace(Ya,"").match(Va)||[]).join("").replace(Ne,"")));if(t)a.h=Xa(Ha(a.r))}return a}var Ka=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var qa=/<(?:\w+:)?(?:si|sstItem)>/g;var Za=/<\/(?:\w+:)?(?:si|sstItem)>/;function Qa(e,r){var t=[],a="";if(!e)return t;var n=e.match(Ka);if(n){a=n[2].replace(qa,"").split(Za);for(var i=0;i!=a.length;++i){var s=Ja(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Ie(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}la.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var en=/^\s|\s$|[\t\n\r]/;function rn(e,r){if(!r.bookSST)return"";var t=[Oe];t[t.length]=ur("sst",null,{xmlns:vr.main[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function tn(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function an(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function nn(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var l=0,o=0,c=n+i;o=s/(c>1?2-c:c);switch(n){case r:l=((t-a)/s+6)%6;break;case t:l=(a-r)/s+2;break;case a:l=(r-t)/s+4;break;}return[l/6,o,c/2]}function sn(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],l=6*r;var o;if(t!==0)switch(l|0){case 0:;case 6:o=n*l;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-l);s[0]+=o;s[1]+=n;break;case 2:o=n*(l-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-l);s[1]+=o;s[2]+=n;break;case 4:o=n*(l-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-l);s[2]+=o;s[0]+=n;break;}for(var c=0;c!=3;++c)s[c]=Math.round(s[c]*255);return s}function ln(e,r){if(r===0)return e;var t=nn(tn(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return an(sn(t))}var on=6,cn=15,fn=1,un=on;function hn(e){return Math.floor((e+Math.round(128/un)/256)*un)}function dn(e){return Math.floor((e-5)/un*100+.5)/100}function pn(e){return Math.round((e*un+5)/un*256)/256}function mn(e){return pn(dn(hn(e)))}function vn(e){var r=Math.abs(e-mn(e)),t=un;if(r>.005)for(un=fn;un":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Ke(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Ke(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function _n(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Ne)||[]).forEach(function(e){var t=Ie(e);switch(Le(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function Cn(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Ne)||[]).forEach(function(e){var l=Ie(e);switch(Le(l[0])){case"":;case"":break;case"":break;case"
":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+l[0]+" in fonts")};}})}function An(e,r,t){r.NumberFmt=[];var a=J(P._table);for(var n=0;n":;case"":;case"":break;case"0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=l}P.load(l,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function En(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=ur("numFmt",null,{numFmtId:a,formatCode:je(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=ur("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Fn=["numFmtId","fillId","fontId","borderId","xfId"];var Tn=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Dn(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Ne)||[]).forEach(function(e){var i=Ie(e),s=0;switch(Le(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var l={};if(i.vertical)l.vertical=i.vertical;if(i.horizontal)l.horizontal=i.horizontal;if(i.textRotation!=null)l.textRotation=i.textRotation;if(i.indent)l.indent=i.indent;if(i.wrapText)l.wrapText=Ke(i.wrapText);a.alignment=l;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function On(e){var r=[];r[r.length]=ur("cellXfs",null);e.forEach(function(e){r[r.length]=ur("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=ur("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Mn=function No(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,l,o){var c={};if(!s)return c;s=s.replace(//gm,"").replace(//gm,"");var f;if(f=s.match(e))An(f,c,o);if(f=s.match(a))Cn(f,c,l,o);if(f=s.match(t))_n(f,c,l,o);if(f=s.match(n))Sn(f,c,l,o);if(f=s.match(r))Dn(f,c,o);return c}}();var Nn=ur("styleSheet",null,{xmlns:vr.main[0],"xmlns:vt":vr.vt});la.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function Pn(e,r){var t=[Oe,Nn],a;if(e.SSF&&(a=En(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=On(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}la.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";var Rn=["","","","","","","","","","","",""];function In(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Ne)||[]).forEach(function(e){var n=Ie(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[Rn.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function Ln(){}function Bn(){}var zn=/]*)>[\s\S]*<\/a:clrScheme>/;var Un=/]*)>[\s\S]*<\/a:fontScheme>/;var $n=/]*)>[\s\S]*<\/a:fmtScheme>/;function Wn(e,r,t){r.themeElements={};var a;[["clrScheme",zn,In],["fontScheme",Un,Ln],["fmtScheme",$n,Bn]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var jn=/]*)>[\s\S]*<\/a:themeElements>/;function Hn(e,r){if(!e||e.length===0)return Hn(Xn());var t;var a={};if(!(t=e.match(jn)))throw new Error("themeElements not found in theme");Wn(t[0],a,r);a.raw=e;return a}function Xn(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Oe];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}la.XLMETA="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata";function Vn(e,r,t){var a={Types:[]};if(!e)return a;var n=false;e.replace(Ne,function(e,r){var i=Ie(e);switch(Le(i[0])){case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":;case"":break;case"":n=false;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+i[0]+" in metadata");}return e});return a}function Gn(){var e=[Oe];e.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function Yn(){}function Jn(e,r,t,a){if(!e)return e;var n=a||{};var i=false,s=false;at(e,function l(e,r,t){if(s)return;switch(t){case 359:;case 363:;case 364:;case 366:;case 367:;case 368:;case 369:;case 370:;case 371:;case 472:;case 577:;case 578:;case 579:;case 580:;case 581:;case 582:;case 583:;case 584:;case 585:;case 586:;case 587:break;case 35:i=true;break;case 36:i=false;break;default:if((r||"").indexOf("Begin")>0){}else if((r||"").indexOf("End")>0){}else if(!i||n.WTF)throw new Error("Unexpected record "+t.toString(16)+" "+r);}},n)}la.IMG="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -la.DRAW="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing";function Kn(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var qn=1024;function Zn(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[ur("xml",null,{"xmlns:v":gr.v,"xmlns:o":gr.o,"xmlns:x":gr.x,"xmlns:mv":gr.mv}).replace(/\/>/,">"),ur("o:shapelayout",ur("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),ur("v:shapetype",[ur("v:stroke",null,{joinstyle:"miter"}),ur("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(qn",i,ur("v:shadow",null,s),ur("v:path",null,{"o:connecttype":"none"}),'
','',"","",cr("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),cr("x:AutoFill","False"),cr("x:Row",String(r.r)),cr("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}la.CMNT="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";function Qn(e,r){var t=Array.isArray(e);var a;r.forEach(function(r){var n=wt(r.ref);if(t){if(!e[n.r])e[n.r]=[];a=e[n.r][n.c]}else a=e[r.ref];if(!a){a={t:"z"};if(t)e[n.r][n.c]=a;else e[r.ref]=a;var i=St(e["!ref"]||"BDWGO1000001:A1");if(i.s.r>n.r)i.s.r=n.r;if(i.e.rn.c)i.s.c=n.c;if(i.e.c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Ie(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var l=wt(i.ref);if(r.sheetRows&&r.sheetRows<=l.r)return;var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var c=!!o&&!!o[1]&&Ja(o[1])||{r:"",t:"",h:""};s.r=c.r;if(c.r=="")c.t=c.h="";s.t=(c.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=c.h;a.push(s)});return a}var ri=ur("comments",null,{xmlns:vr.main[0]});function ti(e){var r=[Oe,ri];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=je(e.a);if(t.indexOf(a)>-1)return;t.push(a);r.push(""+a+"")})});r.push("");r.push("");e.forEach(function(e){e[1].forEach(function(a){r.push('');r.push(cr("t",a.t==null?"":je(a.t)));r.push("")})});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var ai="application/vnd.ms-office.vbaProject";function ni(e){var r=H.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");H.utils.cfb_add(r,n,e.FileIndex[a].content)});return H.write(r)}function ii(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")H.utils.cfb_add(e,n,r.FileIndex[a].content)})}var si=["xlsb","xlsm","xlam","biff8","xla"];la.DS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";la.MS="http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet";function li(){return{"!type":"dialog"}}function oi(){return{"!type":"dialog"}}function ci(){return{"!type":"macro"}}function fi(){return{"!type":"macro"}}var ui=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var l=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)l+=r.r;else--l;return t+(i?"":"$")+mt(o)+(s?"":"$")+ut(l)}return function a(n,i){r=i;return n.replace(e,t)}}();var hi=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var di=function(){return function e(r,t){return r.replace(hi,function(e,r,a,n,i,s){var l=pt(n)-(a?0:t.c);var o=ft(s)-(i?0:t.r);var c=o==0?"":!i?"["+o+"]":o+1;var f=l==0?"":!a?"["+l+"]":l+1;return r+"R"+c+"C"+f})}}();function pi(e,r){return e.replace(hi,function(e,t,a,n,i,s){return t+(a=="$"?a+n:mt(pt(n)+r.c))+(i=="$"?i+s:ut(ft(s)+r.r))})}function mi(e,r,t){var a=kt(r),n=a.s,i=wt(t);var s={r:i.r-n.r,c:i.c-n.c};return pi(e,s)}function vi(e){if(e.length==1)return false;return true}function gi(e){return e.replace(/_xlfn\./g,"")}function bi(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function wi(e){var r="of:="+e.replace(hi,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function yi(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function ki(e){return e.replace(/\./,"!")}var xi={};var Si={};la.WS=["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"];var _i=typeof Map!=="undefined";function Ci(e,r,t){var a=0,n=e.length;if(t){if(_i?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=_i?t.get(r):t[r];for(;a-1){t.width=pn(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function Ei(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function Fi(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){P.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Ti(e,r,t,a,n,i){try{if(a.cellNF)e.z=P._table[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=ce(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(P._table[r]==null)P.load(L[r]||"General",r);if(e.t==="e")e.w=e.w||qt[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=P._general_int(e.v);else e.w=P._general_num(e.v)}else if(e.t==="d"){var l=re(e.v);if((l|0)===l)e.w=P._general_int(l);else e.w=P._general_num(l)}else if(e.v===undefined)return"";else e.w=P._general(e.v,Si)}else if(e.t==="d")e.w=P.format(r,re(e.v),Si);else e.w=P.format(r,e.v,Si)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=ln(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=ln(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function Di(e,r,t){if(e&&e["!ref"]){var a=St(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=xt(t)}var Mi=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Ni=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Pi=/<(?:\w:)?hyperlink [^>]*>/gm;var Ri=/"(\w*:\w*)"/;var Ii=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Li=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Bi=/<(?:\w:)?pageMargins[^>]*\/>/g;var zi=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Ui=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var $i=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Wi(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(v!=null&&r.dense==null)r.dense=v;var l=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var c="",f="";var u=e.match(Ni);if(u){c=e.slice(0,u.index);f=e.slice(u.index+u[0].length)}else c=f=e;var h=c.match(zi);if(h)Hi(h[0],l,n,t);else if(h=c.match(Ui))Xi(h[0],h[1]||"",l,n,t,s,i);var d=(c.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=c.slice(d,d+50).match(Ri);if(p)Oi(l,p[1])}var m=c.match($i);if(m&&m[1])ns(m[1],n);var g=[];if(r.cellStyles){var b=c.match(Ii);if(b)Qi(g,b)}if(u)ls(u[1],l,r,o,i,s);var w=f.match(Li);if(w)l["!autofilter"]=rs(w[0]);var y=[];var k=f.match(Mi);if(k)for(d=0;d!=k.length;++d)y[d]=St(k[d].slice(k[d].indexOf('"')+1));var x=f.match(Pi);if(x)Ki(l,x,a);var S=f.match(Bi);if(S)l["!margins"]=qi(Ie(S[0]));if(!l["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)l["!ref"]=xt(o);if(r.sheetRows>0&&l["!ref"]){var _=St(l["!ref"]);if(r.sheetRows<=+_.e.r){_.e.r=r.sheetRows-1;if(_.e.r>o.e.r)_.e.r=o.e.r;if(_.e.r<_.s.r)_.s.r=_.e.r;if(_.e.c>o.e.c)_.e.c=o.e.c;if(_.e.c<_.s.c)_.s.c=_.e.c;l["!fullref"]=l["!ref"];l["!ref"]=xt(_)}}if(g.length>0)l["!cols"]=g;if(y.length>0)l["!merges"]=y;return l}function ji(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Hi(e,r,t,a){var n=Ie(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Ue(qe(n.codeName))}function Xi(e,r,t,a,n,i,s){Hi(e.slice(0,e.indexOf(">")),t,a,n)}function Vi(e,r,t,a,n){var i=false;var s={},l=null;if(a.bookType!=="xlsx"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(c){}i=true;s.codeName=Ze(je(o))}if(e&&e["!outline"]){var f={summaryBelow:1,summaryRight:1};if(e["!outline"].above)f.summaryBelow=0;if(e["!outline"].left)f.summaryRight=0;l=(l||"")+ur("outlinePr",null,f)}if(!i&&!l)return;n[n.length]=ur("sheetPr",l,s)}var Gi=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Yi=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Ji(e){var r={sheet:1};Gi.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Yi.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=crypto_CreatePasswordVerifier_Method1(e.password).toString(16).toUpperCase();return ur("sheetProtection",null,r)}function Ki(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Ie(qe(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Ue(i.location)}else{i.Target="#"+Ue(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var l=St(i.ref);for(var o=l.s.r;o<=l.e.r;++o)for(var c=l.s.c;c<=l.e.c;++c){var f=yt({c:c,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][c])e[o][c]={t:"z",v:undefined};e[o][c].l=i}else{if(!e[f])e[f]={t:"z",v:undefined};e[f].l=i}}}}function qi(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Zi(e){Ei(e);return ur("pageMargins",null,e)}function Qi(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Ie(r[a],true);if(n.hidden)n.hidden=Ke(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;vn(n.width)}gn(n);while(i<=s)e[i++]=ue(n)}}function es(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=ur("col",null,Ai(n,a))}t[t.length]="";return t.join("")}function rs(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function ts(e,r,t,a){var n=typeof e.ref=="string"?e.ref:xt(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=kt(n);if(s.s.r==s.e.r){s.e.r=kt(r["!ref"]).e.r;n=xt(s)}for(var l=0;la-z][^>]*)?\/?>/;function ns(e,r){if(!r.Views)r.Views=[{}];(e.match(as)||[]).forEach(function(e,t){var a=Ie(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(Ke(a.rightToLeft))r.Views[t].RTL=true})}function is(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return ur("sheetViews",ur("sheetView",null,n),{})}function ss(e,r,t,a){if(e.v===undefined&&typeof e.f!=="string"||e.t==="z")return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=qt[e.v];break;case"d":if(a&&a.cellDates)n=ce(e.v,-1).toISOString();else{e=ue(e);e.t="n";n=""+(e.v=re(ce(e.v)))}if(typeof e.z==="undefined")e.z=P._table[14];break;default:n=e.v;break;}var l=cr("v",je(n)),o={r:r};var c=Fi(a.cellXfs,e,a);if(c!==0)o.s=c;switch(e.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){l=cr("v",""+Ci(a.Strings,e.v,a.revStrings));o.t="s";break}o.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var f=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;l=ur("f",je(e.f),f)+(e.v!=null?l:"")}if(e.l)t["!links"].push([r,e.l]);if(e.c)t["!comments"].push([r,e.c]);if(e.D)o.cm=1;return ur("c",l,o)}var ls=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=tr("v"),s=tr("f");return function l(o,c,f,u,h,d){var p=0,m="",v=[],g=[],b=0,w=0,y=0,k="",x;var S,_=0,C=0;var A,E;var F=0,T=0;var D=Array.isArray(d.CellXf),O;var M=[];var N=[];var R=Array.isArray(c);var I=[],L={},B=false;var z=!!f.sheetStubs;for(var U=o.split(r),$=0,W=U.length;$!=W;++$){m=U[$].trim();var j=m.length;if(j===0)continue;var H=0;e:for(p=0;p":if(m[p-1]!="/"){++p;break e}if(f&&f.cellStyles){S=Ie(m.slice(H,p),true);_=S.r!=null?parseInt(S.r,10):_+1;C=-1;if(f.sheetRows&&f.sheetRows<_)continue;L={};B=false;if(S.ht){B=true;L.hpt=parseFloat(S.ht);L.hpx=kn(L.hpt)}if(S.hidden=="1"){B=true;L.hidden=true}if(S.outlineLevel!=null){B=true;L.level=+S.outlineLevel}if(B)I[_-1]=L}break;case"<":H=p;break;}if(H>=p)break;S=Ie(m.slice(H,p),true);_=S.r!=null?parseInt(S.r,10):_+1;C=-1;if(f.sheetRows&&f.sheetRows<_)continue;if(u.s.r>_-1)u.s.r=_-1;if(u.e.r<_-1)u.e.r=_-1;if(f&&f.cellStyles){L={};B=false;if(S.ht){B=true;L.hpt=parseFloat(S.ht);L.hpx=kn(L.hpt)}if(S.hidden=="1"){B=true;L.hidden=true}if(S.outlineLevel!=null){B=true;L.level=+S.outlineLevel}if(B)I[_-1]=L}v=m.slice(p).split(e);for(var X=0;X!=v.length;++X)if(v[X].trim().charAt(0)!="<")break;v=v.slice(X);for(p=0;p!=v.length;++p){m=v[p].trim();if(m.length===0)continue;g=m.match(t);b=p;w=0;y=0;m="":"")+m;if(g!=null&&g.length===2){b=0;k=g[1];for(w=0;w!=k.length;++w){if((y=k.charCodeAt(w)-64)<1||y>26)break;b=26*b+y}--b;C=b}else++C;for(w=0;w!=m.length;++w)if(m.charCodeAt(w)===62)break;++w;S=Ie(m.slice(0,w),true);if(!S.r)S.r=yt({r:_-1,c:C});k=m.slice(w);x={t:""};if((g=k.match(i))!=null&&g[1]!=="")x.v=Ue(g[1]);if(f.cellFormula){if((g=k.match(s))!=null&&g[1]!==""){x.f=Ue(qe(g[1])).replace(/\r\n/g,"\n");if(!f.xlfn)x.f=gi(x.f);if(g[0].indexOf('t="array"')>-1){x.F=(k.match(n)||[])[1];if(x.F.indexOf(":")>-1)M.push([St(x.F),x.F])}else if(g[0].indexOf('t="shared"')>-1){E=Ie(g[0]);var V=Ue(qe(g[1]));if(!f.xlfn)V=gi(V);N[parseInt(E.si,10)]=[E,V,S.r]}}else if(g=k.match(/]*\/>/)){E=Ie(g[0]);if(N[E.si])x.f=mi(N[E.si][1],N[E.si][2],S.r)}var G=wt(S.r);for(w=0;w=M[w][0].s.r&&G.r<=M[w][0].e.r)if(G.c>=M[w][0].s.c&&G.c<=M[w][0].e.c)x.F=M[w][1]}if(S.t==null&&x.v===undefined){if(x.f||x.F){x.v=0;x.t="n"}else if(!z)continue;else x.t="z"}else x.t=S.t||"n";if(u.s.c>C)u.s.c=C;if(u.e.c0)c["!rows"]=I}}();function os(e,r,t,a){var n=[],i=[],s=St(e["!ref"]),l="",o,c="",f=[],u=0,h=0,d=e["!rows"];var p=Array.isArray(e);var m={r:c},v,g=-1;for(h=s.s.c;h<=s.e.c;++h)f[h]=mt(h);for(u=s.s.r;u<=s.e.r;++u){i=[];c=ut(u);for(h=s.s.c;h<=s.e.c;++h){o=f[h]+c;var b=p?(e[u]||[])[h]:e[o];if(b===undefined)continue;if((l=ss(b,o,e,r,t,a))!=null)i.push(l)}if(i.length>0||d&&d[u]){m={r:c};if(d&&d[u]){v=d[u];if(v.hidden)m.hidden=1;g=-1;if(v.hpx)g=yn(v.hpx);else if(v.hpt)g=v.hpt;if(g>-1){m.ht=g;m.customHeight=1}if(v.level){m.outlineLevel=v.level}}n[n.length]=ur("row",i.join(""),m)}}if(d)for(;u-1){m.ht=g;m.customHeight=1}if(v.level){m.outlineLevel=v.level}n[n.length]=ur("row","",m)}}return n.join("")}var cs=ur("worksheet",null,{xmlns:vr.main[0],"xmlns:r":vr.r});function fs(e,r,t,a){var n=[Oe,cs];var i=t.SheetNames[e],s=0,l="";var o=t.Sheets[i];if(o==null)o={};var c=o["!ref"]||"A1";var f=St(c);if(f.e.c>16383||f.e.r>1048575){if(r.WTF)throw new Error("Range "+c+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383);f.e.r=Math.min(f.e.c,1048575);c=xt(f)}if(!a)a={};o["!comments"]=[];var u=[];Vi(o,t,e,r,n);n[n.length]=ur("dimension",null,{ref:c});n[n.length]=is(o,r,e,t);if(r.sheetFormat)n[n.length]=ur("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(o["!cols"]!=null&&o["!cols"].length>0)n[n.length]=es(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){l=os(o,r,e,t,a);if(l.length>0)n[n.length]=l}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(o["!protect"])n[n.length]=Ji(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=ts(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=ji(o["!merges"]);var h=-1,d,p=-1;if(o["!links"].length>0){n[n.length]="";o["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){p=da(a,-1,je(e[1].Target).replace(/#.*$/,""),la.HLINK);d["r:id"]="rId"+p}if((h=e[1].Target.indexOf("#"))>-1)d.location=je(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=je(e[1].Tooltip);n[n.length]=ur("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=Zi(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=cr("ignoredErrors",ur("ignoredError",null,{numberStoredAsText:1,sqref:c}));if(u.length>0){p=da(a,-1,"../drawings/drawing"+(e+1)+".xml",la.DRAW);n[n.length]=ur("drawing",null,{"r:id":"rId"+p});o["!drawing"]=u}if(o["!comments"].length>0){p=da(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",la.VML);n[n.length]=ur("legacyDrawing",null,{"r:id":"rId"+p});o["!legacy"]=p}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}la.CHART="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart";la.CHARTEX="http://schemas.microsoft.com/office/2014/relationships/chartEx";function us(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Ue((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function hs(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var l=0,o=0,c="A";var f={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=us(e);f.s.r=f.s.c=0;f.e.c=l;c=mt(l);r[0].forEach(function(e,t){s[c+ut(t)]={t:"n",v:e,z:r[1]};o=t});if(f.e.r0)s["!ref"]=xt(f);return s}la.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";var ds=ur("chartsheet",null,{xmlns:vr.main[0],"xmlns:r":vr.r});function ps(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var l=e.match(zi);if(l)Hi(l[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function ms(e,r,t,a){var n=[Oe,ds];n[n.length]=ur("drawing",null,{"r:id":"rId1"});da(a,-1,"../drawings/drawing"+(e+1)+".xml",la.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var vs=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var gs=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var bs=[];var ws=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function ys(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Ke(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function ks(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Ke(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function xs(e){ks(e.WBProps,vs);ks(e.CalcPr,ws);ys(e.WBView,gs);ys(e.Sheets,bs);Si.date1904=Ke(e.WBProps.date1904)}function Ss(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Ke(e.Workbook.WBProps.date1904)?"true":"false"}var _s="][*?/\\".split("");function Cs(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;_s.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function As(e,r,t){e.forEach(function(a,n){Cs(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Es(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];As(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":vs.forEach(function(e){if(f[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Ke(f[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(f[e[0]],10);break;default:t.WBProps[e[0]]=f[e[0]];}});if(f.codeName)t.WBProps.CodeName=qe(f.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete f[0];t.WBView.push(f);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Ue(qe(e.slice(s,c)));t.Names.push(i)}break;case"":break;case"":delete f[0];t.CalcPr=f;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"
":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){vs.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=ur("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:je(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=ur("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=ur("definedName",je(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Ms(e,r,t){if(r.slice(-4)===".bin")return parse_wb_bin(e,t);return Ts(e,t)}function Ns(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return parse_ws_bin(e,a,t,n,i,s,l);return Wi(e,a,t,n,i,s,l)}function Ps(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return parse_cs_bin(e,a,t,n,i,s,l);return ps(e,a,t,n,i,s,l)}function Rs(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return ci(e,a,t,n,i,s,l);return fi(e,a,t,n,i,s,l)}function Is(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return li(e,a,t,n,i,s,l);return oi(e,a,t,n,i,s,l)}function Ls(e,r,t,a){if(r.slice(-4)===".bin")return parse_sty_bin(e,t,a);return Mn(e,t,a)}function Bs(e,r,t){return Hn(e,t)}function zs(e,r,t){if(r.slice(-4)===".bin")return parse_sst_bin(e,t);return Qa(e,t)}function Us(e,r,t){if(r.slice(-4)===".bin")return parse_comments_bin(e,t);return ei(e,t)}function $s(e,r,t){if(r.slice(-4)===".bin")return parse_cc_bin(e,r,t);return parse_cc_xml(e,r,t)}function Ws(e,r,t,a){if(t.slice(-4)===".bin")return Jn(e,r,t,a);return Yn(e,r,t,a)}function js(e,r,t){if(r.slice(-4)===".bin")return parse_xlmeta_bin(e,r,t);return Vn(e,r,t)}function Hs(e,r,t){return(r.slice(-4)===".bin"?write_wb_bin:Os)(e,t); -}function Xs(e,r,t,a,n){return(r.slice(-4)===".bin"?write_ws_bin:fs)(e,t,a,n)}function Vs(e,r,t,a,n){return(r.slice(-4)===".bin"?write_cs_bin:ms)(e,t,a,n)}function Gs(e,r,t){return(r.slice(-4)===".bin"?write_sty_bin:Pn)(e,t)}function Ys(e,r,t){return(r.slice(-4)===".bin"?write_sst_bin:rn)(e,t)}function Js(e,r,t){return(r.slice(-4)===".bin"?write_comments_bin:ti)(e,t)}function Ks(e){return(e.slice(-4)===".bin"?write_xlmeta_bin:Gn)()}var qs=function(){function e(e,r){var t=r||{};if(v!=null&&t.dense==null)t.dense=v;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,l=i&&i.index||e.length;var o=ge(e.slice(s,l),/(:?]*>)/i,"");var c=-1,f=0,u=0,h=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var p=[];for(s=0;s/i);for(l=0;l"))>-1)y=y.slice(k+1);for(var x=0;x")));h=_.colspan?+_.colspan:1;if((u=+_.rowspan)>1||h>1)p.push({s:{r:c,c:f},e:{r:c+(u||1)-1,c:f+h-1}});var C=_.t||_["data-t"]||"";if(!y.length){f+=h;continue}y=ar(y);if(d.s.r>c)d.s.r=c;if(d.e.rf)d.s.c=f;if(d.e.c[\s\S]*?<\/table>/gi);if(!a||a.length==0)throw new Error("Invalid HTML: could not find
");if(a.length==1)return At(e(a[0],t),t);var n=uo.book_new();a.forEach(function(r,a){uo.book_append_sheet(n,e(r,t),"Sheet"+(a+1))});return n}function t(e,r,t,a){var n=e["!merges"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var l=0,o=0;for(var c=0;ct||n[c].s.c>s)continue;if(n[c].e.r1)d.rowspan=l;if(o>1)d.colspan=o;if(a.editable)h=''+h+"";else if(u){d["data-t"]=u&&u.t||"z";if(u.v!=null)d["data-v"]=u.v;if(u.z!=null)d["data-z"]=u.z;if(u.l&&(u.l.Target||"#").charAt(0)!="#")h=''+h+""}d.id=(a.id||"sjs")+"-"+f;i.push(ur("td",h,d))}var p="";return p+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var l=s.header!=null?s.header:n;var o=s.footer!=null?s.footer:i;var c=[l];var f=kt(e["!ref"]);s.dense=Array.isArray(e);c.push(a(e,f,s));for(var u=f.s.r;u<=f.e.r;++u)c.push(t(e,f,u,s));c.push("
"+o);return c.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function Zs(e,r,t){var a=t||{};if(v!=null)a.dense=v;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?wt(a.origin):a.origin;n=s.r;i=s.c}}var l=r.getElementsByTagName("tr");var o=Math.min(a.sheetRows||1e7,l.length);var c={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var f=kt(e["!ref"]);c.s.r=Math.min(c.s.r,f.s.r);c.s.c=Math.min(c.s.c,f.s.c);c.e.r=Math.max(c.e.r,f.e.r);c.e.c=Math.max(c.e.c,f.e.c);if(n==-1)c.e.r=n=f.e.r+1}var u=[],h=0;var d=e["!rows"]||(e["!rows"]=[]);var p=0,m=0,g=0,b=0,w=0,y=0;if(!e["!cols"])e["!cols"]=[];for(;p1||y>1)u.push({s:{r:m+n,c:b+i},e:{r:m+n+(w||1)-1,c:b+i+(y||1)-1}});var E={t:"s",v:_};var F=S.getAttribute("data-t")||S.getAttribute("t")||"";if(_!=null){if(_.length==0)E.t=F||"z";else if(a.raw||_.trim().length==0||F=="s"){}else if(_==="TRUE")E={t:"b",v:true};else if(_==="FALSE")E={t:"b",v:false};else if(!isNaN(de(_)))E={t:"n",v:de(_)};else if(!isNaN(me(_).getDate())){E={t:"d",v:ce(_)};if(!a.cellDates)E={t:"n",v:re(E.v)};E.z=a.dateNF||P._table[14]}}if(E.z===undefined&&C!=null)E.z=C;var T="",D=S.getElementsByTagName("A");if(D&&D.length)for(var O=0;O=o)e["!fullref"]=xt((c.e.r=l.length-p+m-1+n,c));return e}function Qs(e,r){var t=r||{};var a=t.dense?[]:{};return Zs(a,e,r)}function el(e,r){return At(Qs(e,r),r)}function rl(e){var r="";var t=tl(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function tl(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}var al=function(){var e=function(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Ue(r.replace(/<[^>]*>/g,""));return[t]};var r={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};return function t(a,n){var i=n||{};if(v!=null&&i.dense==null)i.dense=v;var s=pr(a);var l=[],o;var c;var f={name:""},u="",h=0;var d;var p;var m={},g=[];var b=i.dense?[]:{};var w,y;var k={value:""};var x="",S=0,_;var C=[];var A=-1,E=-1,F={s:{r:1e6,c:1e7},e:{r:0,c:0}};var T=0;var D={};var O=[],M={},N=0,P=0;var R=[],I=1,L=1;var B=[];var z={Names:[]};var U={};var $=["",""];var W=[],j={};var H="",X=0;var V=false,G=false;var Y=0;mr.lastIndex=0;s=s.replace(//gm,"").replace(//gm,"");while(w=mr.exec(s))switch(w[3]=w[3].replace(/_.*$/,"")){case"table":;case"工作表":if(w[1]==="/"){if(F.e.c>=F.s.c&&F.e.r>=F.s.r)b["!ref"]=xt(F);else b["!ref"]="A1:A1";if(i.sheetRows>0&&i.sheetRows<=F.e.r){b["!fullref"]=b["!ref"];F.e.r=i.sheetRows-1;b["!ref"]=xt(F)}if(O.length)b["!merges"]=O;if(R.length)b["!rows"]=R;d.name=d["名称"]||d.name;if(typeof JSON!=="undefined")JSON.stringify(d);g.push(d.name);m[d.name]=b;G=false}else if(w[0].charAt(w[0].length-2)!=="/"){d=Ie(w[0],false);A=E=-1;F.s.r=F.s.c=1e7;F.e.r=F.e.c=0;b=i.dense?[]:{};O=[];R=[];G=true}break;case"table-row-group":if(w[1]==="/")--T;else++T;break;case"table-row":;case"行":if(w[1]==="/"){A+=I;I=1;break}p=Ie(w[0],false);if(p["行号"])A=p["行号"]-1;else if(A==-1)A=0;I=+p["number-rows-repeated"]||1;if(I<10)for(Y=0;Y0)R[A+Y]={level:T};E=-1;break;case"covered-table-cell":if(w[1]!=="/")++E;if(i.sheetStubs){if(i.dense){if(!b[A])b[A]=[];b[A][E]={t:"z"}}else b[yt({r:A,c:E})]={t:"z"}}x="";C=[];break;case"table-cell":;case"数据":if(w[0].charAt(w[0].length-2)==="/"){++E;k=Ie(w[0],false);L=parseInt(k["number-columns-repeated"]||"1",10);y={t:"z",v:null};if(k.formula&&i.cellFormula!=false)y.f=bi(Ue(k.formula));if((k["数据类型"]||k["value-type"])=="string"){y.t="s";y.v=Ue(k["string-value"]||"");if(i.dense){if(!b[A])b[A]=[];b[A][E]=y}else{b[yt({r:A,c:E})]=y}}E+=L-1}else if(w[1]!=="/"){++E;x="";S=0;C=[];L=1;var J=I?A+I-1:A;if(E>F.e.c)F.e.c=E;if(EF.e.r)F.e.r=J;k=Ie(w[0],false);W=[];j={};y={t:k["数据类型"]||k["value-type"],v:null};if(i.cellFormula){if(k.formula)k.formula=Ue(k.formula);if(k["number-matrix-columns-spanned"]&&k["number-matrix-rows-spanned"]){N=parseInt(k["number-matrix-rows-spanned"],10)||0;P=parseInt(k["number-matrix-columns-spanned"],10)||0;M={s:{r:A,c:E},e:{r:A+N-1,c:E+P-1}};y.F=xt(M);B.push([M,y.F])}if(k.formula)y.f=bi(k.formula);else for(Y=0;Y=B[Y][0].s.r&&A<=B[Y][0].e.r)if(E>=B[Y][0].s.c&&E<=B[Y][0].e.c)y.F=B[Y][1]}if(k["number-columns-spanned"]||k["number-rows-spanned"]){N=parseInt(k["number-rows-spanned"],10)||0;P=parseInt(k["number-columns-spanned"],10)||0;M={s:{r:A,c:E},e:{r:A+N-1,c:E+P-1}};O.push(M)}if(k["number-columns-repeated"])L=parseInt(k["number-columns-repeated"],10);switch(y.t){case"boolean":y.t="b";y.v=Ke(k["boolean-value"]);break;case"float":y.t="n";y.v=parseFloat(k.value);break;case"percentage":y.t="n";y.v=parseFloat(k.value);break;case"currency":y.t="n";y.v=parseFloat(k.value);break;case"date":y.t="d";y.v=ce(k["date-value"]);if(!i.cellDates){y.t="n";y.v=re(y.v)}y.z="m/d/yy";break;case"time":y.t="n";y.v=se(k["time-value"])/86400;if(i.cellDates){y.t="d";y.v=ie(y.v)}y.z="HH:MM:SS";break;case"number":y.t="n";y.v=parseFloat(k["数据数值"]);break;default:if(y.t==="string"||y.t==="text"||!y.t){y.t="s";if(k["string-value"]!=null){x=Ue(k["string-value"]);C=[]}}else throw new Error("Unsupported value type "+y.t);}}else{V=false;if(y.t==="s"){y.v=x||"";if(C.length)y.R=C;V=S==0}if(U.Target)y.l=U;if(W.length>0){y.c=W;W=[]}if(x&&i.cellText!==false)y.w=x;if(V){y.t="z";delete y.v}if(!V||i.sheetStubs){if(!(i.sheetRows&&i.sheetRows<=A)){for(var K=0;K0)b[A+K][E+L]=ue(y)}else{b[yt({r:A+K,c:E})]=y;while(--L>0)b[yt({r:A+K,c:E+L})]=ue(y)}if(F.e.c<=E)F.e.c=E}}}L=parseInt(k["number-columns-repeated"]||"1",10);E+=L-1;L=0;y={};x="";C=[]}U={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(w[1]==="/"){if((o=l.pop())[0]!==w[3])throw"Bad state: "+o}else if(w[0].charAt(w[0].length-2)!=="/")l.push([w[3],true]);break;case"annotation":if(w[1]==="/"){if((o=l.pop())[0]!==w[3])throw"Bad state: "+o;j.t=x;if(C.length)j.R=C;j.a=H;W.push(j)}else if(w[0].charAt(w[0].length-2)!=="/"){l.push([w[3],false])}H="";X=0;x="";S=0;C=[];break;case"creator":if(w[1]==="/"){H=s.slice(X,w.index)}else X=w.index+w[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(w[1]==="/"){if((o=l.pop())[0]!==w[3])throw"Bad state: "+o}else if(w[0].charAt(w[0].length-2)!=="/")l.push([w[3],false]);x="";S=0;C=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(w[1]==="/"){D[f.name]=u;if((o=l.pop())[0]!==w[3])throw"Bad state: "+o}else if(w[0].charAt(w[0].length-2)!=="/"){u="";f=Ie(w[0],false);l.push([w[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(l[l.length-1][0]){case"time-style":;case"date-style":c=Ie(w[0],false);u+=r[w[3]][c.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(l[l.length-1][0]){case"time-style":;case"date-style":c=Ie(w[0],false);u+=r[w[3]][c.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(w[0].slice(-2)==="/>")break;else if(w[1]==="/")switch(l[l.length-1][0]){case"number-style":;case"date-style":;case"time-style":u+=s.slice(h,w.index);break;}else h=w.index+w[0].length;break;case"named-range":c=Ie(w[0],false);$=yi(c["cell-range-address"]);var q={Name:c.name,Ref:$[0]+"!"+$[1]};if(G)q.Sheet=g.length;z.Names.push(q);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(l[l.length-1][0])>-1)break;if(w[1]==="/"&&(!k||!k["string-value"])){var Z=e(s.slice(S,w.index),_);x=(x.length>0?x+"\n":"")+Z[0]}else{_=Ie(w[0],false);S=w.index+w[0].length}break;case"s":break;case"database-range":if(w[1]==="/")break;try{$=yi(Ie(w[0])["target-range-address"]);m[$[0]]["!autofilter"]={ref:$[1]}}catch(Q){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(w[1]!=="/"){U=Ie(w[0],false);if(!U.href)break;U.Target=Ue(U.href);delete U.href;if(U.Target.charAt(0)=="#"&&U.Target.indexOf(".")>-1){$=yi(U.Target.slice(1));U.Target="#"+$[0]+"!"+$[1]}else if(U.Target.match(/^\.\.[\\\/]/))U.Target=U.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(w[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(i.WTF)throw new Error(w);};}var ee={Sheets:m,SheetNames:g,Workbook:z};if(i.bookSheets)delete ee.Sheets;return ee}}();function nl(e,r){r=r||{};if(ke(e,"META-INF/manifest.xml"))ma(Se(e,"META-INF/manifest.xml"),r);var t=_e(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=al(qe(t),r);if(ke(e,"meta.xml"))a.Props=Sa(Se(e,"meta.xml"));return a}function il(e,r){return al(e,r)}var sl=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Oe+r}}();var ll=function(){var e=function(e){return je(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var l=0,o=0,c=kt(a["!ref"]||"A1");var f=a["!merges"]||[],u=0;var h=Array.isArray(a);if(a["!cols"]){for(o=0;o<=c.e.c;++o)s.push(" \n")}var d="",p=a["!rows"]||[];for(l=0;l\n")}for(;l<=c.e.r;++l){d=p[l]?' table:style-name="ro'+p[l].ods+'"':"";s.push(" \n");for(o=0;oo)continue;if(f[u].s.r>l)continue;if(f[u].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Oe];var i=fr({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=fr({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(ya().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var l=0;l!=e.SheetNames.length;++l)t.push(a(e.Sheets[e.SheetNames[l]],e,l,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function ol(e,r){if(r.bookType=="fods")return ll(e,r);var t=Fe();var a="";var n=[];var i=[];a="mimetype";Ee(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Ee(t,a,ll(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Ee(t,a,sl(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Ee(t,a,Oe+ya());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Ee(t,a,wa(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Ee(t,a,va(n));return t}function cl(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}var fl=function(e){cl([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)};var ul=cl([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function hl(e){if(la.WS.indexOf(e)>-1)return"sheet";if(la.CS&&e==la.CS)return"chart";if(la.DS&&e==la.DS)return"dialog";if(la.MS&&e==la.MS)return"macro";return e&&e.length?e:"sheet"}function dl(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,hl(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function pl(e,r,t,a,n,i,s,l,o,c,f,u){try{i[a]=ca(_e(e,t,true),r);var h=Se(e,r);var d;switch(l){case"sheet":d=Ns(h,r,n,o,i[a],c,f,u);break;case"chart":d=Ps(h,r,n,o,i[a],c,f,u);if(!d||!d["!drawel"])break;var p=De(d["!drawel"].Target,r);var m=oa(p);var v=Kn(_e(e,p,true),ca(_e(e,m,true),p));var g=De(v,p);var b=oa(g);d=hs(_e(e,g,true),g,o,ca(_e(e,b,true),g),c,d);break;case"macro":d=Rs(h,r,n,o,i[a],c,f,u);break;case"dialog":d=Is(h,r,n,o,i[a],c,f,u);break;default:throw new Error("Unrecognized sheet type "+l);}s[a]=d;var w=[];if(i&&i[a])J(i[a]).forEach(function(t){if(i[a][t].Type==la.CMNT){var n=De(i[a][t].Target,r);w=Us(Se(e,n,true),n,o);if(!w||!w.length)return;Qn(d,w)}})}catch(y){if(o.WTF)throw y}}function ml(e){return e.charAt(0)=="/"?e.slice(1):e}function vl(e,r){R(P);r=r||{};fl(r);if(ke(e,"META-INF/manifest.xml"))return nl(e,r);if(ke(e,"objectdata.xml"))return nl(e,r);if(ke(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof NUMBERS!="undefined"){if(e.FileIndex)return NUMBERS.parse_numbers(e);var t=H.utils.cfb_new();Ae(e).forEach(function(r){Ee(t,r,Ce(e,r))});return NUMBERS.parse_numbers(t)}throw new Error("Unsupported NUMBERS file")}if(!ke(e,"[Content_Types].xml")){if(ke(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(ke(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Ae(e);var n=aa(_e(e,"[Content_Types].xml"));var i=false;var s,l;if(n.workbooks.length===0){l="xl/workbook.xml";if(Se(e,l,true))n.workbooks.push(l)}if(n.workbooks.length===0){l="xl/workbook.bin";if(!Se(e,l,true))throw new Error("Could not find workbook");n.workbooks.push(l);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var o={};var c={};if(!r.bookSheets&&!r.bookProps){xi=[];if(n.sst)try{xi=zs(Se(e,ml(n.sst)),n.sst,r)}catch(f){if(r.WTF)throw f}if(r.cellStyles&&n.themes.length)o=Bs(_e(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)c=Ls(Se(e,ml(n.style)),n.style,o,r)}n.links.map(function(t){try{var a=ca(_e(e,oa(ml(t))),t);return Ws(Se(e,ml(t)),a,t,r)}catch(n){}});var u=Ms(Se(e,ml(n.workbooks[0])),n.workbooks[0],r);var h={},d="";if(n.coreprops.length){d=Se(e,ml(n.coreprops[0]),true);if(d)h=Sa(d);if(n.extprops.length!==0){d=Se(e,ml(n.extprops[0]),true);if(d)Da(d,h,r)}}var p={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){d=_e(e,ml(n.custprops[0]),true);if(d)p=Pa(d,r)}}var m={};if(r.bookSheets||r.bookProps){if(u.Sheets)s=u.Sheets.map(function O(e){return e.name});else if(h.Worksheets&&h.SheetNames.length>0)s=h.SheetNames;if(r.bookProps){m.Props=h;m.Custprops=p}if(r.bookSheets&&typeof s!=="undefined")m.SheetNames=s;if(r.bookSheets?m.SheetNames:r.bookProps)return m}s={};var v={};if(r.bookDeps&&n.calcchain)v=$s(Se(e,ml(n.calcchain)),n.calcchain,r);var g=0;var b={};var w,y;{var k=u.Sheets;h.Worksheets=k.length;h.SheetNames=[];for(var x=0;x!=k.length;++x){h.SheetNames[x]=k[x].name}}var S=i?"bin":"xml";var _=n.workbooks[0].lastIndexOf("/");var C=(n.workbooks[0].slice(0,_+1)+"_rels/"+n.workbooks[0].slice(_+1)+".rels").replace(/^\//,"");if(!ke(e,C))C="xl/_rels/workbook."+S+".rels";var A=ca(_e(e,C,true),C.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=js(Se(e,ml(n.metadata[0])),n.metadata[0],r)}if(A)A=dl(A,u.Sheets);var E=Se(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(g=0;g!=h.Worksheets;++g){var F="sheet";if(A&&A[g]){w="xl/"+A[g][1].replace(/[\/]?xl\//,"");if(!ke(e,w))w=A[g][1];if(!ke(e,w))w=C.replace(/_rels\/.*$/,"")+A[g][1];F=A[g][2]}else{w="xl/worksheets/sheet"+(g+1-E)+"."+S;w=w.replace(/sheet0\./,"sheet.")}y=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(g!=r.sheets)continue e;break;case"string":if(h.SheetNames[g].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var T=false;for(var D=0;D!=r.sheets.length;++D){if(typeof r.sheets[D]=="number"&&r.sheets[D]==g)T=1;if(typeof r.sheets[D]=="string"&&r.sheets[D].toLowerCase()==h.SheetNames[g].toLowerCase())T=1}if(!T)continue e};}pl(e,w,y,h.SheetNames[g],g,b,s,F,r,u,o,c)}m={Directory:n,Workbook:u,Props:h,Custprops:p,Deps:v,Sheets:s,SheetNames:h.SheetNames,Strings:xi,Styles:c,Themes:o,SSF:P.get_table()};if(r&&r.bookFiles){if(e.files){m.keys=a;m.files=e.files}else{m.keys=[];m.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");m.keys.push(r);m.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)m.vbaraw=Se(e,ml(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===ai)m.vbaraw=Se(e,"xl/vbaProject.bin",true)}return m}function gl(e,r){var t=r||{};var a="Workbook",n=H.find(e,a);try{a="/!DataSpaces/Version";n=H.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);parse_DataSpaceVersionInfo(n.content);a="/!DataSpaces/DataSpaceMap";n=H.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=parse_DataSpaceMap(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=H.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=parse_DataSpaceDefinition(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a); -a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=H.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);parse_Primary(n.content)}catch(l){}a="/EncryptionInfo";n=H.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=parse_EncryptionInfo(n.content);a="/EncryptedPackage";n=H.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(o[1],n.content,t.password||"",t);if(o[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(o[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function bl(e,r){if(r.bookType=="ods")return ol(e,r);return wl(e,r)}function wl(e,r){qn=1024;if(e&&!e.SSF){e.SSF=P.get_table()}if(e&&e.SSF){R(P);P.load_table(e.SSF);r.revssf=Z(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(_i)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=si.indexOf(r.bookType)>-1;var n=ta();ul(r=r||{});var i=Fe();var s="",l=0;r.cellXfs=[];Fi(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Ee(i,s,Aa(e.Props,r));n.coreprops.push(s);da(r.rels,2,s,la.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var c=0;c0){s="docProps/custom.xml";Ee(i,s,Ia(e.Custprops,r));n.custprops.push(s);da(r.rels,4,s,la.CUST_PROPS)}for(l=1;l<=e.SheetNames.length;++l){var f={"!id":{}};var u=e.Sheets[e.SheetNames[l-1]];var h=(u||{})["!type"]||"sheet";switch(h){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;Ee(i,s,Xs(l-1,s,r,e,f));n.sheets.push(s);da(r.wbrels,-1,"worksheets/sheet"+l+"."+t,la.WS[0]);}if(u){var d=u["!comments"];var p=false;if(d&&d.length>0){var m="xl/comments"+l+"."+t;Ee(i,m,Js(d,m,r));n.comments.push(m);da(f,-1,"../comments"+l+"."+t,la.CMNT);p=true}if(u["!legacy"]){if(p)Ee(i,"xl/drawings/vmlDrawing"+l+".vml",Zn(l,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(f["!id"].rId1)Ee(i,oa(s),ua(f))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Ee(i,s,Ys(r.Strings,s,r));n.strs.push(s);da(r.wbrels,-1,"sharedStrings."+t,la.SST)}s="xl/workbook."+t;Ee(i,s,Hs(e,s,r));n.workbooks.push(s);da(r.rels,1,s,la.WB);s="xl/theme/theme1.xml";Ee(i,s,Xn(e.Themes,r));n.themes.push(s);da(r.wbrels,-1,"theme/theme1.xml",la.THEME);s="xl/styles."+t;Ee(i,s,Gs(e,s,r));n.styles.push(s);da(r.wbrels,-1,"styles."+t,la.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Ee(i,s,e.vbaraw);n.vba.push(s);da(r.wbrels,-1,"vbaProject.bin",la.VBA)}s="xl/metadata."+t;Ee(i,s,Ks(s));n.metadata.push(s);da(r.wbrels,-1,"metadata."+t,la.XLMETA);Ee(i,"[Content_Types].xml",sa(n,r));Ee(i,"_rels/.rels",ua(r.rels));Ee(i,"xl/_rels/workbook."+t+".rels",ua(r.wbrels));delete r.revssf;delete r.ssf;return i}function yl(e,r){qn=1024;if(e&&!e.SSF){e.SSF=P.get_table()}if(e&&e.SSF){R(P);P.load_table(e.SSF);r.revssf=Z(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(_i)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=si.indexOf(r.bookType)>-1;var n=ta();ul(r=r||{});var i=Fe();var s="",l=0;r.cellXfs=[];Fi(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Ee(i,s,Aa(e.Props,r));n.coreprops.push(s);da(r.rels,2,s,la.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var c=0;c0){s="docProps/custom.xml";Ee(i,s,Ia(e.Custprops,r));n.custprops.push(s);da(r.rels,4,s,la.CUST_PROPS)}for(l=1;l<=e.SheetNames.length;++l){var f={"!id":{}};var u=e.Sheets[e.SheetNames[l-1]];var h=(u||{})["!type"]||"sheet";switch(h){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;Ee(i,s,fs(l-1,r,e,f));n.sheets.push(s);da(r.wbrels,-1,"worksheets/sheet"+l+"."+t,la.WS[0]);}if(u){var d=u["!comments"];var p=false;if(d&&d.length>0){var m="xl/comments"+l+"."+t;Ee(i,m,ti(d,r));n.comments.push(m);da(f,-1,"../comments"+l+"."+t,la.CMNT);p=true}if(u["!legacy"]){if(p)Ee(i,"xl/drawings/vmlDrawing"+l+".vml",Zn(l,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(f["!id"].rId1)Ee(i,oa(s),ua(f))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Ee(i,s,rn(r.Strings,r));n.strs.push(s);da(r.wbrels,-1,"sharedStrings."+t,la.SST)}s="xl/workbook."+t;Ee(i,s,Os(e,r));n.workbooks.push(s);da(r.rels,1,s,la.WB);s="xl/theme/theme1.xml";Ee(i,s,Xn(e.Themes,r));n.themes.push(s);da(r.wbrels,-1,"theme/theme1.xml",la.THEME);s="xl/styles."+t;Ee(i,s,Pn(e,r));n.styles.push(s);da(r.wbrels,-1,"styles."+t,la.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Ee(i,s,e.vbaraw);n.vba.push(s);da(r.wbrels,-1,"vbaProject.bin",la.VBA)}s="xl/metadata."+t;Ee(i,s,Gn());n.metadata.push(s);da(r.wbrels,-1,"metadata."+t,la.XLMETA);Ee(i,"[Content_Types].xml",sa(n,r));Ee(i,"_rels/.rels",ua(r.rels));Ee(i,"xl/_rels/workbook."+t+".rels",ua(r.wbrels));delete r.revssf;delete r.ssf;return i}function kl(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=b.decode(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function xl(e,r){if(H.find(e,"EncryptedPackage"))return gl(e,r);return parse_xlscfb(e,r)}function Sl(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=w&&Buffer.isBuffer(e)?"buffer":"base64";t=Te(a,n);return vl(t,n)}function _l(e,r){var t=0;e:while(t=2&&n[3]===0)return WK_.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return WK_.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return La.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return RTF.to_workbook(a,t);break;case 10:;case 13:;case 32:return Cl(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(La.versions.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return La.to_workbook(a,t);return Fl(e,a,t,i)}function Dl(e,r){var t=r||{};t.type="file";return Tl(e,t)}function Ol(e){return function r(t,a){var n=0;if(a.sheet){if(typeof a.sheet=="number")n=a.sheet;else n=t.SheetNames.indexOf(a.sheet);if(!t.SheetNames[n])throw new Error("Sheet not found: "+a.sheet+" : "+typeof a.sheet)}return e.from_sheet(t.Sheets[t.SheetNames[n]],a,t)}}var Ml=Ol(qs);var Nl=Ol({from_sheet:so});var Pl=Ol(typeof Ba!=="undefined"?Ba:{});var Rl=Ol(typeof za!=="undefined"?za:{});var Il=Ol(typeof $a!=="undefined"?$a:{});var Ll=Ol(typeof RTF!=="undefined"?RTF:{});var Bl=Ol({from_sheet:lo});var zl=Ol(typeof La!=="undefined"?La:{});var Ul=Ol(typeof Ua!=="undefined"?Ua:{});var $l=Ol(typeof WK_!=="undefined"?{from_sheet:WK_.sheet_to_wk1}:{});function Wl(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return G(r.file,H.write(e,{type:w?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return H.write(e,r)}function jl(e,r){var t=ue(r||{});var a=bl(e,t);return Xl(a,t)}function Hl(e,r){var t=ue(r||{});var a=yl(e,t);return Xl(a,t)}function Xl(e,r){var t={};var a=w?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?H.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(A(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return Wl(encrypt_agile(n,r.password),r);if(r.type==="file")return G(r.file,n);return r.type=="string"?qe(n):n}function Vl(e,r){var t=r||{};var a=write_xlscfb(e,t);return Wl(a,t)}function Gl(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return b.encode(Ze(a));case"binary":return Ze(a);case"string":return e;case"file":return G(r.file,a,"utf8");case"buffer":{if(w)return y(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Gl(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Yl(e,r){switch(r.type){case"base64":return b.encode(e);case"binary":return e;case"string":return e;case"file":return G(r.file,e,"binary");case"buffer":{if(w)return y(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Jl(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=ut(o.s.r);var h=[];var d=[];var p=0,m=0;var v=Array.isArray(e);var g=o.s.r,b=0,w=0;if(v&&!e[g])e[g]=[];for(b=o.s.c;b<=o.e.c;++b){h[b]=mt(b);t=v?e[g][b]:e[h[b]+u];switch(a){case 1:i[b]=b-o.s.c;break;case 2:i[b]=h[b];break;case 3:i[b]=c.header[b-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};l=s=Ct(t,null,c);m=0;for(w=0;w=0)f='"'+f.replace(no,'""')+'"'}else f="";c.push(f)}if(l.blankrows===false&&o)return null;return c.join(s)}function so(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=St(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var l=a.RS!==undefined?a.RS:"\n",o=l.charCodeAt(0);var c=new RegExp((i=="|"?"\\|":i)+"+$");var f="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var p=n.s.c;p<=n.e.c;++p)if(!(h[p]||{}).hidden)u[p]=mt(p);var m=0;for(var v=n.s.r;v<=n.e.r;++v){if((d[v]||{}).hidden)continue;f=io(e,n,v,u,s,o,i,a);if(f==null){continue}if(a.strip)f=f.replace(c,"");if(f||a.blankrows!==false)t.push((m++?l:"")+f)}delete a.dense;return t.join("")}function lo(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=so(e,r);if(typeof cptable=="undefined"||r.type=="string")return t;var a=cptable.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function oo(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=St(e["!ref"]),i="",s=[],l;var o=[];var c=Array.isArray(e);for(l=n.s.c;l<=n.e.c;++l)s[l]=mt(l);for(var f=n.s.r;f<=n.e.r;++f){i=ut(f);for(l=n.s.c;l<=n.e.c;++l){r=s[l]+i;t=c?(e[f]||[])[l]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function co(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?wt(a.origin):a.origin;s=o.r;l=o.c}}var c;var f={s:{c:0,r:0},e:{c:l,r:s+r.length-1+n}};if(i["!ref"]){var u=St(i["!ref"]);f.e.c=Math.max(f.e.c,u.e.c);f.e.r=Math.max(f.e.r,u.e.r);if(s==-1){s=u.e.r+1;f.e.r=s+r.length-1+n}}else{if(s==-1){s=0;f.e.r=r.length-1+n}}var h=a.header||[],d=0;r.forEach(function(e,r){J(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var o=e[t];var f="z";var u="";var p=yt({c:l+d,r:s+r+n});c=uo.sheet_get_cell(i,p);if(o&&typeof o==="object"&&!(o instanceof Date)){i[p]=o}else{if(typeof o=="number")f="n";else if(typeof o=="boolean")f="b";else if(typeof o=="string")f="s";else if(o instanceof Date){f="d";if(!a.cellDates){f="n";o=re(o)}u=a.dateNF||P._table[14]}else if(o===null&&a.nullError){f="e";o=0}if(!c)i[p]=c={t:f,v:o};else{c.t=f;c.v=o;delete c.w;delete c.R;if(u)c.z=u}if(u)c.z=u}})});f.e.c=Math.max(f.e.c,l+h.length-1);var p=ut(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}e.book_new=function(){return{SheetNames:[],Sheets:{}}};e.book_append_sheet=function(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");Cs(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r};e.book_set_sheet_visibility=function(e,r,a){t(e,"Workbook",{});t(e.Workbook,"Sheets",[]);var i=n(e,r);t(e.Workbook.Sheets,i,{});switch(a){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+a);}e.Workbook.Sheets[i].Hidden=a};r([["SHEET_VISIBLE",0],["SHEET_HIDDEN",1],["SHEET_VERY_HIDDEN",2]]);e.cell_set_number_format=function(e,r){e.z=r;return e};e.cell_set_hyperlink=function(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e};e.cell_set_internal_link=function(r,t,a){return e.cell_set_hyperlink(r,"#"+t,a)};e.cell_add_comment=function(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})};e.sheet_set_array_formula=function(e,r,t,n){var i=typeof r!="string"?r:St(r);var s=typeof r=="string"?r:xt(r);for(var l=i.s.r;l<=i.e.r;++l)for(var o=i.s.c;o<=i.e.c;++o){var c=a(e,l,o);c.t="n";c.F=s;delete c.v;if(l==i.s.r&&o==i.s.c){c.f=t;if(n)c.D=true}}return e};return e})(uo);if(typeof parse_xlscfb!=="undefined")e.parse_xlscfb=parse_xlscfb;e.parse_zip=vl;e.read=Tl;e.readFile=Dl;e.readFileSync=Dl;e.write=ql;e.writeFile=Ql;e.writeFileSync=Ql;e.writeFileAsync=ro;e.utils=uo;e.writeXLSX=Kl;e.writeFileXLSX=eo;e.SSF=P;if(typeof __stream!=="undefined")e.stream=__stream;if(typeof H!=="undefined")e.CFB=H;if(typeof require!=="undefined"){var ho=undefined;if((ho||{}).Readable)set_readable(ho.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} +var XLSX={};function make_xlsx_lib(e){e.version="0.18.4";var r=1200,t=1252;var a=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4];var n={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var i=function(e){if(a.indexOf(e)==-1)return;t=n[0]=e};function s(){i(1252)}var l=function(e){r=e;i(e)};function o(){l(1200);s()}function c(e){var r=[];for(var t=0,a=e.length;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function u(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var h=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return f(e.slice(2));if(r==254&&t==255)return u(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function so(e){return String.fromCharCode(e)};var d=function lo(e){return String.fromCharCode(e)};var m=null;var v=true;var g=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,l=0,o=0,c=0;for(var f=0;f>2;n=r.charCodeAt(f++);l=(a&3)<<4|n>>4;i=r.charCodeAt(f++);o=(n&15)<<2|i>>6;c=i&63;if(isNaN(n)){o=c=64}else if(isNaN(i)){c=64}t+=e.charAt(s)+e.charAt(l)+e.charAt(o)+e.charAt(c)}return t},decode:function(r){var t="";var a=0,n=0,i=0,s=0,l=0,o=0,c=0;r=r.replace(/[^\w\+\/\=]/g,"");for(var f=0;f>4;t+=String.fromCharCode(a);o=e.indexOf(r.charAt(f++));n=(l&15)<<4|o>>2;if(o!==64){t+=String.fromCharCode(n)}c=e.indexOf(r.charAt(f++));i=(o&3)<<6|c;if(c!==64){t+=String.fromCharCode(i)}}return t}}}();var b=typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node;var w=function(){};if(typeof Buffer!=="undefined"){var k=!Buffer.from;if(!k)try{Buffer.from("foo","utf8")}catch(y){k=true}w=k?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function x(e){return b?Buffer.alloc(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function S(e){return b?Buffer.allocUnsafe(e):typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var C=function oo(e){if(b)return w(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function _(e){if(typeof ArrayBuffer==="undefined")return C(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function A(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");var r=[];for(var t=0;t>6&31;n[t++]=128|s&63}else if(s>=55296&&s<57344){s=(s&1023)+64;var l=e.charCodeAt(++i)&1023;n[t++]=240|s>>8&7;n[t++]=128|s>>2&63;n[t++]=128|l>>6&15|(s&3)<<4;n[t++]=128|l&63}else{n[t++]=224|s>>12&15;n[t++]=128|s>>6&63;n[t++]=128|s&63}if(t>a){r.push(n.slice(0,t));t=0;n=x(65535);a=65530}}r.push(n.slice(0,t));return D(r)}var D=function(e){if(typeof Uint8Array!=="undefined"){var r=0,t=0;for(r=0;r=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function l(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var o=Math.pow(2,32);function c(e,r){if(e>o||e<-o)return s(e,r);var t=Math.round(e);return l(t,r)}function f(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var u=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var h=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function p(e){e[0]="General";e[1]="0";e[2]="0.00";e[3]="#,##0";e[4]="#,##0.00";e[9]="0%";e[10]="0.00%";e[11]="0.00E+00";e[12]="# ?/?";e[13]="# ??/??";e[14]="m/d/yy";e[15]="d-mmm-yy";e[16]="d-mmm";e[17]="mmm-yy";e[18]="h:mm AM/PM";e[19]="h:mm:ss AM/PM";e[20]="h:mm";e[21]="h:mm:ss";e[22]="m/d/yy h:mm";e[37]="#,##0 ;(#,##0)";e[38]="#,##0 ;[Red](#,##0)";e[39]="#,##0.00;(#,##0.00)";e[40]="#,##0.00;[Red](#,##0.00)";e[45]="mm:ss";e[46]="[h]:mm:ss";e[47]="mmss.0";e[48]="##0.0E+0";e[49]="@";e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var d={};p(d);var m=[];var v=0;for(v=5;v<=8;++v)m[v]=32+v;for(v=23;v<=26;++v)m[v]=0;for(v=27;v<=31;++v)m[v]=14;for(v=50;v<=58;++v)m[v]=14;for(v=59;v<=62;++v)m[v]=v-58;for(v=67;v<=68;++v)m[v]=v-58;for(v=72;v<=75;++v)m[v]=v-58;for(v=67;v<=68;++v)m[v]=v-57;for(v=76;v<=78;++v)m[v]=v-56;for(v=79;v<=81;++v)m[v]=v-34;var g={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function b(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,l=0;var o=1,c=0,f=0;var u=Math.floor(n);while(cr){if(c>r){f=o;l=i}else{f=c;l=s}}if(!t)return[0,a*l,f];var h=Math.floor(a*l/f);return[h,a*l-h*f,f]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var l={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(l.u)<1e-6)l.u=0;if(r&&r.date1904)a+=1462;if(l.u>.9999){l.u=0;if(++n==86400){l.T=n=0;++a;++l.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=T(o,s)}l.y=s[0];l.m=s[1];l.d=s[2];l.S=n%60;n=Math.floor(n/60);l.M=n%60;n=Math.floor(n/60);l.H=n;l.q=i;return l}e.parse_date_code=w;var k=new Date(1899,11,31,0,0,0);var y=k.getTime();var x=new Date(1900,2,1,0,0,0);function S(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=x)t+=24*60*60*1e3;return(t-(y+(e.getTimezoneOffset()-k.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function C(e){return e.toString(10)}e._general_int=C;var _=function U(){var e=/(?:\.0*|(\.\d*[1-9])0+)$/;function r(r){return r.indexOf(".")==-1?r:r.replace(e,"$1")}var t=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\d)$/;function n(e){if(e.indexOf("E")==-1)return e;return e.replace(t,"$1E").replace(a,"$10$2")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t==="0"||t==="-0"?e.toPrecision(6):t}function l(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return l}();e._general_num=_;function A(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):_(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return $(14,S(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=A;function T(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function F(e,r,t,n){var i="",s=0,l=0,o=t.y,c,f=0;switch(e){case 98:o=t.y+543;case 121:switch(r.length){case 1:;case 2:c=o%100;f=2;break;default:c=o%1e4;f=4;break;}break;case 109:switch(r.length){case 1:;case 2:c=t.m;f=r.length;break;case 3:return h[t.m-1][1];case 5:return h[t.m-1][0];default:return h[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:c=t.d;f=r.length;break;case 3:return u[t.q][0];default:return u[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:c=1+(t.H+11)%12;f=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:c=t.H;f=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:c=t.M;f=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)l=n===3?1e3:100;else l=n===1?10:1;s=Math.round(l*(t.S+t.u));if(s>=60*l)s=0;if(r==="s")return s===0?"0":""+s/l;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":c=t.D*24+t.H;break;case"[m]":;case"[mm]":c=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":c=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}f=r.length===3?1:2;break;case 101:c=o;f=1;break;}var p=f>0?a(c,f):"";return p}function E(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var D=function W(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return D(r,i,n*Math.pow(10,2*s))+t("%",s)}function l(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return D(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function o(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+o(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var f=/# (\?+)( ?)\/( ?)(\d+)/;function u(e,r,i){var s=parseInt(e[4],10),l=Math.round(r*s),o=Math.floor(l/s);var c=l-o*s,f=s;return i+(o===0?"":""+o)+" "+(c===0?t(" ",e[1].length+1+e[4].length):n(c,e[1].length)+e[2]+"/"+e[3]+a(f,e[4].length))}function h(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var p=/^#*0*\.([0#]+)/;var d=/\).*[0#]/;var m=/\(###\) ###\\?-####/;function v(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function g(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(""+Math.round(t*a)).length)return 0;return Math.round(t*a)}function k(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function y(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function x(e,h,S){if(e.charCodeAt(0)===40&&!h.match(d)){var C=h.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(S>=0)return x("n",C,S);return"("+x("n",C,-S)+")"}if(h.charCodeAt(h.length-1)===44)return l(e,h,S);if(h.indexOf("%")!==-1)return s(e,h,S);if(h.indexOf("E")!==-1)return o(h,S);if(h.charCodeAt(0)===36)return"$"+x(e,h.substr(h.charAt(1)==" "?2:1),S);var _;var A,T,F,O=Math.abs(S),M=S<0?"-":"";if(h.match(/^00+$/))return M+c(O,h.length);if(h.match(/^[#?]+$/)){_=c(S,0);if(_==="0")_="";return _.length>h.length?_:v(h.substr(0,h.length-_.length))+_}if(A=h.match(f))return u(A,O,M);if(h.match(/^#+0+$/))return M+c(O,h.length-h.indexOf("0"));if(A=h.match(p)){_=g(S,A[1].length).replace(/^([^\.]+)$/,"$1."+v(A[1])).replace(/\.$/,"."+v(A[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",v(A[1]).length-r.length)});return h.indexOf("0.")!==-1?_:_.replace(/^0\./,".")}h=h.replace(/^#+([0.])/,"$1");if(A=h.match(/^(0*)\.(#*)$/)){return M+g(O,A[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,A[1].length?"0.":".")}if(A=h.match(/^#{1,3},##0(\.?)$/))return M+E(c(O,0));if(A=h.match(/^#,##0\.([#0]*0)$/)){return S<0?"-"+x(e,h,-S):E(""+(Math.floor(S)+k(S,A[1].length)))+"."+a(w(S,A[1].length),A[1].length)}if(A=h.match(/^#,#*,#0/))return x(e,h.replace(/^#,#*,/,""),S);if(A=h.match(/^([0#]+)(\\?-([0#]+))+$/)){_=r(x(e,h.replace(/[\\-]/g,""),S));T=0;return r(r(h.replace(/\\/g,"")).replace(/[0#]/g,function(e){return T<_.length?_.charAt(T++):e==="0"?"0":""}))}if(h.match(m)){_=x(e,"##########",S);return"("+_.substr(0,3)+") "+_.substr(3,3)+"-"+_.substr(6)}var N="";if(A=h.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)){T=Math.min(A[4].length,7);F=b(O,Math.pow(10,T)-1,false);_=""+M;N=D("n",A[1],F[1]);if(N.charAt(N.length-1)==" ")N=N.substr(0,N.length-1)+"0";_+=N+A[2]+"/"+A[3];N=i(F[2],T);if(N.length=0)return A("n",o,l);return"("+A("n",o,-l)+")"}if(s.charCodeAt(s.length-1)===44)return S(e,s,l);if(s.indexOf("%")!==-1)return C(e,s,l);if(s.indexOf("E")!==-1)return _(s,l);if(s.charCodeAt(0)===36)return"$"+A(e,s.substr(s.charAt(1)==" "?2:1),l);var c;var u,g,w,k=Math.abs(l),y=l<0?"-":"";if(s.match(/^00+$/))return y+a(k,s.length);if(s.match(/^[#?]+$/)){c=""+l;if(l===0)c="";return c.length>s.length?c:v(s.substr(0,s.length-c.length))+c}if(u=s.match(f))return h(u,k,y);if(s.match(/^#+0+$/))return y+a(k,s.length-s.indexOf("0"));if(u=s.match(p)){c=(""+l).replace(/^([^\.]+)$/,"$1."+v(u[1])).replace(/\.$/,"."+v(u[1]));c=c.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",v(u[1]).length-r.length)});return s.indexOf("0.")!==-1?c:c.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(u=s.match(/^(0*)\.(#*)$/)){return y+(""+k).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,u[1].length?"0.":".")}if(u=s.match(/^#{1,3},##0(\.?)$/))return y+E(""+k);if(u=s.match(/^#,##0\.([#0]*0)$/)){return l<0?"-"+A(e,s,-l):E(""+l)+"."+t("0",u[1].length)}if(u=s.match(/^#,#*,#0/))return A(e,s.replace(/^#,#*,/,""),l);if(u=s.match(/^([0#]+)(\\?-([0#]+))+$/)){c=r(A(e,s.replace(/[\\-]/g,""),l));g=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return g-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=N;function P(e,r,t,a){var n=[],i="",s=0,l="",o="t",c,u,h;var p="H";while(s=12?"P":"A";v.t="T";p="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(c!=null)v.v=c.H>=12?"PM":"AM";v.t="T";s+=5;p="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(c!=null)v.v=c.H>=12?"下午":"上午";v.t="T";s+=5;p="h"}else{v.t="t";++s}if(c==null&&v.t==="T")return"";n[n.length]=v;o=l;break;case"[":i=l;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!N(e))n[n.length]={t:"t",v:i}}break;case".":if(c!=null){i=l;while(++s-1)i+=l;n[n.length]={t:"n",v:i};break;case"?":i=l;while(e.charAt(++s)===l)i+=l;n[n.length]={t:l,v:i};o=l;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":l,v:l};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=l;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:l,v:l};++s;break;case"$":n[n.length]={t:"t",v:"$"};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(l)===-1)throw new Error("unrecognized character "+l+" in "+e);n[n.length]={t:"t",v:l};++s;break;}}var g=0,b=0,k;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=p;o="h";if(g<1)g=1;break;case"s":if(k=n[s].v.match(/\.0+$/))b=Math.max(b,k[0].length-1);if(g<3)g=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(g<2)g=2}break;case"X":break;case"Z":if(g<1&&n[s].v.match(/[Hh]/))g=1;if(g<2&&n[s].v.match(/[Mm]/))g=2;if(g<3&&n[s].v.match(/[Ss]/))g=3;}}switch(g){case 0:break;case 1:if(c.u>=.5){c.u=0;++c.S}if(c.S>=60){c.S=0;++c.M}if(c.M>=60){c.M=0;++c.H}break;case 2:if(c.u>=.5){c.u=0;++c.S}if(c.S>=60){c.S=0;++c.M}break;}var y="",x;for(s=0;s0){if(y.charCodeAt(0)==40){C=r<0&&y.charCodeAt(0)===45?-r:r;_=D("n",y,C)}else{C=r<0&&a>1?-r:r;_=D("n",y,C);if(C<0&&n[0]&&n[0].t=="t"){_=_.substr(1);n[0].v="-"+n[0].v}}x=_.length-1;var T=n.length;for(s=0;s-1){T=s;break}var E=n.length;if(T===n.length&&_.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(x>=n[s].v.length-1){x-=n[s].v.length;n[s].v=_.substr(x+1,n[s].v.length)}else if(x<0)n[s].v="";else{n[s].v=_.substr(0,x+1);x=-1}n[s].t="t";E=s}if(x>=0&&E=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;u=n[s].v.indexOf(".")>-1&&s===T?n[s].v.indexOf(".")-1:n[s].v.length-1;S=n[s].v.substr(u+1);for(;u>=0;--u){if(x>=0&&(n[s].v.charAt(u)==="0"||n[s].v.charAt(u)==="#"))S=_.charAt(x--)+S}n[s].v=S;n[s].t="t";E=s}if(x>=0&&E-1&&s===T?n[s].v.indexOf(".")+1:0;S=n[s].v.substr(0,u);for(;u-1){C=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=D(n[s].t,n[s].v,C);n[s].t="t"}var O="";for(s=0;s!==n.length;++s)if(n[s]!=null)O+=n[s].v;return O}e._eval=P;var I=/\[[=<>]/;var R=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function L(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function B(e,r){var t=O(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(I)!=null||t[1].match(I)!=null){var s=t[0].match(R);var l=t[1].match(R);return L(r,s)?[a,t[0]]:L(r,l)?[a,t[1]]:[a,t[s!=null&&l!=null?2:1]]}return[a,i]}function $(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:d)[e];if(a==null)a=t.table&&t.table[m[e]]||d[m[e]];if(a==null)a=g[e]||"General";break;}if(f(a,0))return A(r,t);if(r instanceof Date)r=S(r,t.date1904);var n=B(a,r);if(f(n[1]))return A(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return P(n[1],r,t,n[0])}function z(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(d[t]==undefined){if(r<0)r=t;continue}if(d[t]==e){r=t;break}}if(r<0)r=391}d[r]=e;return r}e.load=z;e._table=d;e.get_table=function j(){return d};e.load_table=function H(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)z(e[r],r)};e.init_table=p;e.format=$}P(N);var I={"General Number":"General","General Date":N._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":N._table[15],"Short Date":N._table[14],"Long Time":N._table[19],"Medium Time":N._table[18],"Short Time":N._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:N._table[2],Standard:N._table[4],Percent:N._table[10],Scientific:N._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var R={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var L=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function B(e){var r=typeof e=="number"?N._table[e]:e;r=r.replace(L,"(\\d+)");return new RegExp("^"+r+"$")}function z(e,r,t){var a=-1,n=-1,i=-1,s=-1,l=-1,o=-1;(r.match(L)||[]).forEach(function(e,r){var c=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=c;break;case"d":i=c;break;case"h":s=c;break;case"s":o=c;break;case"m":if(s>=0)l=c;else n=c;break;}});if(o>=0&&l==-1&&n>=0){l=n;n=-1}var c=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(c.length==7)c="0"+c;if(c.length==8)c="20"+c;var f=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);if(s==-1&&l==-1&&o==-1)return c;if(a==-1&&n==-1&&i==-1)return f;return c+"T"+f}var U=function(){var e={};e.version="1.2.0";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!=="undefined"?new Int32Array(r):r}var t=r();function a(e){var r=0,t=0,a=0,n=typeof Int32Array!=="undefined"?new Int32Array(4096):new Array(4096);for(a=0;a!=256;++a)n[a]=e[a];for(a=0;a!=256;++a){t=e[a];for(r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[t&255]}var i=[];for(a=1;a!=16;++a)i[a-1]=typeof Int32Array!=="undefined"?n.subarray(a*256,a*256+256):n.slice(a*256,a*256+256);return i}var n=a(t);var i=n[0],s=n[1],l=n[2],o=n[3],c=n[4];var f=n[5],u=n[6],h=n[7],p=n[8],d=n[9];var m=n[10],v=n[11],g=n[12],b=n[13],w=n[14];function k(e,r){var a=r^-1;for(var n=0,i=e.length;n>>8^t[(a^e.charCodeAt(n++))&255];return~a}function y(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^g[e[k++]^a>>16&255]^v[e[k++]^a>>>24]^m[e[k++]]^d[e[k++]]^p[e[k++]]^h[e[k++]]^u[e[k++]]^f[e[k++]]^c[e[k++]]^o[e[k++]]^l[e[k++]]^s[e[k++]]^i[e[k++]]^t[e[k++]]; +n+=15;while(k>>8^t[(a^e[k++])&255];return~a}function x(e,r){var a=r^-1;for(var n=0,i=e.length,s=0,l=0;n>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;l=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|l>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|l&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return~a}e.table=t;e.bstr=k;e.buf=y;e.str=x;return e}();var W=function co(){var e={};e.version="1.2.1";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var l=r&63;r>>>=6;a.setHours(r);a.setMinutes(l);a.setSeconds(s<<1);return a}function s(e){Qr(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var l;function o(){return l||(l=undefined)}function c(e,r){if(e[0]==80&&e[1]==75)return Me(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return Ue(e,r);if(e.length<512)throw new Error("CFB file size "+e.length+" < 512");var t=3;var a=512;var n=0;var i=0;var s=0;var l=0;var o=0;var c=[];var d=e.slice(0,512);Qr(d,0);var v=f(d);t=v[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(v[1]==0)return Me(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){d=e.slice(0,a);Qr(d,28)}var g=e.slice(0,a);u(d,t);var b=d._R(4,"i");if(t===3&&b!==0)throw new Error("# Directory Sectors: Expected 0 saw "+b);d.l+=4;s=d._R(4,"i");d.l+=4;d.chk("00100000","Mini Stream Cutoff Size: ");l=d._R(4,"i");n=d._R(4,"i");o=d._R(4,"i");i=d._R(4,"i");for(var w=-1,x=0;x<109;++x){w=d._R(4,"i");if(w<0)break;c[x]=w}var S=h(e,a);m(o,i,S,a,c);var C=k(S,s,c,a);C[s].name="!Directory";if(n>0&&l!==L)C[l].name="!MiniFAT";C[c[0]].name="!FAT";C.fat_addrs=c;C.ssz=a;var _={},A=[],T=[],F=[];y(s,C,S,A,n,_,T,l);p(T,F,A);A.shift();var E={FileIndex:T,FullPaths:F};if(r&&r.raw)E.raw={header:g,sectors:S};return E}function f(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(B,"Header Signature: ");e.l+=16;var r=e._R(2,"u");return[e._R(2,"u"),r]}function u(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function h(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*R,s*R+R));n-=R;s=Vr(t,s*4)}if(i.length===0)return rt(0);return D(i).slice(0,e.size)}function m(e,r,t,a,n){var i=L;if(e===L){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],l=(a>>>2)-1;if(!s)return;for(var o=0;o=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var f=t[Math.floor(o*4/a)];c=o*4&l;if(a<4+c)throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[f])break;o=Vr(e[f],c)}return{nodes:i,data:wr([s])}}function k(e,r,t,a){var n=e.length,i=[];var s=[],l=[],o=[];var c=a-1,f=0,u=0,h=0,p=0;for(f=0;f=n)h-=n;if(s[h])continue;o=[];var d=[];for(u=h;u>=0;){d[u]=true;s[u]=true;l[l.length]=u;o.push(e[u]);var m=t[Math.floor(u*4/a)];p=u*4&c;if(a<4+p)throw new Error("FAT boundary crossed: "+u+" 4 "+a);if(!e[m])break;u=Vr(e[m],p);if(d[u])break}i[h]={nodes:l,data:wr([o])}}return i}function y(e,r,t,a,n,i,s,l){var o=0,c=a.length?2:0;var f=r[e].data;var u=0,h=0,p;for(;u0&&o!==L)r[o].name="!StreamData"}else if(g.size>=4096){g.storage="fat";if(r[g.start]===undefined)r[g.start]=v(t,g.start,r.fat_addrs,r.ssz);r[g.start].name=g.name;g.content=r[g.start].data.slice(0,g.size)}else{g.storage="minifat";if(g.size<0)g.size=0;else if(o!==L&&g.start!==L&&r[o]){g.content=d(g,r[o].data,(r[l]||{}).data)}}if(g.content)Qr(g.content,0);i[p]=g;s.push(g)}}function _(e,r){return new Date((Hr(e,r+4)/1e7*Math.pow(2,32)+Hr(e,r)/1e7-11644473600)*1e3)}function A(e,r){o();return c(l.readFileSync(e),r)}function T(e,r){var t=r&&r.type;if(!t){if(b&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return A(e,r);case"base64":return c(C(g.decode(e)),r);case"binary":return c(C(e),r);}return c(e,r)}function F(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;E(e)}function E(e){var r="Sh33tJ5";if(W.find(e,"/"+r))return;var t=rt(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);N(e)}function N(e,n){F(e);var i=false,s=false;for(var l=e.FullPaths.length-1;l>=0;--l){var o=e.FileIndex[l];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var c=new Date(1987,1,19),f=0;var u=Object.create?Object.create(null):{};var h=[];for(l=0;l1?1:-1;d.size=0;d.type=5}else if(m.slice(-1)=="/"){for(f=l+1;f=h.length?-1:f;for(f=l+1;f=h.length?-1:f;d.type=1}else{if(t(e.FullPaths[l+1]||"")==t(m))d.R=l+1;d.type=2}}}function P(e,r){var t=r||{};if(t.fileType=="mad")return We(e,t);N(e);switch(t.fileType){case"zip":return Pe(e,t);}var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var l=r+7>>3;var o=r+127>>7;var c=l+t+s+o;var f=c+127>>7;var u=f<=109?0:Math.ceil((f-109)/127);while(c+f+u+127>>7>f)u=++f<=109?0:Math.ceil((f-109)/127);var h=[1,u,f,o,s,t,r,0];e.FileIndex[0].size=r<<6;h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3);return h}(e);var n=rt(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,$[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:L);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:L);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}l(a[6]+7>>3);while(n.l&511)n._W(-4,j.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;f.start=s;l(c+63>>6)}while(n.l&511)n._W(-4,j.ENDOFCHAIN);for(i=0;i=4096){n.l=f.start+1<<9;if(b&&Buffer.isBuffer(f.content)){f.content.copy(n,n.l,0,f.size);n.l+=f.size+511&-512}else{for(o=0;o0&&f.size<4096){if(b&&Buffer.isBuffer(f.content)){f.content.copy(n,n.l,0,f.size);n.l+=f.size+63&-64}else{for(o=0;o>16|r>>8|r)&255}var re=typeof Uint8Array!=="undefined";var te=re?new Uint8Array(1<<8):[];for(var ae=0;ae<1<<8;++ae)te[ae]=ee(ae);function ne(e,r){var t=te[e&255];if(r<=8)return t>>>8-r;t=t<<8|te[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|te[e>>16&255];return t>>>24-r}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function le(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function ce(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function fe(e,r,t){var a=r&7,n=r>>>3,i=(1<>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ue(e,r,t){var a=r&7,n=r>>>3;if(a<=5)e[n]|=(t&7)<>8-a}return r+3}function he(e,r,t){var a=r&7,n=r>>>3;t=(t&1)<>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t;return r+8}function de(e,r,t){var a=r&7,n=r>>>3;t<<=a;e[n]|=t&255;t>>>=8;e[n+1]=t&255;e[n+2]=t>>>8;return r+16}function me(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(b){var i=S(a);if(e.copy)e.copy(i);else for(;n>a-u;for(s=(1<=0;--s)r[l|s<0)r[r.l++]=e[t++]}return r.l}function i(r,t){var n=0;var i=0;var s=re?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ue(t,n,+!!(i+l==r.length)+2);var o=0;while(l-- >0){var c=r[i];o=(o<<5^c)&32767;var f=-1,u=0;if(f=s[o]){f|=i&~32767;if(f>i)f-=32768;if(f2){c=a[u];if(c<=22)n=pe(t,n,te[c+1]>>1)-1;else{pe(t,n,3);n+=5;pe(t,n,te[c-23]>>5);n+=3}var h=c<8?0:c-4>>2;if(h>0){de(t,n,u-Z[c]);n+=h}c=e[i-f];n=pe(t,n,te[c]>>3);n-=3;var p=c<4?0:c-2>>1;if(p>0){de(t,n,i-f-Q[c]);n+=p}for(var d=0;d>8-d;for(var m=(1<<7-d)-1;m>=0;--m)_e[p|m<>>=3){case 16:i=3+ie(e,r);r+=2;p=v[v.length-1];while(i-- >0)v.push(p);break;case 17:i=3+se(e,r);r+=3;while(i-- >0)v.push(0);break;case 18:i=11+ce(e,r);r+=7;while(i-- >0)v.push(0);break;default:v.push(p);if(o>>0;var l=0,o=0;while((a&1)==0){a=se(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var c=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(c>0){if(!r&&s0){n[i++]=e[t>>>3];t+=8}}continue}else if(a>>1==1){l=9;o=5}else{t=Fe(e,t);l=Ae;o=Te}for(;;){if(!r&&s>>1==1?be[f]:Se[f];t+=u&15;u>>>=4;if((u>>>8&255)===0)n[i++]=u;else if(u==256)break;else{u-=257;var h=u<8?0:u-4>>2;if(h>5)h=0;var p=i+Z[u];if(h>0){p+=fe(e,t,h);t+=h}f=fe(e,t,o);u=a>>>1==1?we[f]:Ce[f];t+=u&15;u>>>=4;var d=u<4?0:u-2>>1;var m=Q[u];if(d>0){m+=fe(e,t,d);t+=d}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function De(e,r){var t=e.slice(e.l||0);var a=Ee(t,r);e.l+=a[1];return a[0]}function Oe(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Me(e,r){var t=e;Qr(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};F(i,{root:r.root});var l=t.length-4;while((t[l]!=80||t[l+1]!=75||t[l+2]!=5||t[l+3]!=6)&&l>=0)--l;t.l=l+4;t.l+=4;var o=t._R(2);t.l+=6;var c=t._R(4);t.l=c;for(l=0;l0){t=t.slice(0,t.length-1);t=t.slice(0,t.lastIndexOf("/")+1);if(i.slice(0,t.length)==t)break}}var s=(a[1]||"").match(/boundary="(.*?)"/);if(!s)throw new Error("MAD cannot find boundary");var l="--"+(s[1]||"");var o=[],c=[];var f={FileIndex:o,FullPaths:c};F(f);var u,h=0;for(n=0;n=32&&p<128)++u;var m=u>=h*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64"));n.push("Content-Type: "+Re(l,s));n.push("");n.push(m?Be(f):Le(f))}n.push(a+"--\r\n");return n.join("\r\n")}function je(e){var r={};F(r,e);return r}function He(e,r,t,n){var i=n&&n.unsafe;if(!i)F(e);var s=!i&&W.find(e,r);if(!s){var l=e.FullPaths[0];if(r.slice(0,l.length)==l)l=r;else{if(l.slice(-1)!="/")l+="/";l=(l+r).replace("//","/")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(l);if(!i)W.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function Ve(e,r){F(e);var t=W.find(e,r);if(t)for(var a=0;a3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var ie=new Date("2017-02-19T19:06:09.000Z");if(isNaN(ie.getFullYear()))ie=new Date("2/19/17");var se=ie.getFullYear()==2017;function le(e,r){var t=new Date(e);if(se){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(ie.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function oe(e,r){if(b&&Buffer.isBuffer(e)){ +if(r){if(e[0]==255&&e[1]==254)return e.slice(2).toString("utf16le");if(e[1]==254&&e[2]==255)return u(e.slice(2).toString("binary"))}return e.toString("binary")}var t=[];for(var a=0;a!=e.length;++a)t.push(String.fromCharCode(e[a]));return t.join("")}function ce(e){if(typeof JSON!="undefined"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!="object"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=ce(e[t]);return r}function fe(e,r){var t="";while(t.length3&&he.indexOf(s)==-1)return t}else if(s.match(/[a-z]/))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var de="abacaba".split(/(:?b)/i).length==5;function me(e,r,t){if(de||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Oe=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm;if(!Ee.match(Oe))Oe=/<[^>]*>/g;var Me=/<\w*:/,Ne=/<(\/?)\w+:/;function Pe(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(De),l=0,o="",c=0,f="",u="",h=1;if(s)for(c=0;c!=s.length;++c){u=s[c];for(i=0;i!=u.length;++i)if(u.charCodeAt(i)===61)break;f=u.slice(0,i).trim();while(u.charCodeAt(i+1)==32)++i;h=(n=u.charCodeAt(i+1))==34||n==39?1:0;o=u.slice(i+1+h,u.length-h);for(l=0;l!=f.length;++l)if(f.charCodeAt(l)===58)break;if(l===f.length){if(f.indexOf("_")>0)f=f.slice(0,f.indexOf("_"));a[f]=o;if(!t)a[f.toLowerCase()]=o}else{var p=(l===5&&f.slice(0,5)==="xmlns"?"xmlns":"")+f.slice(l+1);if(a[p]&&f.slice(l-3,l)=="ext")continue;a[p]=o;if(!t)a[p.toLowerCase()]=o}}return a}function Ie(e){return e.replace(Ne,"<$1")}var Re={""":'"',"'":"'",">":">","<":"<","&":"&"};var Le=J(Re);var Be=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var $e=/[&<>'"]/g,ze=/[\u0000-\u0008\u000b-\u001f]/g;function Ue(e){var r=e+"";return r.replace($e,function(e){return Le[e]}).replace(ze,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function We(e){return Ue(e).replace(/ /g,"_x0020_")}var je=/[\u0000-\u001f]/g;function He(e){var r=e+"";return r.replace($e,function(e){return Le[e]}).replace(/\n/g,"
").replace(je,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Ve(e){var r=e+"";return r.replace($e,function(e){return Le[e]}).replace(je,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var Xe=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();function Ge(e){return e.replace(/(\r\n|[\r\n])/g," ")}function Ye(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var Je=function fo(e){var r="",t=0,a=0,n=0,i=0,s=0,l=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);l=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(l>>>10&1023));r+=String.fromCharCode(56320+(l&1023))}return r};var Ke=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(b){var qe=function uo(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,l;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var Ze="foo bar baz☃🍣";if(Je(Ze)==qe(Ze))Je=qe;var Qe=function ho(e){return w(e,"binary").toString("utf8")};if(Je(Ze)==Qe(Ze))Je=Qe;Ke=function(e){return w(e,"utf8").toString("binary")}}var er=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var rr=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function r(t){var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var ar=/<\/?(?:vt:)?variant>/g,nr=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function or(e){return G(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function cr(e,r,t){return"<"+e+(t!=null?or(t):"")+(r!=null?(r.match(sr)?' xml:space="preserve"':"")+">"+r+""}function fr(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function ur(e,r){switch(typeof e){case"string":var t=cr("vt:lpwstr",Ue(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return cr((e|0)==e?"vt:i4":"vt:r8",Ue(String(e)));case"boolean":return cr("vt:bool",e?"true":"false");}if(e instanceof Date)return cr("vt:filetime",fr(e));throw new Error("Unable to serialize "+e)}function hr(e){if(b&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return Je(A(F(e)));throw new Error("Bad input format: expected Buffer or string")}var pr=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm;var dr={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"};var mr=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var vr={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"};function gr(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function br(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var wr=function(e){var r=[],t=10240;for(var a=0;a0?_r(e,r+4,r+4+t-1):""};var Fr=Tr;var Er=function(e,r){var t=Hr(e,r);return t>0?_r(e,r+4,r+4+t-1):""};var Dr=Er;var Or=function(e,r){var t=2*Hr(e,r);return t>0?_r(e,r+4,r+4+t-1):""};var Mr=Or;var Nr,Pr;Nr=Pr=function po(e,r){var t=Hr(e,r);return t>0?yr(e,r+4,r+4+t):""};var Ir=function(e,r){var t=Hr(e,r);return t>0?_r(e,r+4,r+4+t):""};var Rr=Ir;var Lr,Br;Lr=Br=function(e,r){return gr(e,r)};var $r=function mo(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(b){yr=function(e,r,t){if(!Buffer.isBuffer(e))return xr(e,r,t);return e.toString("utf16le",r,t).replace(O,"")};Sr=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):Cr(e,r,t)};Tr=function vo(e,r){if(!Buffer.isBuffer(e))return Fr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Er=function go(e,r){if(!Buffer.isBuffer(e))return Dr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Or=function bo(e,r){if(!Buffer.isBuffer(e))return Mr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Nr=function wo(e,r){if(!Buffer.isBuffer(e))return Pr(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};Ir=function ko(e,r){if(!Buffer.isBuffer(e))return Rr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};_r=function yo(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):Ar(e,r,t)};wr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:w(e)})):kr(e)};D=function(e){return Buffer.concat(e.map(function(e){return Buffer.isBuffer(e)?e:w(e)}))};Lr=function xo(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Br(e,r)};$r=function So(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function zr(){yr=function(e,r,t){return $cptable.utils.decode(1200,e.slice(r,t)).replace(O,"")};_r=function(e,r,t){return $cptable.utils.decode(65001,e.slice(r,t))};Tr=function(e,r){var a=Hr(e,r);return a>0?$cptable.utils.decode(t,e.slice(r+4,r+4+a-1)):""};Er=function(e,t){var a=Hr(e,t);return a>0?$cptable.utils.decode(r,e.slice(t+4,t+4+a-1)):""};Or=function(e,r){var t=2*Hr(e,r);return t>0?$cptable.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Nr=function(e,r){var t=Hr(e,r);return t>0?$cptable.utils.decode(1200,e.slice(r+4,r+4+t)):""};Ir=function(e,r){var t=Hr(e,r);return t>0?$cptable.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof $cptable!=="undefined")zr();var Ur=function(e,r){return e[r]};var Wr=function(e,r){return e[r+1]*(1<<8)+e[r]};var jr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var Hr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Vr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var Xr=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Gr(e,t){var a="",n,i,s=[],l,o,c,f;switch(t){case"dbcs":f=this.l;if(b&&Buffer.isBuffer(this))a=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?Vr:Xr)(this,this.l);this.l+=4;return n}else{i=Hr(this,this.l);this.l+=4}return i;case 8:;case-8:if(t==="f"){if(e==8)i=Lr(this,this.l);else i=Lr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return i}else e=8;case 16:a=Sr(this,this.l,e);break;};}this.l+=e;return a}var Yr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var Kr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function qr(e,r,a){var n=0,i=0;if(a==="dbcs"){for(i=0;i!=r.length;++i)Kr(this,r.charCodeAt(i),this.l+2*i);n=2*r.length}else if(a==="sbcs"){if(typeof $cptable!=="undefined"&&t==874){for(i=0;i!=r.length;++i){var s=$cptable.utils.encode(t,r.charAt(i));this[this.l+i]=s[0]}}else{r=r.replace(/[^\x00-\x7F]/g,"_");for(i=0;i!=r.length;++i)this[this.l+i]=r.charCodeAt(i)&255}n=r.length}else if(a==="hex"){for(;i>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:n=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:n=4;Yr(this,r,this.l);break;case 8:n=8;if(a==="f"){br(this,r,this.l);break};case 16:break;case-4:n=4;Jr(this,r,this.l);break;}this.l+=n;return this}function Zr(e,r){var t=Sr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function Qr(e,r){e.l=r;e._R=Gr;e.chk=Zr;e._W=qr}function et(e,r){e.l+=r}function rt(e){var r=x(e);Qr(r,0);return r}function tt(e,r,t){if(!e)return;var a,n,i;Qr(e,e.l||0);var s=e.length,l=0,o=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function f(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var l=0;l!=4;++l){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&$r(t))e.push(t)}function it(e,r,t){var a=ce(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function st(e,r,t){var a=ce(e);a.s=it(a.s,r.s,t);a.e=it(a.e,r.s,t);return a}function lt(e,r){if(e.cRel&&e.c<0){e=ce(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=ce(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=wt(e);if(!e.cRel&&e.cRel!=null)t=mt(t);if(!e.rRel&&e.rRel!=null)t=ut(t);return t}function ot(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?"":"$")+dt(e.s.c)+":"+(e.e.cRel?"":"$")+dt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+ft(e.s.r)+":"+(e.e.rRel?"":"$")+ft(e.e.r)}}return lt(e.s,r.biff)+":"+lt(e.e,r.biff)}function ct(e){return parseInt(ht(e),10)-1}function ft(e){return""+(e+1)}function ut(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function ht(e){return e.replace(/\$(\d+)$/,"$1")}function pt(e){var r=vt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function dt(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function mt(e){return e.replace(/^([A-Z])/,"$$$1")}function vt(e){return e.replace(/^\$([A-Z])/,"$1")}function gt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function bt(e){var r=0,t=0;for(var a=0;a=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function wt(e){var r=e.c+1;var t="";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function kt(e){var r=e.indexOf(":");if(r==-1)return{s:bt(e),e:bt(e)};return{s:bt(e.slice(0,r)),e:bt(e.slice(r+1))}}function yt(e,r){if(typeof r==="undefined"||typeof r==="number"){return yt(e.s,e.e)}if(typeof e!=="string")e=wt(e);if(typeof r!=="string")r=wt(r);return e==r?e:e+":"+r}function xt(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||n!=10){r.e.c=r.s.c;r.e.r=r.s.r;return r}++a;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function St(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=N.format(e.z,t?Q(r):r)}catch(a){}try{return e.w=N.format((e.XF||{}).numFmtId||(t?14:0),t?Q(r):r)}catch(a){return""+r}}function Ct(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(e.t=="e")return Yt[e.v]||e.v;if(r==undefined)return St(e,e.v);return St(e,r)}function _t(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function At(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(m!=null&&n==null)n=m;var i=e||(n?[]:{});var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?bt(a.origin):a.origin;s=o.r;l=o.c}if(!i["!ref"])i["!ref"]="A1:A1"}var c={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var f=xt(i["!ref"]);c.s.c=f.s.c;c.s.r=f.s.r;c.e.c=Math.max(c.e.c,f.e.c);c.e.r=Math.max(c.e.r,f.e.r);if(s==-1)c.e.r=s=f.e.r+1}for(var u=0;u!=r.length;++u){if(!r[u])continue;if(!Array.isArray(r[u]))throw new Error("aoa_to_sheet expects an array of arrays");for(var h=0;h!=r[u].length;++h){if(typeof r[u][h]==="undefined")continue;var p={v:r[u][h]};var d=s+u,v=l+h;if(c.s.r>d)c.s.r=d;if(c.s.c>v)c.s.c=v;if(c.e.r>16&255,e>>8&255,e&255]})}var Xt=Vt([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Gt=ce(Xt);var Yt={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Jt=K(Yt);var Kt={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO", +"application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var qt={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Zt(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function Qt(e){var r=Zt();if(!e||!e.match)return r;var t={};(e.match(Oe)||[]).forEach(function(e){var a=Pe(e);switch(a[0].replace(Me,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var ea=cr("Types",null,{xmlns:dr.CT,"xmlns:xsd":dr.xsd,"xmlns:xsi":dr.xsi});function ra(e,r){var t=q(Kt);var a=[],n;a[a.length]=Ee;a[a.length]=ea;a=a.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return cr("Default",null,{Extension:e[0],ContentType:e[1]})}));var i=function(t){if(e[t]&&e[t].length>0){n=e[t][0];a[a.length]=cr("Override",null,{PartName:(n[0]=="/"?"":"/")+n,ContentType:qt[t][r.bookType]||qt[t]["xlsx"]})}};var s=function(t){(e[t]||[]).forEach(function(e){a[a.length]=cr("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:qt[t][r.bookType]||qt[t]["xlsx"]})})};var l=function(r){(e[r]||[]).forEach(function(e){a[a.length]=cr("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:t[r][0]})})};i("workbooks");s("sheets");s("charts");l("themes");["strs","styles"].forEach(i);["coreprops","extprops","custprops"].forEach(l);l("vba");l("comments");l("threadedcomments");l("drawings");s("metadata");l("people");if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var ta={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function aa(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function na(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Oe)||[]).forEach(function(e){var n=Pe(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var la=[ta.HLINK,ta.XPATH,ta.XMISS];function oa(e,r,t,a,n,i){if(!n)n={};if(!e["!id"])e["!id"]={};if(!e["!idx"])e["!idx"]=1;if(r<0)for(r=e["!idx"];e["!id"]["rId"+r];++r){}e["!idx"]=r+1;n.Id="rId"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if(la.indexOf(n.Type)>-1)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var ca="application/vnd.oasis.opendocument.spreadsheet";function fa(e,r){var t=hr(e);var a;var n;while(a=pr.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Pe(a[0],false);if(n.path=="/"&&n.type!==ca)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function ua(e){var r=[Ee];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function ha(e,r,t){return[' \n',' \n'," \n"].join("")}function pa(e,r){return[' \n',' \n'," \n"].join("")}function da(e){var r=[Ee];r.push('\n');for(var t=0;t!=e.length;++t){r.push(ha(e[t][0],e[t][1]));r.push(pa("",e[t][0]))}r.push(ha("","Document","pkg"));r.push("");return r.join("")}function ma(){return'Sheet'+"JS "+e.version+""}var va=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]];var ga=function(){var e=new Array(va.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function ba(e){var r={};e=Je(e);for(var t=0;t0)r[a[1]]=Be(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=le(r[a[1]])}return r}function wa(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=Ue(r);a[a.length]=t?cr(e,r,t):lr(e,r)}function ka(e,r){var t=r||{};var a=[Ee,cr("cp:coreProperties",null,{"xmlns:cp":dr.CORE_PROPS,"xmlns:dc":dr.dc,"xmlns:dcterms":dr.dcterms,"xmlns:dcmitype":dr.dcmitype,"xmlns:xsi":dr.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)wa("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:fr(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)wa("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:fr(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=va.length;++i){var s=va[i];var l=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(l===true)l="1";else if(l===false)l="0";else if(typeof l=="number")l=String(l);if(l!=null)wa(s[0],l,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var ya=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];var xa=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Sa(e,r,t,a){var n=[];if(typeof e=="string")n=ir(e,a);else for(var i=0;i0)for(var c=0;c!==n.length;c+=2){o=+n[c+1].v;switch(n[c].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Hojas de cálculo":;case"Werkbladen":t.Worksheets=o;t.SheetNames=s.slice(l,l+o);break;case"Named Ranges":;case"Rangos con nombre":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":t.NamedRanges=o;t.DefinedNames=s.slice(l,l+o);break;case"Charts":;case"Diagramme":t.Chartsheets=o;t.ChartNames=s.slice(l,l+o);break;}l+=o}}function Ca(e,r,t){var a={};if(!r)r={};e=Je(e);ya.forEach(function(t){var n=(e.match(er(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=Be(n);break;case"bool":r[t[1]]=n==="true";break;case"raw":var i=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)Sa(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function _a(e){var r=[],t=cr;if(!e)e={};e.Application="SheetJS";r[r.length]=Ee;r[r.length]=cr("Properties",null,{xmlns:dr.EXT_PROPS,"xmlns:vt":dr.vt});ya.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=Ue(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+Ue(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Aa=/<[^>]+>[^<]*/g;function Ta(e,r){var t={},a="";var n=e.match(Aa);if(n)for(var i=0;i!=n.length;++i){var s=n[i],l=Pe(s);switch(l[0]){case"":a=null;break;default:if(s.indexOf("");var c=o[0].slice(4),f=o[1];switch(c){case"lpstr":;case"bstr":;case"lpwstr":t[a]=Be(f);break;case"bool":t[a]=Ye(f);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(f,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(f);break;case"filetime":;case"date":t[a]=le(f);break;case"cy":;case"error":t[a]=Be(f);break;default:if(c.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,c,o);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ea=[2,3,48,49,131,139,140,245];var Da=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969};var r=J({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function a(r,t){var a=[];var n=x(1);switch(t.type){case"base64":n=C(g.decode(r));break;case"binary":n=C(r);break;case"buffer":;case"array":n=r;break;}Qr(n,0);var i=n._R(1);var s=!!(i&136);var l=false,o=false;switch(i){case 2:break;case 3:break;case 48:l=true;s=true;break;case 49:l=true;s=true;break;case 131:break;case 139:break;case 140:o=true;break;case 245:break;default:throw new Error("DBF Unsupported Version: "+i.toString(16));}var c=0,f=521;if(i==2)c=n._R(2);n.l+=3;if(i!=2)c=n._R(4);if(c>1048576)c=1e6;if(i!=2)f=n._R(2);var u=n._R(2);var h=t.codepage||1252;if(i!=2){n.l+=16;n._R(1);if(n[n.l]!==0)h=e[n[n.l]];n.l+=1;n.l+=2}if(o)n.l+=36;var p=[],d={};var m=Math.min(n.length,i==2?521:f-10-(l?264:0));var v=o?32:11;while(n.l0){if(n[n.l]===42){n.l+=u;continue}++n.l;a[++b]=[];w=0;for(w=0;w!=p.length;++w){var k=n.slice(n.l,n.l+p[w].len);n.l+=p[w].len;Qr(k,0);var y=$cptable.utils.decode(h,k);switch(p[w].type){case"C":if(y.trim().length)a[b][w]=y.replace(/\s+$/,"");break;case"D":if(y.length===8)a[b][w]=new Date(+y.slice(0,4),+y.slice(4,6)-1,+y.slice(6,8));else a[b][w]=y;break;case"F":a[b][w]=parseFloat(y.trim());break;case"+":;case"I":a[b][w]=o?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(y.trim().toUpperCase()){case"Y":;case"T":a[b][w]=true;break;case"N":;case"F":a[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+y+"|");}break;case"M":if(!s)throw new Error("DBF Unexpected MEMO for type "+i.toString(16));a[b][w]="##MEMO##"+(o?parseInt(y.trim(),10):k._R(4));break;case"N":y=y.replace(/\u0000/g,"").trim();if(y&&y!=".")a[b][w]=+y||0;break;case"@":a[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":a[b][w]=new Date((k._R(4)-2440588)*864e5+k._R(4));break;case"Y":a[b][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":a[b][w]=-k._R(-8,"f");break;case"B":if(l&&p[w].len==8){a[b][w]=k._R(8,"f");break};case"G":;case"P":k.l+=p[w].len;break;case"0":if(p[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+p[w].type);}}}if(i!=2)if(n.l=0)l(+n.codepage);if(n.type=="string")throw new Error("Cannot write DBF to JS string");var i=at();var o=zl(e,{header:1,raw:true,cellDates:true});var c=o[0],f=o.slice(1),u=e["!cols"]||[];var h=0,p=0,d=0,m=1;for(h=0;h250)x=250;y=((u[h]||{}).DBF||{}).type;if(y=="C"){if(u[h].DBF.len>x)x=u[h].DBF.len}if(k=="B"&&y=="N"){k="N";w[h]=u[h].DBF.dec;x=u[h].DBF.len}b[h]=k=="C"||y=="N"?x:s[k]||0;m+=b[h];g[h]=k}var C=i.next(32);C._W(4,318902576);C._W(4,f.length);C._W(2,296+32*d);C._W(2,m);for(h=0;h<4;++h)C._W(4,0);C._W(4,0|(+r[t]||3)<<8);for(h=0,p=0;h":190,"?":191,"{":223};var r=new RegExp("N("+G(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?d(a):a};var a=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:d(a)};e["|"]=254;function n(e,r){switch(r.type){case"base64":return i(g.decode(e),r);case"binary":return i(e,r);case"buffer":return i(b&&Buffer.isBuffer(e)?e.toString("binary"):A(e),r);case"array":return i(oe(e),r);}throw new Error("Unrecognized type "+r.type)}function i(e,n){var i=e.split(/[\n\r]+/),s=-1,o=-1,c=0,f=0,u=[];var h=[];var p=null;var d={},m=[],v=[],g=[];var b=0,w;if(+n.codepage>=0)l(+n.codepage);for(;c!==i.length;++c){b=0;var k=i[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(r,t);var y=k.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var x=y[0],S;if(k.length>0)switch(x){case"ID":break;case"E":break;case"B":break;case"O":break;case"W":break;case"P":if(y[1].charAt(0)=="P")h.push(k.slice(3).replace(/;;/g,";"));break;case"C":var C=false,_=false,A=false,T=false,F=-1,E=-1;for(f=1;f-1&&u[F][E];if(!O||!O[1])throw new Error("SYLK shared formula cannot find base");u[s][o][1]=ci(O[1],{r:s-F,c:o-E})}break;case"F":var M=0;for(f=1;f0){m[s].hpt=b;m[s].hpx=dn(b)}else if(b===0)m[s].hidden=true;break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+k);}if(M<1)p=null;break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+k);}}if(m.length>0)d["!rows"]=m;if(v.length>0)d["!cols"]=v;if(n&&n.sheetRows)u=u.slice(0,n.sheetRows);return[u,d]}function s(e,r){var t=n(e,r);var a=t[0],i=t[1];var s=Tt(a,r);G(i).forEach(function(e){s[e]=i[e]});return s}function o(e,r){return _t(s(e,r),r)}function c(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+oi(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"';break;}return n}function f(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number"&&!r.wpx)r.wpx=nn(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=sn(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*pn(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function h(e,r){var t=["ID;PWXL;N;E"],a=[];var n=xt(e["!ref"]),i;var s=Array.isArray(e);var l="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])f(t,e["!cols"]);if(e["!rows"])u(t,e["!rows"]);t.push("B;Y"+(n.e.r-n.s.r+1)+";X"+(n.e.c-n.s.c+1)+";D"+[n.s.c,n.s.r,n.e.c,n.e.r].join(" "));for(var o=n.s.r;o<=n.e.r;++o){for(var h=n.s.c;h<=n.e.c;++h){var p=wt({r:o,c:h});i=s?(e[o]||[])[h]:e[p];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(c(i,e,o,h,r))}}return t.join(l)+l+a.join(l)+l+"E"+l}return{to_workbook:o,to_sheet:s,from_sheet:h}}();var Ma=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(b&&Buffer.isBuffer(e)?e.toString("binary"):A(e),t);case"array":return r(oe(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=e.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()==="BOT"){s[++a]=[];n=0;continue}if(a<0)continue;var l=t[i].trim().split(",");var o=l[0],c=l[1];++i;var f=t[i]||"";while((f.match(/["]/g)||[]).length&1&&i=0&&i[s].length===0)--s;var l=10,o=0;var c=0;for(;c<=s;++c){o=i[c].indexOf(" ");if(o==-1)o=i[c].length;else o++;l=Math.max(l,o)}for(c=0;c<=s;++c){n[c]=[];var f=0;e(i[c].slice(0,l).trim(),n,c,f,a);for(f=1;f<=(i[c].length-l)/10+1;++f)e(i[c].slice(l+(f-1)*10,l+f*10).trim(),n,c,f,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:",",9:"\t",59:";",124:"|"};var a={44:3,9:2,59:1,124:0};function n(e){var r={},n=false,i=0,s=0;for(;i0)b();i["!ref"]=yt(s);return i}function s(e,t){if(!(t&&t.PRN))return i(e,t);if(t.FS)return i(e,t);if(e.slice(0,4)=="sep=")return i(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return i(e,t);return Tt(r(e,t),t)}function l(e,r){var t="",a=r.type=="string"?[0,0,0,0]:ml(e,r);switch(r.type){case"base64":t=g.decode(e);break;case"binary":t=e;break;case"buffer":if(r.codepage==65001)t=e.toString("utf8");else if(r.codepage&&typeof $cptable!=="undefined")t=$cptable.utils.decode(r.codepage,e);else t=b&&Buffer.isBuffer(e)?e.toString("binary"):A(e);break;case"array":t=oe(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(a[0]==239&&a[1]==187&&a[2]==191)t=Je(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=Je(t);else if(r.type=="binary"&&typeof $cptable!=="undefined"&&r.codepage)t=$cptable.utils.decode(r.codepage,$cptable.utils.encode(28591,t));if(t.slice(0,19)=="socialcalc:version:")return Na.to_sheet(r.type=="string"?t:Je(t),r);return s(t,r)}function o(e,r){return _t(l(e,r),r)}function c(e){var r=[];var t=xt(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var l=t.s.c;l<=t.e.c;++l){var o=wt({r:i,c:l});a=n?(e[i]||[])[l]:e[o];if(!a||a.v==null){s.push(" ");continue}var c=(a.w||(Ct(a),a.w)||"").slice(0,10);while(c.length<10)c+=" ";s.push(c+(l===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:o,to_sheet:l,from_sheet:c}}();function Ia(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Oa.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return Pa.to_workbook(e,r)}}function Ra(e){var r={},t=e.match(Oe),a=0;var i=false;if(t)for(;a!=t.length;++a){var s=Pe(t[a]);switch(s[0].replace(/\w*:/g,"")){case"":;case"":r.shadow=1;break;case"":break;case"":;case"":r.outline=1;break;case"":break;case"":;case"":r.strike=1;break;case"":break;case"":;case"":r.u=1;break;case"":break;case"":;case"":r.b=1;break;case"":break;case"":;case"":r.i=1;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"
":break;case"":i=false;break;default:if(s[0].charCodeAt(1)!==47&&!i)throw new Error("Unrecognized rich format "+s[0]);}}return r}var La=function(){var e=er("t"),r=er("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:Be(a[1])};var i=t.match(r);if(i)n.s=Ra(i[1]);return n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function i(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}();var Ba=function Co(){var e=/(\r\n|\n)/g;function r(e,r,t){var a=[];if(e.u)a.push("text-decoration: underline;");if(e.uval)a.push("text-underline-style:"+e.uval+";");if(e.sz)a.push("font-size:"+e.sz+"pt;");if(e.outline)a.push("text-effect: outline;");if(e.shadow)a.push("text-shadow: auto;");r.push('');if(e.b){r.push("");t.push("")}if(e.i){r.push("");t.push("")}if(e.strike){r.push("");t.push("")}var n=e.valign||"";if(n=="superscript"||n=="super")n="sup";else if(n=="subscript")n="sub";if(n!=""){r.push("<"+n+">");t.push("")}t.push("");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return"";if(t.s)r(t.s,a[0],a[2]);return a[0].join("")+a[1].replace(e,"
")+a[2].join("")}return function a(e){return e.map(t).join("")}}();var $a=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,za=/<(?:\w+:)?r>/;var Ua=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Wa(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=Be(Je(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=Je(e);if(t)a.h=He(a.t)}else if(e.match(za)){a.r=Je(e);a.t=Be(Je((e.replace(Ua,"").match($a)||[]).join("").replace(Oe,"")));if(t)a.h=Ba(La(a.r))}return a}var ja=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Ha=/<(?:\w+:)?(?:si|sstItem)>/g;var Va=/<\/(?:\w+:)?(?:si|sstItem)>/;function Xa(e,r){var t=[],a="";if(!e)return t;var n=e.match(ja);if(n){a=n[2].replace(Ha,"").split(Va);for(var i=0;i!=a.length;++i){var s=Wa(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Pe(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Ga=/^\s|\s$|[\t\n\r]/;function Ya(e,r){if(!r.bookSST)return"";var t=[Ee];t[t.length]=cr("sst",null,{xmlns:mr[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function Ja(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function Ka(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function qa(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var l=0,o=0,c=n+i;o=s/(c>1?2-c:c);switch(n){case r:l=((t-a)/s+6)%6;break;case t:l=(a-r)/s+2;break;case a:l=(r-t)/s+4;break;}return[l/6,o,c/2]}function Za(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],l=6*r;var o;if(t!==0)switch(l|0){case 0:;case 6:o=n*l;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-l);s[0]+=o;s[1]+=n;break;case 2:o=n*(l-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-l);s[1]+=o;s[2]+=n;break;case 4:o=n*(l-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-l);s[2]+=o;s[0]+=n;break;}for(var c=0;c!=3;++c)s[c]=Math.round(s[c]*255);return s}function Qa(e,r){if(r===0)return e;var t=qa(Ja(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Ka(Za(t))}var en=6,rn=15,tn=1,an=en;function nn(e){return Math.floor((e+Math.round(128/an)/256)*an)}function sn(e){return Math.floor((e-5)/an*100+.5)/100}function ln(e){return Math.round((e*an+5)/an*256)/256}function on(e){return ln(sn(nn(e)))}function cn(e){var r=Math.abs(e-on(e)),t=an;if(r>.005)for(an=tn;an":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=Ye(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=Ye(t.diagonalDown);r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in borders")};}})}function gn(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Oe)||[]).forEach(function(e){var t=Pe(e);switch(Ie(t[0])){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error("unrecognized "+t[0]+" in fills")};}})}function bn(e,r,t,a){r.Fonts=[];var i={};var s=false;(e[0].match(Oe)||[]).forEach(function(e){var l=Pe(e);switch(Ie(l[0])){case"":;case"":break;case"":break;case"
":;case"":r.Fonts.push(i);i={};break;case"":;case"":break;case"":i.bold=1;break;case"":i.italic=1;break;case"":i.underline=1;break;case"":i.strike=1;break;case"":i.outline=1;break;case"":i.shadow=1;break;case"":i.condense=1;break;case"":i.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":s=false;break;case"":;case"":break;case"":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error("unrecognized "+l[0]+" in fonts")};}})}function wn(e,r,t){r.NumberFmt=[];var a=G(N._table);for(var n=0;n":;case"":;case"":break;case"0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=l}N.load(l,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function kn(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=cr("numFmt",null,{numFmtId:a,formatCode:Ue(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=cr("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var yn=["numFmtId","fillId","fontId","borderId","xfId"];var xn=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Sn(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Oe)||[]).forEach(function(e){var i=Pe(e),s=0;switch(Ie(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case"":break;case"":var l={};if(i.vertical)l.vertical=i.vertical;if(i.horizontal)l.horizontal=i.horizontal;if(i.textRotation!=null)l.textRotation=i.textRotation;if(i.indent)l.indent=i.indent;if(i.wrapText)l.wrapText=Ye(i.wrapText);a.alignment=l;break;case"":break;case"":;case"":break;case"":n=false;break;case"":;case"":break;case"":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error("unrecognized "+i[0]+" in cellXfs")};}})}function Cn(e){var r=[];r[r.length]=cr("cellXfs",null);e.forEach(function(e){r[r.length]=cr("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=cr("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var _n=function _o(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/;var r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/;var t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/;var a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/;var n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function i(s,l,o){var c={};if(!s)return c;s=s.replace(//gm,"").replace(//gm,"");var f;if(f=s.match(e))wn(f,c,o);if(f=s.match(a))bn(f,c,l,o);if(f=s.match(t))gn(f,c,l,o);if(f=s.match(n))vn(f,c,l,o);if(f=s.match(r))Sn(f,c,o);return c}}();function An(e,r){var t=[Ee,cr("styleSheet",null,{xmlns:mr[0],"xmlns:vt":dr.vt})],a;if(e.SSF&&(a=kn(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=Cn(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}var Tn=["","","","","","","","","","","",""];function Fn(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Oe)||[]).forEach(function(e){var n=Pe(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme[Tn.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function En(){}function Dn(){}var On=/]*)>[\s\S]*<\/a:clrScheme>/;var Mn=/]*)>[\s\S]*<\/a:fontScheme>/;var Nn=/]*)>[\s\S]*<\/a:fmtScheme>/;function Pn(e,r,t){r.themeElements={};var a;[["clrScheme",On,Fn],["fontScheme",Mn,En],["fmtScheme",Nn,Dn]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var In=/]*)>[\s\S]*<\/a:themeElements>/;function Rn(e,r){if(!e||e.length===0)e=Ln();var t;var a={};if(!(t=e.match(In)))throw new Error("themeElements not found in theme");Pn(t[0],a,r);a.raw=e;return a}function Ln(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Ee];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]=''; +t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function Bn(e,r,t){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n=false;var i=2;e.replace(Oe,function(e){var r=Pe(e);switch(Ie(r[0])){case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":i=2;break;case"":i=2;break;case"":;case"":;case"":break;case"":n=false;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+r[0]+" in metadata");}return e});return a}function $n(){var e=[Ee];e.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function zn(){}function Un(e,r,t,a){if(!e)return e;var n=a||{};var i=false,s=false;tt(e,function l(e,r,t){if(s)return;switch(t){case 359:;case 363:;case 364:;case 366:;case 367:;case 368:;case 369:;case 370:;case 371:;case 472:;case 577:;case 578:;case 579:;case 580:;case 581:;case 582:;case 583:;case 584:;case 585:;case 586:;case 587:break;case 35:i=true;break;case 36:i=false;break;default:if(r.T){}else if(!i||n.WTF)throw new Error("Unexpected record 0x"+t.toString(16));}},n)}function Wn(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var jn=1024;function Hn(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[cr("xml",null,{"xmlns:v":vr.v,"xmlns:o":vr.o,"xmlns:x":vr.x,"xmlns:mv":vr.mv}).replace(/\/>/,">"),cr("o:shapelayout",cr("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),cr("v:shapetype",[cr("v:stroke",null,{joinstyle:"miter"}),cr("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(jn",i,cr("v:shadow",null,s),cr("v:path",null,{"o:connecttype":"none"}),'
','',"","",lr("x:Anchor",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(",")),lr("x:AutoFill","False"),lr("x:Row",String(r.r)),lr("x:Column",String(r.c)),e[1].hidden?"":"","",""])});n.push("");return n.join("")}function Vn(e,r,t,a){var n=Array.isArray(e);var i;r.forEach(function(r){var s=bt(r.ref);if(n){if(!e[s.r])e[s.r]=[];i=e[s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e[s.r][s.c]=i;else e[r.ref]=i;var l=xt(e["!ref"]||"BDWGO1000001:A1");if(l.s.r>s.r)l.s.r=s.r;if(l.e.rs.c)l.s.c=s.c;if(l.e.c=0;--f){if(!t&&i.c[f].T)return;if(t&&!i.c[f].T)i.c.splice(f,1)}if(t&&a)for(f=0;f/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Pe(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var l=bt(i.ref);if(r.sheetRows&&r.sheetRows<=l.r)return;var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var c=!!o&&!!o[1]&&Wa(o[1])||{r:"",t:"",h:""};s.r=c.r;if(c.r=="")c.t=c.h="";s.t=(c.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=c.h;a.push(s)});return a}function Gn(e){var r=[Ee,cr("comments",null,{xmlns:mr[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=Ue(e.a);if(t.indexOf(a)==-1){t.push(a);r.push(""+a+"")}if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);r.push(""+"tc="+e.ID+"")}})});if(t.length==0){t.push("SheetJ5");r.push("SheetJ5")}r.push("");r.push("");e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);else e[1].forEach(function(e){if(e.a)a=t.indexOf(Ue(e.a));n.push(e.t||"")});r.push('');if(n.length<=1)r.push(lr("t",Ue(n[0]||"")));else{var i="Comment:\n "+n[0]+"\n";for(var s=1;s")});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Yn(e,r){var t=[];var a=false,n={},i=0;e.replace(Oe,function s(l,o){var c=Pe(l);switch(Ie(c[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":a=true;break;case"":a=false;break;case"":;case"
":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+c[0]+" in threaded comments");}return l});return t}function Jn(e,r,t){var a=[Ee,cr("ThreadedComments",null,{xmlns:dr.TCMNT}).replace(/[\/]>/,">")];e.forEach(function(e){var n="";(e[1]||[]).forEach(function(i,s){if(!i.T){delete i.ID;return}if(i.a&&r.indexOf(i.a)==-1)r.push(i.a);var l={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+t.tcid++).slice(-12)+"}"};if(s==0)n=l.id;else l.parentId=n;i.ID=l.id;if(i.a)l.personId="{54EE7950-7262-4200-6969-"+("000000000000"+r.indexOf(i.a)).slice(-12)+"}";a.push(cr("threadedComment",lr("text",i.t||""),l))})});a.push("");return a.join("")}function Kn(e,r){var t=[];var a=false;e.replace(Oe,function n(e){var n=Pe(e);switch(Ie(n[0])){case"":break;case"":break;case"":;case"":;case"":break;case"":a=false;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments");}return e});return t}function qn(e){var r=[Ee,cr("personList",null,{xmlns:dr.TCMNT,"xmlns:x":mr[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(cr("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}var Zn="application/vnd.ms-office.vbaProject";function Qn(e){var r=W.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");W.utils.cfb_add(r,n,e.FileIndex[a].content)});return W.write(r)}function ei(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")W.utils.cfb_add(e,n,r.FileIndex[a].content)})}var ri=["xlsb","xlsm","xlam","biff8","xla"];function ti(){return{"!type":"dialog"}}function ai(){return{"!type":"dialog"}}function ni(){return{"!type":"macro"}}function ii(){return{"!type":"macro"}}var si=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)=="["){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)=="["){i=true;n=n.slice(1,-1)}var l=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)l+=r.r;else--l;return t+(i?"":"$")+dt(o)+(s?"":"$")+ft(l)}return function a(n,i){r=i;return n.replace(e,t)}}();var li=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;var oi=function(){return function e(r,t){return r.replace(li,function(e,r,a,n,i,s){var l=pt(n)-(a?0:t.c);var o=ct(s)-(i?0:t.r);var c=o==0?"":!i?"["+o+"]":o+1;var f=l==0?"":!a?"["+l+"]":l+1;return r+"R"+c+"C"+f})}}();function ci(e,r){return e.replace(li,function(e,t,a,n,i,s){return t+(a=="$"?a+n:dt(pt(n)+r.c))+(i=="$"?i+s:ft(ct(s)+r.r))})}function fi(e,r,t){var a=kt(r),n=a.s,i=bt(t);var s={r:i.r-n.r,c:i.c-n.c};return ci(e,s)}function ui(e){if(e.length==1)return false;return true}function hi(e){return e.replace(/_xlfn\./g,"")}function pi(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function di(e){var r="of:="+e.replace(li,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function mi(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function vi(e){return e.replace(/\./,"!")}var gi={};var bi={};var wi=typeof Map!=="undefined";function ki(e,r,t){var a=0,n=e.length;if(t){if(wi?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=wi?t.get(r):t[r];for(;a-1){t.width=ln(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;if(r.level!=null){t.outlineLevel=t.level=r.level}return t}function xi(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function Si(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){N.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Ci(e,r,t,a,n,i){try{if(a.cellNF)e.z=N._table[r]}catch(s){if(a.WTF)throw s}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=le(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(N._table[r]==null)N.load(R[r]||"General",r);if(e.t==="e")e.w=e.w||Yt[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=N._general_int(e.v);else e.w=N._general_num(e.v)}else if(e.t==="d"){var l=Q(e.v);if((l|0)===l)e.w=N._general_int(l);else e.w=N._general_num(l)}else if(e.v===undefined)return"";else e.w=N._general(e.v,bi)}else if(e.t==="d")e.w=N.format(r,Q(e.v),bi);else e.w=N.format(r,e.v,bi)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=Qa(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=Qa(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function _i(e,r,t){if(e&&e["!ref"]){var a=xt(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=yt(t)}var Ti=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Fi=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Ei=/<(?:\w:)?hyperlink [^>]*>/gm;var Di=/"(\w*:\w*)"/;var Oi=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Mi=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Ni=/<(?:\w:)?pageMargins[^>]*\/>/g;var Pi=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Ii=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Ri=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Li(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(m!=null&&r.dense==null)r.dense=m;var l=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var c="",f="";var u=e.match(Fi);if(u){c=e.slice(0,u.index);f=e.slice(u.index+u[0].length)}else c=f=e;var h=c.match(Pi);if(h)$i(h[0],l,n,t);else if(h=c.match(Ii))zi(h[0],h[1]||"",l,n,t,s,i);var p=(c.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(p>0){var d=c.slice(p,p+50).match(Di);if(d)Ai(l,d[1])}var v=c.match(Ri);if(v&&v[1])Qi(v[1],n);var g=[];if(r.cellStyles){var b=c.match(Oi);if(b)Yi(g,b)}if(u)ts(u[1],l,r,o,i,s);var w=f.match(Mi);if(w)l["!autofilter"]=Ki(w[0]);var k=[];var y=f.match(Ti);if(y)for(p=0;p!=y.length;++p)k[p]=xt(y[p].slice(y[p].indexOf('"')+1));var x=f.match(Ei);if(x)Vi(l,x,a);var S=f.match(Ni);if(S)l["!margins"]=Xi(Pe(S[0]));if(!l["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)l["!ref"]=yt(o);if(r.sheetRows>0&&l["!ref"]){var C=xt(l["!ref"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>o.e.r)C.e.r=o.e.r;if(C.e.ro.e.c)C.e.c=o.e.c;if(C.e.c0)l["!cols"]=g;if(k.length>0)l["!merges"]=k;return l}function Bi(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function $i(e,r,t,a){var n=Pe(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Be(Je(n.codeName))}function zi(e,r,t,a,n){$i(e.slice(0,e.indexOf(">")),t,a,n)}function Ui(e,r,t,a,n){var i=false;var s={},l=null;if(a.bookType!=="xlsx"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(c){}i=true;s.codeName=Ke(Ue(o))}if(e&&e["!outline"]){var f={summaryBelow:1,summaryRight:1};if(e["!outline"].above)f.summaryBelow=0;if(e["!outline"].left)f.summaryRight=0;l=(l||"")+cr("outlinePr",null,f)}if(!i&&!l)return;n[n.length]=cr("sheetPr",l,s)}var Wi=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var ji=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Hi(e){var r={sheet:1};Wi.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});ji.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=crypto_CreatePasswordVerifier_Method1(e.password).toString(16).toUpperCase();return cr("sheetProtection",null,r)}function Vi(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Pe(Je(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+Be(i.location)}else{i.Target="#"+Be(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var l=xt(i.ref);for(var o=l.s.r;o<=l.e.r;++o)for(var c=l.s.c;c<=l.e.c;++c){var f=wt({c:c,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][c])e[o][c]={t:"z",v:undefined};e[o][c].l=i}else{if(!e[f])e[f]={t:"z",v:undefined};e[f].l=i}}}}function Xi(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Gi(e){xi(e);return cr("pageMargins",null,e)}function Yi(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Pe(r[a],true);if(n.hidden)n.hidden=Ye(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;if(n.outlineLevel)n.level=+n.outlineLevel||0;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;cn(n.width)}fn(n);while(i<=s)e[i++]=ce(n)}}function Ji(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=cr("col",null,yi(n,a))}t[t.length]="";return t.join("")}function Ki(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function qi(e,r,t,a){var n=typeof e.ref=="string"?e.ref:yt(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=kt(n);if(s.s.r==s.e.r){s.e.r=kt(r["!ref"]).e.r;n=yt(s)}for(var l=0;la-z][^>]*)?\/?>/;function Qi(e,r){if(!r.Views)r.Views=[{}];(e.match(Zi)||[]).forEach(function(e,t){var a=Pe(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(Ye(a.rightToLeft))r.Views[t].RTL=true})}function es(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return cr("sheetViews",cr("sheetView",null,n),{})}function rs(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if(e.v===undefined&&typeof e.f!=="string"||e.t==="z"&&!e.f)return"";var n="";var i=e.t,s=e.v;if(e.t!=="z")switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Yt[e.v];break;case"d":if(a&&a.cellDates)n=le(e.v,-1).toISOString();else{e=ce(e);e.t="n";n=""+(e.v=Q(le(e.v)))}if(typeof e.z==="undefined")e.z=N._table[14];break;default:n=e.v;break;}var l=lr("v",Ue(n)),o={r:r};var c=Si(a.cellXfs,e,a);if(c!==0)o.s=c;switch(e.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;case"z":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){l=lr("v",""+ki(a.Strings,e.v,a.revStrings));o.t="s";break}o.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f=="string"&&e.f){var f=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;l=cr("f",Ue(e.f),f)+(e.v!=null?l:"")}if(e.l)t["!links"].push([r,e.l]);if(e.D)o.cm=1;return cr("c",l,o)}var ts=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=er("v"),s=er("f");return function l(o,c,f,u,h,p){var d=0,m="",v=[],g=[],b=0,w=0,k=0,y="",x;var S,C=0,_=0;var A,T;var F=0,E=0;var D=Array.isArray(p.CellXf),O;var M=[];var P=[];var I=Array.isArray(c);var R=[],L={},B=false;var $=!!f.sheetStubs;for(var z=o.split(r),U=0,W=z.length;U!=W;++U){m=z[U].trim();var j=m.length;if(j===0)continue;var H=0;e:for(d=0;d":if(m[d-1]!="/"){++d;break e}if(f&&f.cellStyles){S=Pe(m.slice(H,d),true);C=S.r!=null?parseInt(S.r,10):C+1;_=-1;if(f.sheetRows&&f.sheetRows=d)break;S=Pe(m.slice(H,d),true);C=S.r!=null?parseInt(S.r,10):C+1;_=-1;if(f.sheetRows&&f.sheetRowsC-1)u.s.r=C-1;if(u.e.r":"")+m;if(g!=null&&g.length===2){b=0;y=g[1];for(w=0;w!=y.length;++w){if((k=y.charCodeAt(w)-64)<1||k>26)break;b=26*b+k}--b;_=b}else++_;for(w=0;w!=m.length;++w)if(m.charCodeAt(w)===62)break;++w;S=Pe(m.slice(0,w),true);if(!S.r)S.r=wt({r:C-1,c:_});y=m.slice(w);x={t:""};if((g=y.match(i))!=null&&g[1]!=="")x.v=Be(g[1]);if(f.cellFormula){if((g=y.match(s))!=null&&g[1]!==""){x.f=Be(Je(g[1])).replace(/\r\n/g,"\n");if(!f.xlfn)x.f=hi(x.f);if(g[0].indexOf('t="array"')>-1){x.F=(y.match(n)||[])[1];if(x.F.indexOf(":")>-1)M.push([xt(x.F),x.F])}else if(g[0].indexOf('t="shared"')>-1){T=Pe(g[0]);var X=Be(Je(g[1]));if(!f.xlfn)X=hi(X);P[parseInt(T.si,10)]=[T,X,S.r]}}else if(g=y.match(/]*\/>/)){T=Pe(g[0]);if(P[T.si])x.f=fi(P[T.si][1],P[T.si][2],S.r)}var G=bt(S.r);for(w=0;w=M[w][0].s.r&&G.r<=M[w][0].e.r)if(G.c>=M[w][0].s.c&&G.c<=M[w][0].e.c)x.F=M[w][1]}if(S.t==null&&x.v===undefined){if(x.f||x.F){x.v=0;x.t="n"}else if(!$)continue;else x.t="z"}else x.t=S.t||"n";if(u.s.c>_)u.s.c=_;if(u.e.c<_)u.e.c=_;switch(x.t){case"n":if(x.v==""||x.v==null){if(!$)continue;x.t="z"}else x.v=parseFloat(x.v);break;case"s":if(typeof x.v=="undefined"){if(!$)continue;x.t="z"}else{A=gi[parseInt(x.v,10)];x.v=A.t;x.r=A.r;if(f.cellHTML)x.h=A.h}break;case"str":x.t="s";x.v=x.v!=null?Je(x.v):"";if(f.cellHTML)x.h=He(x.v);break;case"inlineStr":g=y.match(a);x.t="s";if(g!=null&&(A=Wa(g[1]))){x.v=A.t;if(f.cellHTML)x.h=A.h}else x.v="";break;case"b":x.v=Ye(x.v);break;case"d":if(f.cellDates)x.v=le(x.v,1);else{x.v=Q(le(x.v,1));x.t="n"}break;case"e":if(!f||f.cellText!==false)x.w=x.v;x.v=Jt[x.v];break;}F=E=0;O=null;if(D&&S.s!==undefined){O=p.CellXf[S.s];if(O!=null){if(O.numFmtId!=null)F=O.numFmtId;if(f.cellStyles){if(O.fillId!=null)E=O.fillId}}}Ci(x,F,E,f,h,p);if(f.cellDates&&D&&x.t=="n"&&N.is_date(N._table[F])){x.t="d";x.v=ae(x.v)}if(S.cm&&f.xlmeta){var Y=(f.xlmeta.Cell||[])[+S.cm-1];if(Y&&Y.type=="XLDAPR")x.D=true}if(I){var J=bt(S.r);if(!c[J.r])c[J.r]=[];c[J.r][J.c]=x}else c[S.r]=x}}if(R.length>0)c["!rows"]=R}}();function as(e,r,t,a){var n=[],i=[],s=xt(e["!ref"]),l="",o,c="",f=[],u=0,h=0,p=e["!rows"];var d=Array.isArray(e);var m={r:c},v,g=-1;for(h=s.s.c;h<=s.e.c;++h)f[h]=dt(h);for(u=s.s.r;u<=s.e.r;++u){i=[];c=ft(u);for(h=s.s.c;h<=s.e.c;++h){o=f[h]+c;var b=d?(e[u]||[])[h]:e[o];if(b===undefined)continue;if((l=rs(b,o,e,r,t,a))!=null)i.push(l)}if(i.length>0||p&&p[u]){m={r:c};if(p&&p[u]){v=p[u];if(v.hidden)m.hidden=1;g=-1;if(v.hpx)g=pn(v.hpx);else if(v.hpt)g=v.hpt;if(g>-1){m.ht=g;m.customHeight=1}if(v.level){m.outlineLevel=v.level}}n[n.length]=cr("row",i.join(""),m)}}if(p)for(;u-1){m.ht=g;m.customHeight=1}if(v.level){m.outlineLevel=v.level}n[n.length]=cr("row","",m)}}return n.join("")}function ns(e,r,t,a){var n=[Ee,cr("worksheet",null,{xmlns:mr[0],"xmlns:r":dr.r})];var i=t.SheetNames[e],s=0,l="";var o=t.Sheets[i];if(o==null)o={};var c=o["!ref"]||"A1";var f=xt(c);if(f.e.c>16383||f.e.r>1048575){if(r.WTF)throw new Error("Range "+c+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383);f.e.r=Math.min(f.e.c,1048575);c=yt(f)}if(!a)a={};o["!comments"]=[];var u=[];Ui(o,t,e,r,n);n[n.length]=cr("dimension",null,{ref:c});n[n.length]=es(o,r,e,t);if(r.sheetFormat)n[n.length]=cr("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(o["!cols"]!=null&&o["!cols"].length>0)n[n.length]=Ji(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){l=as(o,r,e,t,a);if(l.length>0)n[n.length]=l}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(o["!protect"])n[n.length]=Hi(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=qi(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=Bi(o["!merges"]);var h=-1,p,d=-1;if(o["!links"].length>0){n[n.length]="";o["!links"].forEach(function(e){if(!e[1].Target)return;p={ref:e[0]};if(e[1].Target.charAt(0)!="#"){d=oa(a,-1,Ue(e[1].Target).replace(/#.*$/,""),ta.HLINK);p["r:id"]="rId"+d}if((h=e[1].Target.indexOf("#"))>-1)p.location=Ue(e[1].Target.slice(h+1));if(e[1].Tooltip)p.tooltip=Ue(e[1].Tooltip);n[n.length]=cr("hyperlink",null,p)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=Gi(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=lr("ignoredErrors",cr("ignoredError",null,{numberStoredAsText:1,sqref:c}));if(u.length>0){d=oa(a,-1,"../drawings/drawing"+(e+1)+".xml",ta.DRAW);n[n.length]=cr("drawing",null,{"r:id":"rId"+d});o["!drawing"]=u}if(o["!comments"].length>0){d=oa(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",ta.VML);n[n.length]=cr("legacyDrawing",null,{"r:id":"rId"+d});o["!legacy"]=d}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function is(e){var r=[];var t=e.match(/^/);var a;(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/(.*)<\/c:v><\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Be((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,"")});return[r,n,a]}function ss(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var l=0,o=0,c="A";var f={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=is(e);f.s.r=f.s.c=0;f.e.c=l;c=dt(l);r[0].forEach(function(e,t){s[c+ft(t)]={t:"n",v:e,z:r[1]};o=t});if(f.e.r0)s["!ref"]=yt(f);return s}ta.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";function ls(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!drawel":null,"!rel":""};var s;var l=e.match(Pi);if(l)$i(l[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}function os(e,r,t,a){var n=[Ee,cr("chartsheet",null,{xmlns:mr[0],"xmlns:r":dr.r})];n[n.length]=cr("drawing",null,{"r:id":"rId1"});oa(a,-1,"../drawings/drawing"+(e+1)+".xml",ta.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var cs=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var fs=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var us=[];var hs=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function ps(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Ye(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function ds(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Ye(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function ms(e){ds(e.WBProps,cs);ds(e.CalcPr,hs);ps(e.WBView,fs);ps(e.Sheets,us);bi.date1904=Ye(e.WBProps.date1904)}function vs(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Ye(e.Workbook.WBProps.date1904)?"true":"false"}var gs="][*?/\\".split("");function bs(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;gs.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function ws(e,r,t){e.forEach(function(a,n){bs(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function ks(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];ws(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":cs.forEach(function(e){if(f[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Ye(f[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(f[e[0]],10);break;default:t.WBProps[e[0]]=f[e[0]];}});if(f.codeName)t.WBProps.CodeName=Je(f.codeName);break;case"":break;case"":break;case"":;case"":break;case"":delete f[0];t.WBView.push(f);break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=Be(Je(e.slice(s,c)));t.Names.push(i)}break;case"":break;case"":delete f[0];t.CalcPr=f;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){cs.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=cr("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]='';r[r.length]=""}r[r.length]="";for(i=0;i!=e.SheetNames.length;++i){var s={name:Ue(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=cr("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(e.Hidden)t.hidden="1";if(!e.Ref)return;r[r.length]=cr("definedName",Ue(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Cs(e,r,t){if(r.slice(-4)===".bin")return parse_wb_bin(e,t);return xs(e,t)}function _s(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return parse_ws_bin(e,a,t,n,i,s,l);return Li(e,a,t,n,i,s,l)}function As(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return parse_cs_bin(e,a,t,n,i,s,l);return ls(e,a,t,n,i,s,l)}function Ts(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return ni(e,a,t,n,i,s,l);return ii(e,a,t,n,i,s,l)}function Fs(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return ti(e,a,t,n,i,s,l);return ai(e,a,t,n,i,s,l)}function Es(e,r,t,a){if(r.slice(-4)===".bin")return parse_sty_bin(e,t,a);return _n(e,t,a)}function Ds(e,r,t){return Rn(e,t)}function Os(e,r,t){if(r.slice(-4)===".bin")return parse_sst_bin(e,t);return Xa(e,t)}function Ms(e,r,t){if(r.slice(-4)===".bin")return parse_comments_bin(e,t);return Xn(e,t)}function Ns(e,r,t){if(r.slice(-4)===".bin")return parse_cc_bin(e,r,t);return parse_cc_xml(e,r,t)}function Ps(e,r,t,a){if(t.slice(-4)===".bin")return Un(e,r,t,a);return zn(e,r,t,a)}function Is(e,r,t){if(r.slice(-4)===".bin")return parse_xlmeta_bin(e,r,t);return Bn(e,r,t)}function Rs(e,r,t){return(r.slice(-4)===".bin"?write_wb_bin:Ss)(e,t)}function Ls(e,r,t,a,n){return(r.slice(-4)===".bin"?write_ws_bin:ns)(e,t,a,n)}function Bs(e,r,t,a,n){return(r.slice(-4)===".bin"?write_cs_bin:os)(e,t,a,n)}function $s(e,r,t){return(r.slice(-4)===".bin"?write_sty_bin:An)(e,t)}function zs(e,r,t){return(r.slice(-4)===".bin"?write_sst_bin:Ya)(e,t)}function Us(e,r,t){return(r.slice(-4)===".bin"?write_comments_bin:Gn)(e,t)}function Ws(e){return(e.slice(-4)===".bin"?write_xlmeta_bin:$n)()}var js=function(){function e(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=t.dense?[]:{};e=e.replace(//g,"");var n=e.match(/");var i=e.match(/<\/table/i);var s=n.index,l=i&&i.index||e.length;var o=me(e.slice(s,l),/(:?]*>)/i,"");var c=-1,f=0,u=0,h=0;var p={s:{r:1e7,c:1e7},e:{r:0,c:0}};var d=[];for(s=0;s/i);for(l=0;l"))>-1)k=k.slice(y+1);for(var x=0;x")));h=C.colspan?+C.colspan:1;if((u=+C.rowspan)>1||h>1)d.push({s:{r:c,c:f},e:{r:c+(u||1)-1,c:f+h-1}});var _=C.t||C["data-t"]||"";if(!k.length){f+=h;continue}k=rr(k);if(p.s.r>c)p.s.r=c;if(p.e.rf)p.s.c=f;if(p.e.c[\s\S]*?<\/table>/gi);if(!a||a.length==0)throw new Error("Invalid HTML: could not find
");if(a.length==1)return _t(e(a[0],t),t);var n=Kl();a.forEach(function(r,a){ql(n,e(r,t),"Sheet"+(a+1))});return n}function t(e,r,t,a){var n=e["!merges"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var l=0,o=0;for(var c=0;ct||n[c].s.c>s)continue;if(n[c].e.r1)p.rowspan=l;if(o>1)p.colspan=o;if(a.editable)h=''+h+"";else if(u){p["data-t"]=u&&u.t||"z";if(u.v!=null)p["data-v"]=u.v;if(u.z!=null)p["data-z"]=u.z;if(u.l&&(u.l.Target||"#").charAt(0)!="#")h=''+h+""}p.id=(a.id||"sjs")+"-"+f;i.push(cr("td",h,p))}var d="";return d+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var l=s.header!=null?s.header:n;var o=s.footer!=null?s.footer:i;var c=[l];var f=kt(e["!ref"]);s.dense=Array.isArray(e);c.push(a(e,f,s));for(var u=f.s.r;u<=f.e.r;++u)c.push(t(e,f,u,s));c.push("
"+o);return c.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function Hs(e,r,t){var a=t||{};if(m!=null)a.dense=m;var n=0,i=0;if(a.origin!=null){if(typeof a.origin=="number")n=a.origin;else{var s=typeof a.origin=="string"?bt(a.origin):a.origin;n=s.r;i=s.c}}var l=r.getElementsByTagName("tr");var o=Math.min(a.sheetRows||1e7,l.length);var c={s:{r:0,c:0},e:{r:n,c:i}};if(e["!ref"]){var f=kt(e["!ref"]);c.s.r=Math.min(c.s.r,f.s.r);c.s.c=Math.min(c.s.c,f.s.c);c.e.r=Math.max(c.e.r,f.e.r);c.e.c=Math.max(c.e.c,f.e.c);if(n==-1)c.e.r=n=f.e.r+1}var u=[],h=0;var p=e["!rows"]||(e["!rows"]=[]);var d=0,v=0,g=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;d1||k>1)u.push({s:{r:v+n,c:b+i},e:{r:v+n+(w||1)-1,c:b+i+(k||1)-1}});var T={t:"s",v:C};var F=S.getAttribute("data-t")||S.getAttribute("t")||"";if(C!=null){if(C.length==0)T.t=F||"z";else if(a.raw||C.trim().length==0||F=="s"){}else if(C==="TRUE")T={t:"b",v:true};else if(C==="FALSE")T={t:"b",v:false};else if(!isNaN(ue(C)))T={t:"n",v:ue(C)};else if(!isNaN(pe(C).getDate())){T={t:"d",v:le(C)};if(!a.cellDates)T={t:"n",v:Q(T.v)};T.z=a.dateNF||N._table[14]}}if(T.z===undefined&&_!=null)T.z=_;var E="",D=S.getElementsByTagName("A");if(D&&D.length)for(var O=0;O=o)e["!fullref"]=yt((c.e.r=l.length-d+v-1+n,c));return e}function Vs(e,r){var t=r||{};var a=t.dense?[]:{};return Hs(a,e,r)}function Xs(e,r){return _t(Vs(e,r),r)}function Gs(e){var r="";var t=Ys(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Ys(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==="function")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle==="function")return getComputedStyle;return null}function Js(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");var t=Be(r.replace(/<[^>]*>/g,""));return[t]}var Ks={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function qs(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=hr(e);var n=[],i;var s;var l={name:""},o="",c=0;var f;var u;var h={},p=[];var d=t.dense?[]:{};var v,g;var b={value:""};var w="",k=0,y;var x=[];var S=-1,C=-1,_={s:{r:1e6,c:1e7},e:{r:0,c:0}};var A=0;var T={};var F=[],E={},D=0,O=0;var M=[],N=1,P=1;var I=[];var R={Names:[]};var L={};var B=["",""];var $=[],z={};var U="",W=0;var j=false,H=false;var V=0;pr.lastIndex=0;a=a.replace(//gm,"").replace(//gm,"");while(v=pr.exec(a))switch(v[3]=v[3].replace(/_.*$/,"")){case"table":;case"工作表":if(v[1]==="/"){if(_.e.c>=_.s.c&&_.e.r>=_.s.r)d["!ref"]=yt(_);else d["!ref"]="A1:A1";if(t.sheetRows>0&&t.sheetRows<=_.e.r){d["!fullref"]=d["!ref"];_.e.r=t.sheetRows-1;d["!ref"]=yt(_)}if(F.length)d["!merges"]=F;if(M.length)d["!rows"]=M;f.name=f["名称"]||f.name;if(typeof JSON!=="undefined")JSON.stringify(f);p.push(f.name);h[f.name]=d;H=false}else if(v[0].charAt(v[0].length-2)!=="/"){f=Pe(v[0],false);S=C=-1;_.s.r=_.s.c=1e7;_.e.r=_.e.c=0;d=t.dense?[]:{};F=[];M=[];H=true}break;case"table-row-group":if(v[1]==="/")--A;else++A;break;case"table-row":;case"行":if(v[1]==="/"){S+=N;N=1;break}u=Pe(v[0],false);if(u["行号"])S=u["行号"]-1;else if(S==-1)S=0;N=+u["number-rows-repeated"]||1;if(N<10)for(V=0;V0)M[S+V]={level:A};C=-1;break;case"covered-table-cell":if(v[1]!=="/")++C;if(t.sheetStubs){if(t.dense){if(!d[S])d[S]=[];d[S][C]={t:"z"}}else d[wt({r:S,c:C})]={t:"z"}}w="";x=[];break;case"table-cell":;case"数据":if(v[0].charAt(v[0].length-2)==="/"){++C;b=Pe(v[0],false);P=parseInt(b["number-columns-repeated"]||"1",10);g={t:"z",v:null};if(b.formula&&t.cellFormula!=false)g.f=pi(Be(b.formula));if((b["数据类型"]||b["value-type"])=="string"){g.t="s";g.v=Be(b["string-value"]||"");if(t.dense){if(!d[S])d[S]=[];d[S][C]=g}else{d[wt({r:S,c:C})]=g}}C+=P-1}else if(v[1]!=="/"){++C;w="";k=0;x=[];P=1;var X=N?S+N-1:S;if(C>_.e.c)_.e.c=C;if(C<_.s.c)_.s.c=C;if(S<_.s.r)_.s.r=S;if(X>_.e.r)_.e.r=X;b=Pe(v[0],false);$=[];z={};g={t:b["数据类型"]||b["value-type"],v:null};if(t.cellFormula){if(b.formula)b.formula=Be(b.formula);if(b["number-matrix-columns-spanned"]&&b["number-matrix-rows-spanned"]){D=parseInt(b["number-matrix-rows-spanned"],10)||0;O=parseInt(b["number-matrix-columns-spanned"],10)||0;E={s:{r:S,c:C},e:{r:S+D-1,c:C+O-1}};g.F=yt(E);I.push([E,g.F])}if(b.formula)g.f=pi(b.formula);else for(V=0;V=I[V][0].s.r&&S<=I[V][0].e.r)if(C>=I[V][0].s.c&&C<=I[V][0].e.c)g.F=I[V][1]}if(b["number-columns-spanned"]||b["number-rows-spanned"]){D=parseInt(b["number-rows-spanned"],10)||0;O=parseInt(b["number-columns-spanned"],10)||0;E={s:{r:S,c:C},e:{r:S+D-1,c:C+O-1}};F.push(E)}if(b["number-columns-repeated"])P=parseInt(b["number-columns-repeated"],10);switch(g.t){case"boolean":g.t="b";g.v=Ye(b["boolean-value"]);break;case"float":g.t="n";g.v=parseFloat(b.value);break;case"percentage":g.t="n";g.v=parseFloat(b.value);break;case"currency":g.t="n";g.v=parseFloat(b.value);break;case"date":g.t="d";g.v=le(b["date-value"]);if(!t.cellDates){g.t="n";g.v=Q(g.v)}g.z="m/d/yy";break;case"time":g.t="n";g.v=ne(b["time-value"])/86400;if(t.cellDates){g.t="d";g.v=ae(g.v)}g.z="HH:MM:SS";break;case"number":g.t="n";g.v=parseFloat(b["数据数值"]);break;default:if(g.t==="string"||g.t==="text"||!g.t){g.t="s";if(b["string-value"]!=null){w=Be(b["string-value"]);x=[]}}else throw new Error("Unsupported value type "+g.t);}}else{j=false;if(g.t==="s"){g.v=w||"";if(x.length)g.R=x;j=k==0}if(L.Target)g.l=L;if($.length>0){g.c=$;$=[]}if(w&&t.cellText!==false)g.w=w;if(j){g.t="z";delete g.v}if(!j||t.sheetStubs){if(!(t.sheetRows&&t.sheetRows<=S)){for(var G=0;G0)d[S+G][C+P]=ce(g)}else{d[wt({r:S+G,c:C})]=g;while(--P>0)d[wt({r:S+G,c:C+P})]=ce(g)}if(_.e.c<=C)_.e.c=C}}}P=parseInt(b["number-columns-repeated"]||"1",10);C+=P-1;P=0;g={};w="";x=[]}L={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(v[1]==="/"){if((i=n.pop())[0]!==v[3])throw"Bad state: "+i}else if(v[0].charAt(v[0].length-2)!=="/")n.push([v[3],true]);break;case"annotation":if(v[1]==="/"){if((i=n.pop())[0]!==v[3])throw"Bad state: "+i;z.t=w;if(x.length)z.R=x;z.a=U;$.push(z)}else if(v[0].charAt(v[0].length-2)!=="/"){n.push([v[3],false])}U="";W=0;w="";k=0;x=[];break;case"creator":if(v[1]==="/"){U=a.slice(W,v.index)}else W=v.index+v[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(v[1]==="/"){if((i=n.pop())[0]!==v[3])throw"Bad state: "+i}else if(v[0].charAt(v[0].length-2)!=="/")n.push([v[3],false]);w="";k=0;x=[];break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(v[1]==="/"){T[l.name]=o;if((i=n.pop())[0]!==v[3])throw"Bad state: "+i}else if(v[0].charAt(v[0].length-2)!=="/"){o="";l=Pe(v[0],false);n.push([v[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(v[0],false);o+=Ks[v[3]][s.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(n[n.length-1][0]){case"time-style":;case"date-style":s=Pe(v[0],false);o+=Ks[v[3]][s.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(v[0].slice(-2)==="/>")break;else if(v[1]==="/")switch(n[n.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=a.slice(c,v.index);break;}else c=v.index+v[0].length;break;case"named-range":s=Pe(v[0],false);B=mi(s["cell-range-address"]);var Y={Name:s.name,Ref:B[0]+"!"+B[1]};if(H)Y.Sheet=p.length;R.Names.push(Y);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(["master-styles"].indexOf(n[n.length-1][0])>-1)break;if(v[1]==="/"&&(!b||!b["string-value"])){var J=Js(a.slice(k,v.index),y);w=(w.length>0?w+"\n":"")+J[0]}else{y=Pe(v[0],false);k=v.index+v[0].length}break;case"s":break;case"database-range":if(v[1]==="/")break;try{B=mi(Pe(v[0])["target-range-address"]);h[B[0]]["!autofilter"]={ref:B[1]}}catch(K){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(v[1]!=="/"){L=Pe(v[0],false);if(!L.href)break;L.Target=Be(L.href);delete L.href;if(L.Target.charAt(0)=="#"&&L.Target.indexOf(".")>-1){B=mi(L.Target.slice(1));L.Target="#"+B[0]+"!"+B[1]}else if(L.Target.match(/^\.\.[\\\/]/))L.Target=L.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(v[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(t.WTF)throw new Error(v);};}var q={Sheets:h,SheetNames:p,Workbook:R};if(t.bookSheets)delete q.Sheets;return q}function Zs(e,r){r=r||{};if(we(e,"META-INF/manifest.xml"))fa(ye(e,"META-INF/manifest.xml"),r);var t=xe(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=qs(Je(t),r);if(we(e,"meta.xml"))a.Props=ba(ye(e,"meta.xml"));return a}function Qs(e,r){return qs(e,r)}var el=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Ee+r}}();var rl=function(){var e=function(e){return Ue(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var l=0,o=0,c=kt(a["!ref"]||"A1");var f=a["!merges"]||[],u=0;var h=Array.isArray(a);if(a["!cols"]){for(o=0;o<=c.e.c;++o)s.push(" \n")}var p="",d=a["!rows"]||[];for(l=0;l\n")}for(;l<=c.e.r;++l){p=d[l]?' table:style-name="ro'+d[l].ods+'"':"";s.push(" \n");for(o=0;oo)continue;if(f[u].s.r>l)continue;if(f[u].e.c\n")}s.push(" \n");return s.join("")};var n=function(e,r){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var t=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!cols"]){for(var a=0;a\n');e.push(' \n');e.push(" \n");++t}}});var a=0;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;if(r["!rows"]){for(var t=0;t\n');e.push(' \n');e.push(" \n");++a}}});e.push(' \n');e.push(' \n');e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Ee];var i=or({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"});var s=or({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){t.push("\n");t.push(ma().replace(/office:document-meta/g,"office:meta"))}else t.push("\n");n(t,e);t.push(" \n");t.push(" \n");for(var l=0;l!=e.SheetNames.length;++l)t.push(a(e.Sheets[e.SheetNames[l]],e,l,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function tl(e,r){if(r.bookType=="fods")return rl(e,r);var t=Ae();var a="";var n=[];var i=[];a="mimetype";_e(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";_e(t,a,rl(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";_e(t,a,el(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";_e(t,a,Ee+ma());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";_e(t,a,da(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";_e(t,a,ua(n));return t}function al(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}function nl(e){al([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]])(e)}function il(e){al([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function sl(e){if(ta.WS.indexOf(e)>-1)return"sheet";if(ta.CS&&e==ta.CS)return"chart";if(ta.DS&&e==ta.DS)return"dialog";if(ta.MS&&e==ta.MS)return"macro";return e&&e.length?e:"sheet"}function ll(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,sl(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function ol(e,r,t,a,n,i,s,l,o,c,f,u){try{i[a]=na(xe(e,t,true),r);var h=ye(e,r);var p;switch(l){case"sheet":p=_s(h,r,n,o,i[a],c,f,u);break;case"chart":p=As(h,r,n,o,i[a],c,f,u);if(!p||!p["!drawel"])break;var d=Fe(p["!drawel"].Target,r);var m=aa(d);var v=Wn(xe(e,d,true),na(xe(e,m,true),d));var g=Fe(v,d);var b=aa(g);p=ss(xe(e,g,true),g,o,na(xe(e,b,true),g),c,p);break;case"macro":p=Ts(h,r,n,o,i[a],c,f,u);break;case"dialog":p=Fs(h,r,n,o,i[a],c,f,u);break;default:throw new Error("Unrecognized sheet type "+l);}s[a]=p;var w=[];if(i&&i[a])G(i[a]).forEach(function(t){var n="";if(i[a][t].Type==ta.CMNT){n=Fe(i[a][t].Target,r);var s=Ms(ye(e,n,true),n,o);if(!s||!s.length)return;Vn(p,s,false)}if(i[a][t].Type==ta.TCMNT){n=Fe(i[a][t].Target,r);w=w.concat(Yn(ye(e,n,true),o))}});if(w&&w.length)Vn(p,w,true,o.people||[])}catch(k){if(o.WTF)throw k}}function cl(e){return e.charAt(0)=="/"?e.slice(1):e}function fl(e,r){P(N);r=r||{};nl(r);if(we(e,"META-INF/manifest.xml"))return Zs(e,r);if(we(e,"objectdata.xml"))return Zs(e,r);if(we(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support"); +if(typeof parse_numbers_iwa!="undefined"){if(e.FileIndex)return parse_numbers_iwa(e);var t=W.utils.cfb_new();Ce(e).forEach(function(r){_e(t,r,Se(e,r))});return parse_numbers_iwa(t)}throw new Error("Unsupported NUMBERS file")}if(!we(e,"[Content_Types].xml")){if(we(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(we(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a=Ce(e);var n=Qt(xe(e,"[Content_Types].xml"));var i=false;var s,l;if(n.workbooks.length===0){l="xl/workbook.xml";if(ye(e,l,true))n.workbooks.push(l)}if(n.workbooks.length===0){l="xl/workbook.bin";if(!ye(e,l,true))throw new Error("Could not find workbook");n.workbooks.push(l);i=true}if(n.workbooks[0].slice(-3)=="bin")i=true;var o={};var c={};if(!r.bookSheets&&!r.bookProps){gi=[];if(n.sst)try{gi=Os(ye(e,cl(n.sst)),n.sst,r)}catch(f){if(r.WTF)throw f}if(r.cellStyles&&n.themes.length)o=Ds(xe(e,n.themes[0].replace(/^\//,""),true)||"",n.themes[0],r);if(n.style)c=Es(ye(e,cl(n.style)),n.style,o,r)}n.links.map(function(t){try{var a=na(xe(e,aa(cl(t))),t);return Ps(ye(e,cl(t)),a,t,r)}catch(n){}});var u=Cs(ye(e,cl(n.workbooks[0])),n.workbooks[0],r);var h={},p="";if(n.coreprops.length){p=ye(e,cl(n.coreprops[0]),true);if(p)h=ba(p);if(n.extprops.length!==0){p=ye(e,cl(n.extprops[0]),true);if(p)Ca(p,h,r)}}var d={};if(!r.bookSheets||r.bookProps){if(n.custprops.length!==0){p=xe(e,cl(n.custprops[0]),true);if(p)d=Ta(p,r)}}var m={};if(r.bookSheets||r.bookProps){if(u.Sheets)s=u.Sheets.map(function O(e){return e.name});else if(h.Worksheets&&h.SheetNames.length>0)s=h.SheetNames;if(r.bookProps){m.Props=h;m.Custprops=d}if(r.bookSheets&&typeof s!=="undefined")m.SheetNames=s;if(r.bookSheets?m.SheetNames:r.bookProps)return m}s={};var v={};if(r.bookDeps&&n.calcchain)v=Ns(ye(e,cl(n.calcchain)),n.calcchain,r);var g=0;var b={};var w,k;{var y=u.Sheets;h.Worksheets=y.length;h.SheetNames=[];for(var x=0;x!=y.length;++x){h.SheetNames[x]=y[x].name}}var S=i?"bin":"xml";var C=n.workbooks[0].lastIndexOf("/");var _=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!we(e,_))_="xl/_rels/workbook."+S+".rels";var A=na(xe(e,_,true),_.replace(/_rels.*/,"s5s"));if((n.metadata||[]).length>=1){r.xlmeta=Is(ye(e,cl(n.metadata[0])),n.metadata[0],r)}if((n.people||[]).length>=1){r.people=Kn(ye(e,cl(n.people[0])),r)}if(A)A=ll(A,u.Sheets);var T=ye(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(g=0;g!=h.Worksheets;++g){var F="sheet";if(A&&A[g]){w="xl/"+A[g][1].replace(/[\/]?xl\//,"");if(!we(e,w))w=A[g][1];if(!we(e,w))w=_.replace(/_rels\/.*$/,"")+A[g][1];F=A[g][2]}else{w="xl/worksheets/sheet"+(g+1-T)+"."+S;w=w.replace(/sheet0\./,"sheet.")}k=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");if(r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(g!=r.sheets)continue e;break;case"string":if(h.SheetNames[g].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var E=false;for(var D=0;D!=r.sheets.length;++D){if(typeof r.sheets[D]=="number"&&r.sheets[D]==g)E=1;if(typeof r.sheets[D]=="string"&&r.sheets[D].toLowerCase()==h.SheetNames[g].toLowerCase())E=1}if(!E)continue e};}ol(e,w,k,h.SheetNames[g],g,b,s,F,r,u,o,c)}m={Directory:n,Workbook:u,Props:h,Custprops:d,Deps:v,Sheets:s,SheetNames:h.SheetNames,Strings:gi,Styles:c,Themes:o,SSF:N.get_table()};if(r&&r.bookFiles){if(e.files){m.keys=a;m.files=e.files}else{m.keys=[];m.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");m.keys.push(r);m.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(n.vba.length>0)m.vbaraw=ye(e,cl(n.vba[0]),true);else if(n.defaults&&n.defaults.bin===Zn)m.vbaraw=ye(e,"xl/vbaProject.bin",true)}return m}function ul(e,r){var t=r||{};var a="Workbook",n=W.find(e,a);try{a="/!DataSpaces/Version";n=W.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);parse_DataSpaceVersionInfo(n.content);a="/!DataSpaces/DataSpaceMap";n=W.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=parse_DataSpaceMap(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=W.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=parse_DataSpaceDefinition(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=W.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);parse_Primary(n.content)}catch(l){}a="/EncryptionInfo";n=W.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=parse_EncryptionInfo(n.content);a="/EncryptedPackage";n=W.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(o[1],n.content,t.password||"",t);if(o[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(o[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function hl(e,r){if(r.bookType=="ods")return tl(e,r);if(r.bookType=="xlsb")return pl(e,r);return dl(e,r)}function pl(e,r){jn=1024;if(e&&!e.SSF){e.SSF=N.get_table()}if(e&&e.SSF){P(N);N.load_table(e.SSF);r.revssf=K(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(wi)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType=="xlsb"?"bin":"xml";var a=ri.indexOf(r.bookType)>-1;var n=Zt();il(r=r||{});var i=Ae();var s="",l=0;r.cellXfs=[];Si(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";_e(i,s,ka(e.Props,r));n.coreprops.push(s);oa(r.rels,2,s,ta.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var c=0;c0){s="docProps/custom.xml";_e(i,s,Fa(e.Custprops,r));n.custprops.push(s);oa(r.rels,4,s,ta.CUST_PROPS)}for(l=1;l<=e.SheetNames.length;++l){var f={"!id":{}};var u=e.Sheets[e.SheetNames[l-1]];var h=(u||{})["!type"]||"sheet";switch(h){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;_e(i,s,Ls(l-1,s,r,e,f));n.sheets.push(s);oa(r.wbrels,-1,"worksheets/sheet"+l+"."+t,ta.WS[0]);}if(u){var p=u["!comments"];var d=false;var m="";if(p&&p.length>0){m="xl/comments"+l+"."+t;_e(i,m,Us(p,m,r));n.comments.push(m);oa(f,-1,"../comments"+l+"."+t,ta.CMNT);d=true}if(u["!legacy"]){if(d)_e(i,"xl/drawings/vmlDrawing"+l+".vml",Hn(l,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(f["!id"].rId1)_e(i,aa(s),sa(f))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;_e(i,s,zs(r.Strings,s,r));n.strs.push(s);oa(r.wbrels,-1,"sharedStrings."+t,ta.SST)}s="xl/workbook."+t;_e(i,s,Rs(e,s,r));n.workbooks.push(s);oa(r.rels,1,s,ta.WB);s="xl/theme/theme1.xml";_e(i,s,Ln(e.Themes,r));n.themes.push(s);oa(r.wbrels,-1,"theme/theme1.xml",ta.THEME);s="xl/styles."+t;_e(i,s,$s(e,s,r));n.styles.push(s);oa(r.wbrels,-1,"styles."+t,ta.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";_e(i,s,e.vbaraw);n.vba.push(s);oa(r.wbrels,-1,"vbaProject.bin",ta.VBA)}s="xl/metadata."+t;_e(i,s,Ws(s));n.metadata.push(s);oa(r.wbrels,-1,"metadata."+t,ta.XLMETA);_e(i,"[Content_Types].xml",ra(n,r));_e(i,"_rels/.rels",sa(r.rels));_e(i,"xl/_rels/workbook."+t+".rels",sa(r.wbrels));delete r.revssf;delete r.ssf;return i}function dl(e,r){jn=1024;if(e&&!e.SSF){e.SSF=N.get_table()}if(e&&e.SSF){P(N);N.load_table(e.SSF);r.revssf=K(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(wi)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=ri.indexOf(r.bookType)>-1;var n=Zt();il(r=r||{});var i=Ae();var s="",l=0;r.cellXfs=[];Si(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";_e(i,s,ka(e.Props,r));n.coreprops.push(s);oa(r.rels,2,s,ta.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var c=0;c0){s="docProps/custom.xml";_e(i,s,Fa(e.Custprops,r));n.custprops.push(s);oa(r.rels,4,s,ta.CUST_PROPS)}var f=["SheetJ5"];r.tcid=0;for(l=1;l<=e.SheetNames.length;++l){var u={"!id":{}};var h=e.Sheets[e.SheetNames[l-1]];var p=(h||{})["!type"]||"sheet";switch(p){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;_e(i,s,ns(l-1,r,e,u));n.sheets.push(s);oa(r.wbrels,-1,"worksheets/sheet"+l+"."+t,ta.WS[0]);}if(h){var d=h["!comments"];var m=false;var v="";if(d&&d.length>0){var g=false;d.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){v="xl/threadedComments/threadedComment"+l+"."+t;_e(i,v,Jn(d,f,r));n.threadedcomments.push(v);oa(u,-1,"../threadedComments/threadedComment"+l+"."+t,ta.TCMNT)}v="xl/comments"+l+"."+t;_e(i,v,Gn(d,r));n.comments.push(v);oa(u,-1,"../comments"+l+"."+t,ta.CMNT);m=true}if(h["!legacy"]){if(m)_e(i,"xl/drawings/vmlDrawing"+l+".vml",Hn(l,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)_e(i,aa(s),sa(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;_e(i,s,Ya(r.Strings,r));n.strs.push(s);oa(r.wbrels,-1,"sharedStrings."+t,ta.SST)}s="xl/workbook."+t;_e(i,s,Ss(e,r));n.workbooks.push(s);oa(r.rels,1,s,ta.WB);s="xl/theme/theme1.xml";_e(i,s,Ln(e.Themes,r));n.themes.push(s);oa(r.wbrels,-1,"theme/theme1.xml",ta.THEME);s="xl/styles."+t;_e(i,s,An(e,r));n.styles.push(s);oa(r.wbrels,-1,"styles."+t,ta.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";_e(i,s,e.vbaraw);n.vba.push(s);oa(r.wbrels,-1,"vbaProject.bin",ta.VBA)}s="xl/metadata."+t;_e(i,s,$n());n.metadata.push(s);oa(r.wbrels,-1,"metadata."+t,ta.XLMETA);if(f.length>1){s="xl/persons/person.xml";_e(i,s,qn(f,r));n.people.push(s);oa(r.wbrels,-1,"persons/person.xml",ta.PEOPLE)}_e(i,"[Content_Types].xml",ra(n,r));_e(i,"_rels/.rels",sa(r.rels));_e(i,"xl/_rels/workbook."+t+".rels",sa(r.wbrels));delete r.revssf;delete r.ssf;return i}function ml(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=g.decode(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function vl(e,r){if(W.find(e,"EncryptedPackage"))return ul(e,r);return parse_xlscfb(e,r)}function gl(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=b&&Buffer.isBuffer(e)?"buffer":"base64";t=Te(a,n);return fl(t,n)}function bl(e,r){var t=0;e:while(t=2&&n[3]===0)return WK_.to_workbook(a,t);if(n[2]===0&&(n[3]===8||n[3]===9))return WK_.to_workbook(a,t)}break;case 3:;case 131:;case 139:;case 140:return Da.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return RTF.to_workbook(a,t);break;case 10:;case 13:;case 32:return wl(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;}if(Ea.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31)return Da.to_workbook(a,t);return xl(e,a,t,i)}function Cl(e,r){var t=r||{};t.type="file";return Sl(e,t)}function _l(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return V(r.file,W.write(e,{type:b?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return W.write(e,r)}function Al(e,r){var t=ce(r||{});var a=hl(e,t);return Fl(a,t)}function Tl(e,r){var t=ce(r||{});var a=dl(e,t);return Fl(a,t)}function Fl(e,r){var t={};var a=b?"nodebuffer":typeof Uint8Array!=="undefined"?"array":"string";if(r.compression)t.compression="DEFLATE";if(r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":;case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type);}var n=e.FullPaths?W.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno!=="undefined"){if(typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(_(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return _l(encrypt_agile(n,r.password),r);if(r.type==="file")return V(r.file,n);return r.type=="string"?Je(n):n}function El(e,r){var t=r||{};var a=write_xlscfb(e,t);return _l(a,t)}function Dl(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return g.encode(Ke(a));case"binary":return Ke(a);case"string":return e;case"file":return V(r.file,a,"utf8");case"buffer":{if(b)return w(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Dl(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Ol(e,r){switch(r.type){case"base64":return g.encode(e);case"binary":return e;case"string":return e;case"file":return V(r.file,e,"binary");case"buffer":{if(b)return w(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Ml(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=ft(o.s.r);var h=[];var p=[];var d=0,m=0;var v=Array.isArray(e);var g=o.s.r,b=0;var w={};if(v&&!e[g])e[g]=[];var k=c.skipHidden&&e["!cols"]||[];var y=c.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((k[b]||{}).hidden)continue;h[b]=dt(b);t=v?e[g][b]:e[h[b]+u];switch(a){case 1:i[b]=b-o.s.c;break;case 2:i[b]=h[b];break;case 3:i[b]=c.header[b-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};l=s=Ct(t,null,c);m=w[s]||0;if(!m)w[s]=1;else{do{l=s+"_"+m++}while(w[l]);w[s]=m;w[l]=1}i[b]=l;}}for(g=o.s.r+n;g<=o.e.r;++g){if((y[g]||{}).hidden)continue;var x=$l(e,o,g,h,a,i,v,c);if(x.isempty===false||(a===1?c.blankrows!==false:!!c.blankrows))p[d++]=x.row}p.length=d;return p}var Ul=/"/g;function Wl(e,r,t,a,n,i,s,l){var o=true;var c=[],f="",u=ft(t);for(var h=r.s.c;h<=r.e.c;++h){if(!a[h])continue;var p=l.dense?(e[t]||[])[h]:e[a[h]+u];if(p==null)f="";else if(p.v!=null){o=false;f=""+(l.rawNumbers&&p.t=="n"?p.v:Ct(p,null,l));for(var d=0,m=0;d!==f.length;++d)if((m=f.charCodeAt(d))===n||m===i||m===34||l.forceQuotes){f='"'+f.replace(Ul,'""')+'"';break}if(f=="ID")f='"ID"'}else if(p.f!=null&&!p.F){o=false;f="="+p.f;if(f.indexOf(",")>=0)f='"'+f.replace(Ul,'""')+'"'}else f="";c.push(f)}if(l.blankrows===false&&o)return null;return c.join(s)}function jl(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=xt(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var l=a.RS!==undefined?a.RS:"\n",o=l.charCodeAt(0);var c=new RegExp((i=="|"?"\\|":i)+"+$");var f="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var p=a.skipHidden&&e["!rows"]||[];for(var d=n.s.c;d<=n.e.c;++d)if(!(h[d]||{}).hidden)u[d]=dt(d);var m=0;for(var v=n.s.r;v<=n.e.r;++v){if((p[v]||{}).hidden)continue;f=Wl(e,n,v,u,s,o,i,a);if(f==null){continue}if(a.strip)f=f.replace(c,"");if(f||a.blankrows!==false)t.push((m++?l:"")+f)}delete a.dense;return t.join("")}function Hl(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=jl(e,r);if(typeof $cptable=="undefined"||r.type=="string")return t;var a=$cptable.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function Vl(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=xt(e["!ref"]),i="",s=[],l;var o=[];var c=Array.isArray(e);for(l=n.s.c;l<=n.e.c;++l)s[l]=dt(l);for(var f=n.s.r;f<=n.e.r;++f){i=ft(f);for(l=n.s.c;l<=n.e.c;++l){r=s[l]+i;t=c?(e[f]||[])[l]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function Xl(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?bt(a.origin):a.origin;s=o.r;l=o.c}}var c;var f={s:{c:0,r:0},e:{c:l,r:s+r.length-1+n}};if(i["!ref"]){var u=xt(i["!ref"]);f.e.c=Math.max(f.e.c,u.e.c);f.e.r=Math.max(f.e.r,u.e.r);if(s==-1){s=u.e.r+1;f.e.r=s+r.length-1+n}}else{if(s==-1){s=0;f.e.r=r.length-1+n}}var h=a.header||[],p=0;r.forEach(function(e,r){G(e).forEach(function(t){if((p=h.indexOf(t))==-1)h[p=h.length]=t;var o=e[t];var f="z";var u="";var d=wt({c:l+p,r:s+r+n});c=Yl(i,d);if(o&&typeof o==="object"&&!(o instanceof Date)){i[d]=o}else{if(typeof o=="number")f="n";else if(typeof o=="boolean")f="b";else if(typeof o=="string")f="s";else if(o instanceof Date){f="d";if(!a.cellDates){f="n";o=Q(o)}u=a.dateNF||N._table[14]}else if(o===null&&a.nullError){f="e";o=0}if(!c)i[d]=c={t:f,v:o};else{c.t=f;c.v=o;delete c.w;delete c.R;if(u)c.z=u}if(u)c.z=u}})});f.e.c=Math.max(f.e.c,l+h.length-1);var d=ft(s);if(n)for(p=0;p=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function Kl(){return{SheetNames:[],Sheets:{}}}function ql(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");bs(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r}function Zl(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Jl(e,r);if(!e.Workbook.Sheets[a])e.Workbook.Sheets[a]={};switch(t){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+t);}e.Workbook.Sheets[a].Hidden=t}function Ql(e,r){e.z=r;return e}function eo(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function ro(e,r,t){return eo(e,"#"+r,t)}function to(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function ao(e,r,t,a){var n=typeof r!="string"?r:xt(r);var i=typeof r=="string"?r:yt(r);for(var s=n.s.r;s<=n.e.r;++s)for(var l=n.s.c;l<=n.e.c;++l){var o=Yl(e,s,l);o.t="n";o.F=i;delete o.v;if(s==n.s.r&&l==n.s.c){o.f=t;if(a)o.D=true}}return e}var no={encode_col:dt,encode_row:ft,encode_cell:wt,encode_range:yt,decode_col:pt,decode_row:ct,split_cell:gt,decode_cell:bt,decode_range:kt,format_cell:Ct,sheet_add_aoa:At,sheet_add_json:Xl,sheet_add_dom:Hs,aoa_to_sheet:Tt,json_to_sheet:Gl,table_to_sheet:Vs,table_to_book:Xs,sheet_to_csv:jl,sheet_to_txt:Hl,sheet_to_json:zl,sheet_to_html:js.from_sheet,sheet_to_formulae:Vl,sheet_to_row_object_array:zl,sheet_get_cell:Yl,book_new:Kl,book_append_sheet:ql,book_set_sheet_visibility:Zl,cell_set_number_format:Ql,cell_set_hyperlink:eo,cell_set_internal_link:ro,cell_add_comment:to,sheet_set_array_formula:ao,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};if(typeof parse_xlscfb!=="undefined")e.parse_xlscfb=parse_xlscfb;e.parse_zip=fl;e.read=Sl;e.readFile=Cl;e.readFileSync=Cl;e.write=Pl;e.writeFile=Rl;e.writeFileSync=Rl;e.writeFileAsync=Bl;e.utils=no;e.writeXLSX=Nl;e.writeFileXLSX=Ll;e.SSF=N;if(typeof __stream!=="undefined")e.stream=__stream;if(typeof W!=="undefined")e.CFB=W;if(typeof require!=="undefined"){var io=undefined;if((io||{}).Readable)set_readable(io.Readable)}}if(typeof exports!=="undefined")make_xlsx_lib(exports);else if(typeof module!=="undefined"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define==="function"&&define.amd)define("xlsx",function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);if(typeof window!=="undefined"&&!window.XLSX)try{window.XLSX=XLSX}catch(e){} diff --git a/dist/xlsx.mini.min.map b/dist/xlsx.mini.min.map index 161e37f..a4d34de 100644 --- a/dist/xlsx.mini.min.map +++ b/dist/xlsx.mini.min.map @@ -1 +1 @@ -{"version":3,"sources":["dist/xlsx.mini.js"],"names":["XLSX","make_xlsx_lib","version","current_codepage","current_ansi","VALID_ANSI","i","push","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","data","o","len","length","charCodeAt","utf16leread","String","fromCharCode","join","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","DENSE","DIF_XL","Base64","map","encode","input","c3","e1","e2","e3","e4","isNaN","charAt","decode","replace","has_buf","Buffer","undefined","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","n","allocUnsafe","new_raw_buf","Uint8Array","Array","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","utf8decode","content","out","widx","L","ridx","d","bconcat","bufs","maxlen","set","concat","apply","call","chr0","chr1","SSF","make_ssf","_strrev","fill","l","pad0","v","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","make_general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","w","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","_general_num","general_fmt","format","_general","write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","5","6","7","8","23","24","25","26","27","28","29","30","31","32","33","34","35","36","41","42","43","44","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","DO_NOT_EXPORT_CFB","CRC32","factory","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","C","crc32_buf","crc32_str","CFB","_CFB","exports","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","fs","get_fs","parse","file","options","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","isBuffer","init_cfb","cfb","root","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","utils","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","require","module","_fs","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","xlml_normalize","xlmlregex","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","cpdoit","cptable","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","ba_push","_bufs","write_record","ba","XLSBRE","make_XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","3","4","9","10","11","12","13","14","15","16","17","19","22","2147483648","2147483651","1919054434","SummaryPIDSI","18","DocSummaryRE","SummaryRE","CountryEnum","20","39","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","XLSIcv","RBErr","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","type2ct","CT","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","wmo","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","21","37","38","87","88","89","108","135","dbf_reverse_map","DBF_SUPPORTED_VERSIONS","dbf_to_aoa","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","versions","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","B ","!","\"","#","(","%","'","H ","+",";","<","=",">","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","hidden","wch","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","F","a1_to_rc","write_ws_cols_sylk","cols","rec","width","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","bytes","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","parse_rpr","rpr","font","pass","shadow","outline","strike","uval","rgb","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","Count","count","Unique","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","patternType","bgColor","indexed","theme","fgColor","parse_fonts","Fonts","bold","italic","underline","condense","extend","vertAlign","scheme","auto","index","icv","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","XLMETA","parse_xlmeta_xml","Types","write_xlmeta_xml","parse_xlink_xml","parse_xlink_bin","xlink_parse","R_n","IMG","DRAW","parse_drawing","id","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","CMNT","sheet_insert_comments","comment","ref","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","guid","textMatch","rt","CMNT_XML_ROOT","write_comments_xml","iauthor","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","level","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","footer","get_cell_style","revssf","ssf","fontId","fillId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellStyles","raw_rgb","check_ws","sname","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","refguess","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","merges","_merge","hlink","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","sp","password","crypto_CreatePasswordVerifier_Method1","location","Rel","tooltip","Tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","names","Name","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","RTL","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","cf","arrayf","sharedf","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","xlfn","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","CHART","CHARTEX","parse_Cache","num","nf","parse_chart","csheet","nc","cache","CS","CS_XML_ROOT","parse_cs_xml","!drawel","!rel","write_cs_xml","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","AppVersion","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_wb","parse_wb_bin","parse_ws","parse_ws_bin","parse_cs","parse_cs_bin","parse_ms","parse_ds","parse_sty","parse_sty_bin","parse_theme","parse_sst","parse_sst_bin","parse_cmnt","parse_comments_bin","parse_cc","parse_cc_bin","parse_cc_xml","parse_xlink","parse_xlmeta","parse_xlmeta_bin","write_wb","write_wb_bin","write_ws","write_ws_bin","write_cs","write_cs_bin","write_sty","write_sty_bin","write_sst","write_sst_bin","write_cmnt","write_comments_bin","write_xlmeta","write_xlmeta_bin","HTML_","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","display","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_content_xml","parse_text_p","fixed","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","pcx","NFtag","pidx","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","lastIndex","rptR","rpt","nrange","ptp","bookSheets","parse_ods","parse_fods","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","mi","ods","ROWS","skip","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","wcx","attr","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","fix_opts_func","fix_opts","fix_read_opts","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","strRelID","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","NUMBERS","parse_numbers","_zip","entries","dir","binname","bookProps","link","propdata","pluck","Custprops","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Directory","Deps","Styles","bookFiles","bookVBA","bin","parse_xlsxcfb","parse_DataSpaceVersionInfo","dsm","parse_DataSpaceMap","comps","seds","parse_DataSpaceDefinition","parse_Primary","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","write_zip_xlsxb","foo","vbafmt","General","_sn","_i","wsrels","_type","need_vml","rId1","write_zip_xlsx","read_cfb","parse_xlscfb","read_zip","read_plaintext","parse_xlml","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","WK_","RTF","write_obj_str","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","write_wk1_buf","sheet_to_wk1","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_xlscfb","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","write_xlml","book_to_wk3","write_biff_buf","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","hdr","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","CC","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","sheet_get_cell","json_to_sheet","table_to_sheet","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","readFile","writeXLSX","writeFileXLSX","__stream","stream","strmod","Readable","set_readable","define","amd","window"],"mappings":"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","file":"dist/xlsx.mini.min.js"} \ No newline at end of file +{"version":3,"sources":["dist/xlsx.mini.js"],"names":["XLSX","make_xlsx_lib","version","current_codepage","current_ansi","VALID_ANSI","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","data","o","i","len","length","charCodeAt","utf16leread","String","fromCharCode","join","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","DENSE","DIF_XL","Base64","map","encode","input","c3","e1","e2","e3","e4","isNaN","charAt","decode","replace","has_buf","Buffer","undefined","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","n","allocUnsafe","new_raw_buf","Uint8Array","Array","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","utf8decode","content","out","widx","L","ridx","d","push","bconcat","bufs","maxlen","set","concat","apply","call","chr0","chr1","SSF","make_ssf","_strrev","fill","l","pad0","v","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","default_map","defi","default_str","5","63","6","64","7","65","8","66","41","42","43","44","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","make_general_fmt_num","trailing_zeroes_and_decimal","strip_decimal","mantissa_zeroes_and_decimal","exp_with_single_digit","normalize_exp","small_exp","w","toFixed","toPrecision","toExponential","large_exp","general_fmt_num_base","V","log","LOG10E","substr","toUpperCase","_general_num","general_fmt","format","_general","write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","23","24","25","26","27","28","29","30","31","32","33","34","35","36","50","51","52","53","54","55","56","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","CRC32","signed_crc_table","Int32Array","T0","slice_by_16_tables","subarray","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","seed","C","crc32_buf","crc32_str","CFB","_CFB","exports","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","fs","get_fs","parse","file","options","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","shift","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","seen","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","offset","__readUInt32LE","read_file","readFileSync","read","isBuffer","init_cfb","cfb","root","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","path","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","error","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","_deflateRawIIFE","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","hash","mlen","len_eb","dst_eb","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","unsafe","cdirs","method","compression","desc","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","get_content_type","ctype","ext","write_base64_76","write_quoted_printable","text","encoded","si","end","tmp","parse_quoted_printable","di","line","oi","parse_mime","fname","cte","fdata","trim","row","test","mboundary","boundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","fpath","utils","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","_fs","require","blobify","write_dl","Deno","TextEncoder","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","matches","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","xlsx","xlml_normalize","xlmlregex","XMLNS","CORE_PROPS","CUST_PROPS","EXT_PROPS","CT","RELS","TCMNT","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","XMLNS_main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","cpdoit","$cptable","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","ba_end","ba_push","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","BErr","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","3","4","9","10","11","12","13","14","15","16","17","19","22","2147483648","2147483651","1919054434","SummaryPIDSI","18","CountryEnum","20","39","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","_XLSIcv","XLSIcv","RBErr","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.sheet.macroEnabled.main+xml","application/vnd.ms-excel.sheet.binary.macroEnabled.main","application/vnd.ms-excel.addin.macroEnabled.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","application/vnd.ms-excel.worksheet","application/vnd.ms-excel.binIndexWs","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.chartsheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","application/vnd.ms-excel.sharedStrings","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","application/vnd.ms-excel.styles","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.comments","application/vnd.ms-excel.threadedcomments+xml","application/vnd.ms-excel.person+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-office.chartex+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","new_ct","rels","threadedcomments","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","people","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","write_ct","type2ct","f1","bookType","f2","f3","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","Props","CreatedDate","xsi:type","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","write_ext_props","W","Application","xmlns:vt","custregex","parse_cust_props","toks","warn","write_cust_props","pid","custprop","fmtid","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","21","37","38","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","B ","!","\"","#","(","%","'","H ","+",";","<","=",">","{","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","hidden","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","F","a1_to_rc","write_ws_cols_sylk","rec","width","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","bytes","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","parse_rpr","rpr","font","pass","shadow","outline","strike","uval","rgb","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","filter","rs_to_html","parse_rs_factory","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","Count","count","Unique","uniqueCount","straywsregex","write_sst_xml","bookSST","sitag","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","hex","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","patternType","bgColor","indexed","theme","fgColor","parse_fonts","Fonts","bold","italic","underline","condense","extend","vertAlign","scheme","auto","index","icv","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","write_sty_xml","wb","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_xlmeta_xml","Types","Cell","Value","metatype","write_xlmeta_xml","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","id","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","sheet_insert_comments","threaded","comment","ref","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","guid","textMatch","rt","write_comments_xml","iauthor","ID","lastauthor","ts","parse_tcmnt_xml","tidx","xml_tcmnt","personId","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","parse_people_xml","displayname","write_people_xml","person","displayName","userId","providerId","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","level","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","footer","get_cell_style","revssf","ssf","fontId","fillId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellStyles","raw_rgb","check_ws","sname","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml","refguess","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","parse_ws_xml_sheetpr2","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","merges","_merge","hlink","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","sp","password","crypto_CreatePasswordVerifier_Method1","location","Rel","tooltip","Tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","names","Name","Sheet","Ref","sviewregex","Views","zoomScale","zoom","rightToLeft","RTL","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","cf","arrayf","sharedf","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","xlfn","___f","_tag","xlmeta","_r","write_ws_xml_data","params","height","_cell","customHeight","write_ws_xml","xmlns:r","sidx","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","r:id","parse_Cache","num","nf","parse_chart","csheet","nc","cache","parse_cs_xml","!drawel","!rel","write_cs_xml","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","AppVersion","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","write_wb_xml","write_names","workbookPr","sheetId","parse_wb","parse_wb_bin","parse_ws","parse_ws_bin","parse_cs","parse_cs_bin","parse_ms","parse_ds","parse_sty","parse_sty_bin","parse_theme","parse_sst","parse_sst_bin","parse_cmnt","parse_comments_bin","parse_cc","parse_cc_bin","parse_cc_xml","parse_xlink","parse_xlmeta","parse_xlmeta_bin","write_wb","write_wb_bin","write_ws","write_ws_bin","write_cs","write_cs_bin","write_sty","write_sty_bin","write_sst","write_sst_bin","write_cmnt","write_comments_bin","write_xlmeta","write_xlmeta_bin","HTML_","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","book_new","book_append_sheet","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","display","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","parse_content_xml","NFtag","pidx","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","lastIndex","rptR","rpt","nrange","ptp","bookSheets","parse_ods","parse_fods","write_styles_ods","master_styles","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","mi","ods","ROWS","skip","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","wcx","attr","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","fix_opts_func","fix_opts","fix_read_opts","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","strRelID","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","tcomments","strip_front_slash","parse_numbers_iwa","_zip","entries","dir","binname","bookProps","link","propdata","pluck","Custprops","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Directory","Deps","Styles","bookFiles","bookVBA","bin","parse_xlsxcfb","parse_DataSpaceVersionInfo","dsm","parse_DataSpaceMap","comps","seds","parse_DataSpaceDefinition","parse_Primary","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","write_zip_xlsxb","write_zip_xlsx","foo","vbafmt","General","_sn","_i","wsrels","_type","need_vml","rId1","needtc","read_cfb","parse_xlscfb","read_zip","read_plaintext","main","parse_xlml","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","WK_","RTF","write_cfb_ctr","write_zip_type","write_zip_denouement","write_zip_typeXLSX","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_cfb_type","write_xlscfb","write_string_type","bom","write_stxt_type","write_binary_type","writeSyncXLSX","writeSync","write_xlml","sheet_to_txt","sheet_to_csv","sheet_to_wk1","book_to_wk3","write_biff_buf","resolve_book_type","_BT","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","hdr","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","json_to_sheet","RC","wb_sheet_idx","sh","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","table_to_sheet","sheet_to_row_object_array","sheet_get_cell","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","readFile","writeXLSX","writeFileXLSX","__stream","stream","strmod","Readable","set_readable","module","define","amd","window"],"mappings":"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","file":"dist/xlsx.mini.min.js"} \ No newline at end of file diff --git a/docbits/16_demos.md b/docbits/16_demos.md index b9b5629..44ecf89 100644 --- a/docbits/16_demos.md +++ b/docbits/16_demos.md @@ -35,6 +35,7 @@ The [`demos` directory](demos/) includes sample projects for: - [`canvas-datagrid`](demos/datagrid/) - [`x-spreadsheet`](demos/xspreadsheet/) - [`react-data-grid`](demos/react/modify/) +- [`vue3-table-light`](demos/vue/modify/) - [`Swift JSC and other engines`](demos/altjs/) - [`"serverless" functions`](demos/function/) - [`internet explorer`](demos/oldie/) diff --git a/docbits/32_egress.md b/docbits/32_egress.md index cb0b797..3189914 100644 --- a/docbits/32_egress.md +++ b/docbits/32_egress.md @@ -80,6 +80,14 @@ export default function App() {
+
+ Previewing data in a VueJS data grid (click to show) + +[`vue3-table-lite`](https://github.com/linmasahiro/vue3-table-lite) is a simple +VueJS 3 data table. It is featured [in the VueJS demo](/demos/vue/modify/). + +
+
Populating a database (SQL or no-SQL) (click to show) diff --git a/misc/00_esmheader.js b/misc/00_esmheader.js index 00bf21b..c0e6dce 100644 --- a/misc/00_esmheader.js +++ b/misc/00_esmheader.js @@ -1,5 +1,5 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global process:false, Buffer:false, ArrayBuffer:false, Deno:false */ +/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; diff --git a/misc/51_xlsxmeta.js b/misc/51_xlsxmeta.js index 30ad251..a647c88 100644 --- a/misc/51_xlsxmeta.js +++ b/misc/51_xlsxmeta.js @@ -3,8 +3,8 @@ function parse_xlmeta_xml(data, name, opts) { if (!data) return out; var pass = false; - var metatype = ""; - data.replace(tagregex, function(x, idx) { + var metatype = 2; + data.replace(tagregex, function(x) { var y = parsexmltag(x); switch (strip_ns(y[0])) { case "": break; case "": break; case "": - metatype = ""; + metatype = 2; break; case "": - metatype = ""; + metatype = 2; break; case "": diff --git a/misc/docs/README.md b/misc/docs/README.md index 0d52e3a..bcc1d41 100644 --- a/misc/docs/README.md +++ b/misc/docs/README.md @@ -563,6 +563,7 @@ The [`demos` directory](demos/) includes sample projects for: - [`canvas-datagrid`](demos/datagrid/) - [`x-spreadsheet`](demos/xspreadsheet/) - [`react-data-grid`](demos/react/modify/) +- [`vue3-table-light`](demos/vue/modify/) - [`Swift JSC and other engines`](demos/altjs/) - [`"serverless" functions`](demos/function/) - [`internet explorer`](demos/oldie/) @@ -1721,6 +1722,11 @@ export default function App() { +[`vue3-table-lite`](https://github.com/linmasahiro/vue3-table-lite) is a simple +VueJS 3 data table. It is featured [in the VueJS demo](/demos/vue/modify/). + + + The [`database` demo](/demos/database/) includes examples of working with databases and query results. diff --git a/modules/51_xlsbmeta.js b/modules/51_xlsbmeta.js index 903dd5a..efae5e4 100644 --- a/modules/51_xlsbmeta.js +++ b/modules/51_xlsbmeta.js @@ -12,7 +12,7 @@ function write_BrtMdtinfo(data) { write_XLWideString(data.name, o); return o.slice(0, o.l); } -function parse_BrtMdb(data, length) { +function parse_BrtMdb(data) { var out = []; var cnt = data.read_shift(4); while (cnt-- > 0) @@ -34,7 +34,7 @@ function write_BrtBeginEsfmd(cnt, name) { write_XLWideString(name, o); return o.slice(0, o.l); } -function parse_BrtBeginEsmdb(data, length) { +function parse_BrtBeginEsmdb(data) { data.l += 4; return data.read_shift(4) != 0; } @@ -49,7 +49,7 @@ function parse_xlmeta_bin(data, name, _opts) { var opts = _opts || {}; var state = []; var pass = false; - var esmdb = 0; + var metatype = 2; recordhopper(data, function(val, R, RT) { switch (RT) { case 335: @@ -57,11 +57,17 @@ function parse_xlmeta_bin(data, name, _opts) { break; case 51: val.forEach(function(r) { - (esmdb == 1 ? out.Cell : out.Value).push({ type: out.Types[r[0] - 1].name, index: r[1] }); + if (metatype == 1) + out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + else if (metatype == 0) + out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); }); break; case 337: - esmdb = val ? 1 : 0; + metatype = val ? 1 : 0; + break; + case 338: + metatype = 2; break; case 35: state.push(RT); diff --git a/modules/51_xlsbmeta.ts b/modules/51_xlsbmeta.ts index 31a2c81..c713f4e 100644 --- a/modules/51_xlsbmeta.ts +++ b/modules/51_xlsbmeta.ts @@ -24,7 +24,7 @@ function write_BrtMdtinfo(data: BrtMdtinfo): RawData { /* [MS-XLSB] 2.4.697 BrtMdb */ type Mdir = [number, number]; // "t", "v" in XLSX parlance type BrtMdb = Mdir[]; -function parse_BrtMdb(data: ReadableData, length: number): BrtMdb { +function parse_BrtMdb(data: ReadableData/*, length: number*/): BrtMdb { var out: Mdir[] = []; var cnt = data.read_shift(4); while(cnt-- > 0) out.push([data.read_shift(4), data.read_shift(4)]); @@ -49,7 +49,7 @@ function write_BrtBeginEsfmd(cnt: number, name: string): RawData { } /* [MS-XLSB] 2.4.73 BrtBeginEsmdb */ -function parse_BrtBeginEsmdb(data: ReadableData, length: number): boolean { +function parse_BrtBeginEsmdb(data: ReadableData/*, length: number*/): boolean { data.l += 4; return data.read_shift(4) != 0; } @@ -66,14 +66,13 @@ function parse_xlmeta_bin(data, name: string, _opts?: ParseXLMetaOptions): XLMet var opts = _opts || {}; var state: number[] = []; var pass = false; - var esmdb: 0 | 1 = 0; + var metatype: 0 | 1 | 2 = 2; recordhopper(data, (val, R, RT) => { switch(RT) { // case 0x014C: /* BrtBeginMetadata */ // case 0x014D: /* BrtEndMetadata */ // case 0x014E: /* BrtBeginEsmdtinfo */ // case 0x0150: /* BrtEndEsmdtinfo */ - // case 0x0152: /* BrtEndEsmdb */ // case 0x0153: /* BrtBeginEsfmd */ // case 0x0154: /* BrtEndEsfmd */ // case 0x0034: /* BrtBeginFmd */ @@ -88,11 +87,14 @@ function parse_xlmeta_bin(data, name: string, _opts?: ParseXLMetaOptions): XLMet case 0x0033: /* BrtMdb */ (val as BrtMdb).forEach(r => { - (esmdb == 1 ? out.Cell : out.Value).push({type: out.Types[r[0] - 1].name, index: r[1] }); + if(metatype == 1) out.Cell.push({type: out.Types[r[0] - 1].name, index: r[1] }); + else if(metatype == 0) out.Value.push({type: out.Types[r[0] - 1].name, index: r[1] }); }); break; case 0x0151: /* BrtBeginEsmdb */ - esmdb = (val as boolean) ? 1 /* cell */ : 0 /* value */; break; + metatype = (val as boolean) ? 1 /* cell */ : 0 /* value */; break; + case 0x0152: /* BrtEndEsmdb */ + metatype = 2; break; case 0x0023: /* BrtFRTBegin */ state.push(RT); pass = true; break; diff --git a/modules/51_xlsxmeta.js b/modules/51_xlsxmeta.js index 30ad251..a647c88 100644 --- a/modules/51_xlsxmeta.js +++ b/modules/51_xlsxmeta.js @@ -3,8 +3,8 @@ function parse_xlmeta_xml(data, name, opts) { if (!data) return out; var pass = false; - var metatype = ""; - data.replace(tagregex, function(x, idx) { + var metatype = 2; + data.replace(tagregex, function(x) { var y = parsexmltag(x); switch (strip_ns(y[0])) { case "": break; case "": break; case "": - metatype = ""; + metatype = 2; break; case "": - metatype = ""; + metatype = 2; break; case "": diff --git a/modules/51_xlsxmeta.ts b/modules/51_xlsxmeta.ts index 285189b..5133320 100644 --- a/modules/51_xlsxmeta.ts +++ b/modules/51_xlsxmeta.ts @@ -5,9 +5,9 @@ function parse_xlmeta_xml(data: string, name: string, opts?: ParseXLMetaOptions) var out: XLMeta = { Types: [], Cell: [], Value: [] }; if(!data) return out; var pass = false; - var metatype: "cell" | "value" | "" = ""; + var metatype: 0 | 1 | 2 = 2; - data.replace(tagregex, (x: string, idx: number) => { + data.replace(tagregex, (x: string/*, idx: number*/) => { var y: any = parsexmltag(x); switch(strip_ns(y[0])) { case '': break; /* 18.9.3 */ - case '': metatype = ""; break; + case '': metatype = 2; break; /* 18.9.17 */ - case '': metatype = ""; break; + case '': metatype = 2; break; /* 18.2.10 extLst CT_ExtensionList ? */ case '': case '': case '': break; diff --git a/modules/83_numbers.js b/modules/83_numbers.js index 3fbdc88..2b50de1 100644 --- a/modules/83_numbers.js +++ b/modules/83_numbers.js @@ -60,43 +60,6 @@ function parse_varint49(buf, ptr) { ptr[0] = l; return usz; } -function write_varint49(v) { - var usz = new Uint8Array(7); - usz[0] = v & 127; - var L = 1; - sz: - if (v > 127) { - usz[L - 1] |= 128; - usz[L] = v >> 7 & 127; - ++L; - if (v <= 16383) - break sz; - usz[L - 1] |= 128; - usz[L] = v >> 14 & 127; - ++L; - if (v <= 2097151) - break sz; - usz[L - 1] |= 128; - usz[L] = v >> 21 & 127; - ++L; - if (v <= 268435455) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 256 >>> 21 & 127; - ++L; - if (v <= 34359738367) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 65536 >>> 21 & 127; - ++L; - if (v <= 4398046511103) - break sz; - usz[L - 1] |= 128; - usz[L] = v / 16777216 >>> 21 & 127; - ++L; - } - return usz.slice(0, L); -} function varint_to_i32(buf) { var l = 0, i32 = buf[l] & 127; varint: @@ -162,16 +125,6 @@ function parse_shallow(buf) { } return out; } -function write_shallow(proto) { - var out = []; - proto.forEach(function(field, idx) { - field.forEach(function(item) { - out.push(write_varint49(idx * 8 + item.type)); - out.push(item.data); - }); - }); - return u8concat(out); -} function mappa(data, cb) { if (!data) return []; diff --git a/modules/83_numbers.ts b/modules/83_numbers.ts index 876ae2e..90f7fbe 100644 --- a/modules/83_numbers.ts +++ b/modules/83_numbers.ts @@ -55,6 +55,7 @@ function parse_varint49(buf: Uint8Array, ptr?: Ptr): number { if(ptr) ptr[0] = l; return usz; } +/* function write_varint49(v: number): Uint8Array { var usz = new Uint8Array(7); usz[0] = (v & 0x7F); @@ -74,6 +75,7 @@ function write_varint49(v: number): Uint8Array { } return usz.slice(0, L); } +*/ /** Parse a 32-bit signed integer from the raw varint */ function varint_to_i32(buf: Uint8Array): number { @@ -124,6 +126,7 @@ function parse_shallow(buf: Uint8Array): ProtoMessage { return out; } /** Serialize a shallow parse */ +/* function write_shallow(proto: ProtoMessage): Uint8Array { var out: Uint8Array[] = []; proto.forEach((field, idx) => { @@ -134,6 +137,7 @@ function write_shallow(proto: ProtoMessage): Uint8Array { }); return u8concat(out); } +*/ function mappa(data: ProtoField, cb:(Uint8Array) => U): U[] { if(!data) return []; diff --git a/package.json b/package.json index f59a3a7..ca090d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xlsx", - "version": "0.18.3", + "version": "0.18.4", "author": "sheetjs", "description": "SheetJS Spreadsheet data parser and writer", "keywords": [ diff --git a/test.js b/test.js index 940e151..5e3431a 100644 --- a/test.js +++ b/test.js @@ -165,6 +165,9 @@ var paths = { lonxls: dir + 'LONumbers.xls', lonxlsx: dir + 'LONumbers.xlsx', + m19xlsx: dir + 'metadata_2019.xlsx', + m19xlsb: dir + 'metadata_2019.xlsb', + mcxls: dir + 'merge_cells.xls', mcxml: dir + 'merge_cells.xls.xml', mcxlsx: dir + 'merge_cells.xlsx', @@ -1576,6 +1579,22 @@ describe('roundtrip features', function() { }); }); }); }); + describe('should preserve dynamic array formulae', function() { [ + ['xlsx', paths.m19xlsx] + ].forEach(function(w) { it(w[0], function() { + var wb1 = X.read(fs.readFileSync(w[1]), {xlfn: true, type:TYPE, cellFormula:true, WTF:1}); + var wb2 = X.read(X.write(wb1, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:1}); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B3").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "C13").D, true); + + get_cell(wb2.Sheets.Sheet1, "B3").D = false; + var wb3 = X.read(X.write(wb2, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:1}); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B3").D, false); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "C13").D, true); + }); }); }); + describe('should preserve hyperlink', function() { [ ['xlml', paths.hlxml, true], ['xls', paths.hlxls, true], diff --git a/test.mjs b/test.mjs index dd1f0dd..4891dee 100644 --- a/test.mjs +++ b/test.mjs @@ -166,6 +166,9 @@ var paths = { lonxls: dir + 'LONumbers.xls', lonxlsx: dir + 'LONumbers.xlsx', + m19xlsx: dir + 'metadata_2019.xlsx', + m19xlsb: dir + 'metadata_2019.xlsb', + mcxls: dir + 'merge_cells.xls', mcxml: dir + 'merge_cells.xls.xml', mcxlsx: dir + 'merge_cells.xlsx', @@ -1562,6 +1565,22 @@ describe('roundtrip features', function() { }); }); }); }); + describe('should preserve dynamic array formulae', function() { [ + ['xlsx', paths.m19xlsx] + ].forEach(function(w) { it(w[0], function() { + var wb1 = X.read(fs.readFileSync(w[1]), {xlfn: true, type:TYPE, cellFormula:true, WTF:1}); + var wb2 = X.read(X.write(wb1, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:1}); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B3").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "C13").D, true); + + get_cell(wb2.Sheets.Sheet1, "B3").D = false; + var wb3 = X.read(X.write(wb2, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:1}); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B3").D, false); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "C13").D, true); + }); }); }); + describe('should preserve hyperlink', function() { [ ['xlml', paths.hlxml, true], ['xls', paths.hlxls, true], diff --git a/test.ts b/test.ts index 2ae4231..9cd2756 100644 --- a/test.ts +++ b/test.ts @@ -186,6 +186,9 @@ var paths: any = { lonxls: dir + 'LONumbers.xls', lonxlsx: dir + 'LONumbers.xlsx', + m19xlsx: dir + 'metadata_2019.xlsx', + m19xlsb: dir + 'metadata_2019.xlsb', + mcxls: dir + 'merge_cells.xls', mcxml: dir + 'merge_cells.xls.xml', mcxlsx: dir + 'merge_cells.xlsx', @@ -1521,6 +1524,22 @@ Deno.test('roundtrip features', async function(t) { }); }); } }); + await t.step('should preserve dynamic array formulae', async function(t) { var m19 = [ + ['xlsx', paths.m19xlsx] + ]; for(var h1 = 0; h1 < m19.length; ++h1) { var w = m19[h1]; await t.step(w[0], async function (t) { + var wb1 = X.read(fs.readFileSync(w[1]), {xlfn: true, type:TYPE, cellFormula:true, WTF:true}); + var wb2 = X.read(X.write(wb1, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:true}); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B3").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "C13").D, true); + + get_cell(wb2.Sheets.Sheet1, "B3").D = false; + var wb3 = X.read(X.write(wb2, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:true}); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B3").D, false); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "C13").D, true); + }); } }); + await t.step('should preserve hyperlink', async function(t) { var hl = [ ['xlml', paths.hlxml, true], ['xls', paths.hlxls, true], diff --git a/test_files b/test_files index c0f37ad..b70d2b6 160000 --- a/test_files +++ b/test_files @@ -1 +1 @@ -Subproject commit c0f37ad3d8a49cd5abb98dba59011ffa4d46cfc0 +Subproject commit b70d2b6f15741e567ef1418345b34141ecd0ebb2 diff --git a/tests/core.js b/tests/core.js index 531b72f..e41ef8c 100644 --- a/tests/core.js +++ b/tests/core.js @@ -165,6 +165,9 @@ var paths = { lonxls: dir + 'LONumbers.xls', lonxlsx: dir + 'LONumbers.xlsx', + m19xlsx: dir + 'metadata_2019.xlsx', + m19xlsb: dir + 'metadata_2019.xlsb', + mcxls: dir + 'merge_cells.xls', mcxml: dir + 'merge_cells.xls.xml', mcxlsx: dir + 'merge_cells.xlsx', @@ -1576,6 +1579,23 @@ describe('roundtrip features', function() { }); }); }); }); + describe('should preserve dynamic array formulae', function() { [ + ['xlsx', paths.m19xlsx] + ].forEach(function(w) { it(w[0], function() { + var wb1 = X.read(fs.readFileSync(w[1]), {xlfn: true, type:TYPE, cellFormula:true, WTF:1}); + var wb2 = X.read(X.write(wb1, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:1}); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B3").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb2.Sheets.Sheet1, "C13").D, true); + + get_cell(wb2.Sheets.Sheet1, "B3").D = false; + console.log(wb2.Sheets.Sheet1); + var wb3 = X.read(X.write(wb2, {bookType:w[0], type:TYPE}), {cellFormula:true, xlfn: true, type:TYPE, WTF:1}); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B3").D, false); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "B13").D, true); + assert.equal(!!get_cell(wb3.Sheets.Sheet1, "C13").D, true); + }); }); }); + describe('should preserve hyperlink', function() { [ ['xlml', paths.hlxml, true], ['xls', paths.hlxls, true], diff --git a/tests/fixtures.js b/tests/fixtures.js index d3671cd..40aed27 100644 --- a/tests/fixtures.js +++ b/tests/fixtures.js @@ -96,6 +96,8 @@ fs['./test_files/merge_cells.xls.xml'] = 'PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjw/bXNvLW fs['./test_files/merge_cells.xlsx'] = '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AGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBH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'; fs['./test_files/merge_cells.xlsb'] = 'UEsDBBQABgAIAAAAIQB1tcsUiwEAAJcEAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUlE1PwzAMhu9I/IcqV9Rk44AQWrcDHxIXmMQQ5yzx1kCaRHGA7t/jtDDBNDb10qpNHr/2GzuTWdvY4gMiGu8qNuYjVoBTXhu3rtjz4q68ZAUm6bS03kHFNoBsNj09mSw2AbAg2mHF6pTClRCoamgkch/A0crKx0Ym+oxrEaR6k2sQ56PRhVDeJXCpTDkGm05uYCXfbSpuW/rdZ0I4K677fVmqYjIEa5RMlKjIq2Iv9xpgvQOaJgt3C/uZpXE7yG+tD6d5gyW0CizHGiBxAmTc8Eaq6G+dXFqgLZKi7I8fweIRgb+OlaF3ixPZFYy1CXj2XfUjHVc0Goq5jOlBNuSNaK349PGtSw9F9xrnNI/IbuvawrmE4wK9AfdOQztIhrgOesEDOomaCET3HPPDfZDPZsc6v1oZBdqr94ZajHdhjjiHaWMBh9jVEwdqwFpG0E8p0hwNi/wb/E+AqptHH5AGKcJwi366K9NloEAQk4GD/bVVpMkYLrhzJpDHXIPeoy26a2X6BQAA//8DAFBLAwQUAAYACAAAACEAjgEprw8BAADdAgAACwAIAl9yZWxzLy5yZWxzIKIEAiigAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKySS07DMBCG90jcwfK+cVoQQqhJNwipO4TCASb2JDGJPZbtQnp7DIuGSG1ViS7n9c83j/VmNAP7RB802YIvs5wztJKUtm3B36uXxSNnIYJVMJDFgu8x8E15e7N+wwFiKgqddoElFRsK3sXonoQIskMDISOHNkUa8gZiMn0rHMgeWhSrPH8Q/q8GL2eabKsK7rfqjrNq71Ln/2gLgxEURBCSPC6cT2Q+6jQLq8C3GAuuSL4md/jNyBI1F8eB7i8HoqbREp9J7gzaeGRmgWNEq1CdRwLnzhEtr0k0Z572Mw7ii3xfE/VZre2p7awuZzn9CtO5YrcztQU9TCCHQx1i2YfD9gdIzJ6y/AYAAP//AwBQSwMEFAAGAAgAAAAhAB1dAV/4AAAAugIAABoACAF4bC9fcmVscy93b3JrYm9vay5iaW4ucmVscyCiBAEooAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKySTWrDMBCF94HeQcy+lp2WUkLkbEIh29Y9gCqNLRNbMprpj29f1YXGgZBuvBG8GfTep9Fsd199Jz4wUhu8giLLQaA3wba+UfBaPd0+giDW3uoueFQwIsGuvFltn7HTnC6RawcSycWTAsc8bKQk47DXlIUBferUIfaak4yNHLQ56gblOs8fZJx7QHnmKQ5WQTzYOxDVOKTk/71DXbcG98G89+j5QoQkHrv0AFHp2CAr+NXZW+tBXo6/XzTe6Yj2hWOa7pxiXr4GUywJ8xnikRwin8bxVyI5dYprMOslYTgtDJ5AJimns8jSBv38jjzbuPIbAAD//wMAUEsDBBQABgAIAAAAIQCkyIQ3lQAAAM4AAAAPAAAAeGwvd29ya2Jvb2suYmluamZkaGA0YkADTEB+BUMOAyOQNoWSrEC2EYMJgwGDMRDPZOThQNLUzsgwj1F2AUwkhYHhjDsDwxeQfiio6GBk6GdkmMOoBBIASbAAcRGDJ0MKgyEDyHBfhlQgPx1ITmBkmMso9UCJCawOaBjDn5UfL/kmBdiD7NRimM3IyKDMwsTHyCAAdgTIuSoMLYwMAAAAAP//AwBQSwMEFAAGAAgAAAAhAIjjsLLtAAAA6QEAAA0AAAB4bC9zdHlsZXMuYmlumsbE8JiFhZGBgUFb/QOQnABiMjEwsINoBob/TOxA0pkhkSGHIZMhiaEISKqyMTIw8TE0NHIwqDE8YWG4zcIC1MCg6wLSwOwAIhn+MzsCCSAA80ggdF0EgaopNeUOC8NTiK/0jIHGMcIdQBzrGQvDJ4h2fQFkLwgIMDB8ZmF4CfGwPpCHACA5VBEhARaGVywMryEmGUiA1ALt/88GpP0Y8oFhmQsO1zcsDD+ZWUCyv5gZ/jAHgFiCQBwClE0ChnsqQzBDCUMlmOUL5KUA46AUqNcSrCoAyCsDmlaCQ5UJw19mhulMDAAAAAD//wMAUEsDBBQABgAIAAAAIQChUSaYwQAAABwBAAAjAAAAeGwvd29ya3NoZWV0cy9fcmVscy9zaGVldDEuYmluLnJlbHNsz8FqwzAMBuD7oO9gdF+c9DDGiFPYYZBr6R5As5XENJaNZUry9vVt7djxl/g/of60hVXdKIuPbKBrWlDENjrPs4Hvy9frOygpyA7XyGRgJ4HTcHjpz7RiqSVZfBJVFRYDSynpQ2uxCwWUJibiupliDlhqzLNOaK84kz627ZvOjwYMT6YanYE8ug7UZU/18h87eJujxKk0NgYdp8nb/1S9rZ+eMe8jO9qqhXmmYuDnd9g1NYAeev3003AHAAD//wMAUEsDBBQABgAIAAAAIQAwD4hrEQcAAN4dAAATAAAAeGwvdGhlbWUvdGhlbWUxLnhtbOxZT28bRRS/I/EdRntvYyd2Gkd1qtixW2jTRrFb1ON4PfZOM7uzmhkn8Q21RyQkREFckLhxQEClVuJSPk2gCIrUr8Cbmd31TjxunBJAQHNovbO/9+a93/szf/bqteOYoUMiJOVJM6hergSIJCEf0mTcDO72u5c2AiQVToaY8YQ0gymRwbWtd9+5ijdVRGKCQD6Rm7gZREqlmysrMoRhLC/zlCTwbsRFjBU8ivHKUOAj0BuzldVKZX0lxjQJUIJjUHtnNKIhQX2tMtjKlXcYPCZK6oGQiZ5WTRwJgx0eVDVCTmWbCXSIWTOAeYb8qE+OVYAYlgpeNIOK+QtWtq6u4M1MiKkFsiW5rvnL5DKB4cGqmVOMB8Wk1W6tcWWn0G8ATM3jOp1Ou1Mt9BkADkPw1NpS1lnrblRbuc4SyP6c192u1Cs1F1/SvzZnc6PVatUbmS1WqQHZn7U5/EZlvba96uANyOLrc/haa7vdXnfwBmTx63P47pXGes3FG1DEaHIwh9YB7XYz7QVkxNkNL3wD4BuVDD5DQTYU2aWnGPFELcq1GD/gogsADWRY0QSpaUpGOIQsbuN4ICjWE+BNgktv7FAo54b0XEiGgqaqGbyfYqiImb5Xz7999fwpevX8ycnDZycPfzh59Ojk4fdWlyN4AyfjsuDLrz/5/csP0W9Pv3r5+DM/XpbxP3/30U8/fuoHQgXNLHrx+ZNfnj158cXHv37z2APfFnhQhvdpTCS6TY7QPo/BN0OMazkZiPNJ9CNMHQkcgW6P6o6KHODtKWY+XIu45N0T0Dx8wOuTB46tvUhMFPXMfDOKHeAu56zFhZeAm3quEsP9STL2Ty4mZdw+xoe+uds4cULbmaTQNfOkdLhvR8Qxc4/hROExSYhC+h0/IMTj3X1KHV53aSi45COF7lPUwtRLSZ8OnESaCd2gMcRl6vMZQu1ws3sPtTjzeb1DDl0kFARmHuP7hDk0XscThWOfyj6OWZnwW1hFPiN7UxGWcR2pINJjwjjqDImUPpk7AvwtBf0mhn7lDfsum8YuUih64NN5C3NeRu7wg3aE49SH7dEkKmPfkweQohjtceWD73K3QvQzxAEnC8N9jxIn3Gc3grt07Jg0SxD9ZiI8sbxOuJO/vSkbYWK6DLR0p1PHNHld22YU+rad4W3bbgbbsIj5iufGqWa9CPcvbNE7eJLsEaiK+SXqbYd+26GD/3yHXlTLF9+XZ60YurTekNi9ttl5xws33iPKWE9NGbklzd5bwgI07MKgljOHTlIcxNIIfupKhgkc3FhgI4MEVx9QFfUinMK+vRpoJWOZqR5LlHIJ50Uz7NWt8bD3V/a0WdfnENs5JFa7fGiH1/Rwftwo1BirxuZMm0+0phUsO9nalUwp+PYmk1W1UUvPVjWmmabozFa4rCk253KgvHANBgs2YWeDYD8ELK/DsV9PDecdzMhQ825jlIfFROGvCVHmtXUkwkNiQ+QMl9ismtjlKTTnn3bP5sj52CxYA9LONsKkxeL8WZLkXMGMZBA8XU0sKdcWS9BRM2jUV+sBCnHaDEZw0oWfcQpBk3oviNkYrotCJWzWnlmLpkhnHjf8WVWFy4sFBeOUcSqk2sEysjE0r7JQsUTPZO1frdd0sl2MA55mspwVaxuQIv+YFRBqN7RkNCKhKge7NKK5s49ZJ+QTRUQvGh6hAZuIfQzhB061P0Mq4cLCFLR+gNs1zbZ55fbWrNOU77QMzo5jlkY465b6diavOAs3/aSwwTyVzAPfvLYb587viq74i3KlnMb/M1f0cgA3CGtDHYEQLncFRrpSmgEXKuLQhdKIhl0B677pHZAtcEMLr4F8uGI2/wtyqP+3NWd1mLKGg6Dap2MkKCwnKhKE7EFbMtl3hrJqtvRYlSxTZDKqZK5MrdkDckhYX/fAdd2DAxRBqptukrUBgzudf+5zVkGDsd6jlOvN6WTF0mlr4O/euNhiBqdO7SV0/ub8FyYWq/ts9bPyRjxfI8uO6BezXVItrwpn8Ws0sqne0IRlFuDSWms71pzHq/XcOIjivMcwWOxnUrgHQvofWP+oCJn9XqEX1D7fh96K4POD5Q9BVl/SXQ0ySDdI+2sA+x47aJNJq7LUZjsfzVq+WF/wRrWY9xTZ2rJl4n1OsotNlDudU4sXSXbGsMO1HVtINUT2dInC0Cg/h5jAmA9d5W9RfPAAAr0Dt/4TZr9OyRSeTB2ke8Jk14APp9lPJu2Ca7NOn2E0kiX7ZITo8Dg/fxRM2BKyX0jyLbJBazGdaIXgmu/Q4ApmeC1qV8tCePVs4ULCzAwtuxA2F2o+BfB9LGvc+mgHeNtkrde6uHKmWPJnKFvCeD9l3pPPspTZg+JrA/UGlKnj11OWMQXkzScefOEUGI5ePdN/YdGxmW5SdusPAAAA//8DAFBLAwQUAAYACAAAACEA3YR7Wg8BAACnAgAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQxLmJpbnxRS07DUAycSQINVVR1h7JhQ2HFojdoxVk4SItEpXbHT3AM4BbcoUjdVOqSG4DHeVYClWrJ9sw8v5FfMiceefpZAFN4/KQQeeJQLVexUL8jljxbh+T61OqNo6a8cqTzSIns8NBXxIK4OCayAWbPZQZcYptXWqCPK13BvdVaQOGSy0bk0qskh8JSSNmrzMtRwzQrZK80OyHFnh1LyTpurai1khY2qKUp9izajfzav410RSaovRo4YHBkx+0eD8RLca27aZsGHqzx0BgSf2ch47fmz8aEekfS7kqTAhrzr9CZ0huUJgWMqQ/iK8+GWOdjScBu8rd/Jx59k/hmcl5kA4Inmvf/McIt8QsAAP//AwBQSwMECgAAAAAAAAAhAJbGedS0UgAAtFIAABcAAABkb2NQcm9wcy90aHVtYm5haWwuanBlZ//Y/+AAEEpGSUYAAQEBAEgASAAA/+IHuElDQ19QUk9GSUxFAAEBAAAHqGFwcGwCIAAAbW50clJHQiBYWVogB9kAAgAZAAsAGgALYWNzcEFQUEwAAAAAYXBwbAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALZGVzYwAAAQgAAABvZHNjbQAAAXgAAAVsY3BydAAABuQAAAA4d3RwdAAABxwAAAAUclhZWgAABzAAAAAUZ1hZWgAAB0QAAAAUYlhZWgAAB1gAAAAUclRSQwAAB2wAAAAOY2hhZAAAB3wAAAAsYlRSQwAAB2wAAAAOZ1RSQwAAB2wAAAAOZGVzYwAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAFEdlbmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAHgAAAAxza1NLAAAAKAAAAXhockhSAAAAKAAAAaBjYUVTAAAAJAAAAchwdEJSAAAAJgAAAex1a1VBAAAAKgAAAhJmckZVAAAAKAAAAjx6aFRXAAAAFgAAAmRpdElUAAAAKAAAAnpuYk5PAAAAJgAAAqJrb0tSAAAAFgAAAshjc0NaAAAAIgAAAt5oZUlMAAAAHgAAAwBkZURFAAAALAAAAx5odUhVAAAAKAAAA0pzdlNFAAAAJgAAAqJ6aENOAAAAFgAAA3JqYUpQAAAAGgAAA4hyb1JPAAAAJAAAA6JlbEdSAAAAIgAAA8ZwdFBPAAAAJgAAA+hubE5MAAAAKAAABA5lc0VTAAAAJgAAA+h0aFRIAAAAJAAABDZ0clRSAAAAIgAABFpmaUZJAAAAKAAABHxwbFBMAAAALAAABKRydVJVAAAAIgAABNBhckVHAAAAJgAABPJlblVTAAAAJgAABRhkYURLAAAALgAABT4AVgFhAGUAbwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsAEcAZQBuAGUAcgBpAQ0AawBpACAAUgBHAEIAIABwAHIAbwBmAGkAbABQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6AByAGkAYwBQAGUAcgBmAGkAbAAgAFIARwBCACAARwBlAG4A6QByAGkAYwBvBBcEMAQzBDAEOwRMBD0EOAQ5ACAEPwRABD4ERAQwBDkEOwAgAFIARwBCAFAAcgBvAGYAaQBsACAAZwDpAG4A6QByAGkAcQB1AGUAIABSAFYAQpAadSgAIABSAEcAQgAggnJfaWPPj/AAUAByAG8AZgBpAGwAbwAgAFIARwBCACAAZwBlAG4AZQByAGkAYwBvAEcAZQBuAGUAcgBpAHMAawAgAFIARwBCAC0AcAByAG8AZgBpAGzHfLwYACAAUgBHAEIAINUEuFzTDMd8AE8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbAXkBegF1QXkBdkF3AAgAFIARwBCACAF2wXcBdwF2QBBAGwAbABnAGUAbQBlAGkAbgBlAHMAIABSAEcAQgAtAFAAcgBvAGYAaQBsAMEAbAB0AGEAbADhAG4AbwBzACAAUgBHAEIAIABwAHIAbwBmAGkAbGZukBoAIABSAEcAQgAgY8+P8GWHTvZOAIIsACAAUgBHAEIAIDDXMO0w1TChMKQw6wBQAHIAbwBmAGkAbAAgAFIARwBCACAAZwBlAG4AZQByAGkAYwOTA7UDvQO5A7oDzAAgA8ADwQO/A8YDrwO7ACAAUgBHAEIAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOkAcgBpAGMAbwBBAGwAZwBlAG0AZQBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBlAGwOQg4bDiMORA4fDiUOTAAgAFIARwBCACAOFw4xDkgOJw5EDhsARwBlAG4AZQBsACAAUgBHAEIAIABQAHIAbwBmAGkAbABpAFkAbABlAGkAbgBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBpAGwAaQBVAG4AaQB3AGUAcgBzAGEAbABuAHkAIABwAHIAbwBmAGkAbAAgAFIARwBCBB4EMQRJBDgEOQAgBD8EQAQ+BEQEOAQ7BEwAIABSAEcAQgZFBkQGQQAgBioGOQYxBkoGQQAgAFIARwBCACAGJwZEBjkGJwZFAEcAZQBuAGUAcgBpAGMAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGUARwBlAG4AZQByAGUAbAAgAFIARwBCAC0AYgBlAHMAawByAGkAdgBlAGwAcwBldGV4dAAAAABDb3B5cmlnaHQgMjAwNyBBcHBsZSBJbmMuLCBhbGwgcmlnaHRzIHJlc2VydmVkLgBYWVogAAAAAAAA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'; fs['./test_files/merge_cells.ods'] = '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'; +fs['./test_files/metadata_2019.xlsx'] = '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'; +fs['./test_files/metadata_2019.xlsb'] = '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'; fs['./test_files/named_ranges_2011.xls.xml'] = 'PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjw/bXNvLWFwcGxpY2F0aW9uIHByb2dpZD0iRXhjZWwuU2hlZXQiPz4KPFdvcmtib29rIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJlYWRzaGVldCIKIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKIHhtbG5zOng9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmV4Y2VsIgogeG1sbnM6c3M9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOnNwcmVhZHNoZWV0IgogeG1sbnM6aHRtbD0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+CiA8RG9jdW1lbnRQcm9wZXJ0aWVzIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiPgogIDxBdXRob3I+R29kPC9BdXRob3I+CiAgPExhc3RBdXRob3I+Z29kPC9MYXN0QXV0aG9yPgogIDxDcmVhdGVkPjIwMTMtMDMtMTlUMTk6MjU6NDdaPC9DcmVhdGVkPgogIDxMYXN0U2F2ZWQ+MjAxNC0wMi0xMlQwMDo1NTo0NVo8L0xhc3RTYXZlZD4KICA8VmVyc2lvbj4xNS4wMDwvVmVyc2lvbj4KIDwvRG9jdW1lbnRQcm9wZXJ0aWVzPgogPE9mZmljZURvY3VtZW50U2V0dGluZ3MgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSI+CiAgPEFsbG93UE5HLz4KICA8Q29sb3JzPgogICA8Q29sb3I+CiAgICA8SW5kZXg+MjwvSW5kZXg+CiAgICA8UkdCPiNERDA4MDY8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjM8L0luZGV4PgogICAgPFJHQj4jMUZCNzE0PC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD40PC9JbmRleD4KICAgIDxSR0I+IzAwMDBENDwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+NTwvSW5kZXg+CiAgICA8UkdCPiNGQ0YzMDU8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjY8L0luZGV4PgogICAgPFJHQj4jRjIwODg0PC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD43PC9JbmRleD4KICAgIDxSR0I+IzAwQUJFQTwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+ODwvSW5kZXg+CiAgICA8UkdCPiM5MDAwMDA8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4Pjk8L0luZGV4PgogICAgPFJHQj4jMDA2NDExPC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4xMDwvSW5kZXg+CiAgICA8UkdCPiMwMDAwOTA8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjExPC9JbmRleD4KICAgIDxSR0I+IzkwNzEzQTwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+MTI8L0luZGV4PgogICAgPFJHQj4jNDYwMEE1PC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4xNjwvSW5kZXg+CiAgICA8UkdCPiM2M0FBRkU8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjE3PC9JbmRleD4KICAgIDxSR0I+I0REMkQzMjwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+MTg8L0luZGV4PgogICAgPFJHQj4jRkZGNThDPC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4xOTwvSW5kZXg+CiAgICA8UkdCPiM0RUUyNTc8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjIwPC9JbmRleD4KICAgIDxSR0I+IzY3MTFGRjwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+MjE8L0luZGV4PgogICAgPFJHQj4jRkVBNzQ2PC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4yMjwvSW5kZXg+CiAgICA8UkdCPiM4NjUzNTc8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjIzPC9JbmRleD4KICAgIDxSR0I+I0EyQkQ5MDwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+MjQ8L0luZGV4PgogICAgPFJHQj4jNjNBQUZFPC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4yNTwvSW5kZXg+CiAgICA8UkdCPiNERDJEMzI8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjI2PC9JbmRleD4KICAgIDxSR0I+I0ZGRjU4QzwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+Mjc8L0luZGV4PgogICAgPFJHQj4jNEVFMjU3PC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4yODwvSW5kZXg+CiAgICA8UkdCPiM2NzExRkY8L1JHQj4KICAgPC9Db2xvcj4KICAgPENvbG9yPgogICAgPEluZGV4PjI5PC9JbmRleD4KICAgIDxSR0I+I0ZFQTc0NjwvUkdCPgogICA8L0NvbG9yPgogICA8Q29sb3I+CiAgICA8SW5kZXg+MzA8L0luZGV4PgogICAgPFJHQj4jODY1MzU3PC9SR0I+CiAgIDwvQ29sb3I+CiAgIDxDb2xvcj4KICAgIDxJbmRleD4zMTwvSW5kZXg+CiAgICA8UkdCPiNBMkJEOTA8L1JHQj4KICAgPC9Db2xvcj4KICA8L0NvbG9ycz4KIDwvT2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz4KIDxFeGNlbFdvcmtib29rIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+CiAgPFdpbmRvd0hlaWdodD4xNTI1NTwvV2luZG93SGVpZ2h0PgogIDxXaW5kb3dXaWR0aD4yNTYwNTwvV2luZG93V2lkdGg+CiAgPFdpbmRvd1RvcFg+NTE2MDwvV2luZG93VG9wWD4KICA8V2luZG93VG9wWT4wPC9XaW5kb3dUb3BZPgogIDxUYWJSYXRpbz41MDA8L1RhYlJhdGlvPgogIDxBY3RpdmVTaGVldD4xPC9BY3RpdmVTaGVldD4KICA8UHJvdGVjdFN0cnVjdHVyZT5GYWxzZTwvUHJvdGVjdFN0cnVjdHVyZT4KICA8UHJvdGVjdFdpbmRvd3M+RmFsc2U8L1Byb3RlY3RXaW5kb3dzPgogPC9FeGNlbFdvcmtib29rPgogPFN0eWxlcz4KICA8U3R5bGUgc3M6SUQ9IkRlZmF1bHQiIHNzOk5hbWU9Ik5vcm1hbCI+CiAgIDxBbGlnbm1lbnQgc3M6VmVydGljYWw9IkJvdHRvbSIvPgogICA8Qm9yZGVycy8+CiAgIDxGb250IHNzOkZvbnROYW1lPSJDYWxpYnJpIiB4OkZhbWlseT0iU3dpc3MiIHNzOlNpemU9IjEyIiBzczpDb2xvcj0iIzAwMDAwMCIvPgogICA8SW50ZXJpb3IvPgogICA8TnVtYmVyRm9ybWF0Lz4KICAgPFByb3RlY3Rpb24vPgogIDwvU3R5bGU+CiA8L1N0eWxlcz4KIDxOYW1lcz4KICA8TmFtZWRSYW5nZSBzczpOYW1lPSJjb2wxXyIgc3M6UmVmZXJzVG89Ij0nTmFtZWQgUmFuZ2VzJyFSMkMxOlI2QzEiLz4KICA8TmFtZWRSYW5nZSBzczpOYW1lPSJjb2wzXyIgc3M6UmVmZXJzVG89Ij0nTmFtZWQgUmFuZ2VzJyFSMkMzOlI2QzMiLz4KICA8TmFtZWRSYW5nZSBzczpOYW1lPSJyb3c2XyIgc3M6UmVmZXJzVG89Ij0nTmFtZWQgUmFuZ2VzJyFSN0MxOlI3QzMiLz4KIDwvTmFtZXM+CiA8V29ya3NoZWV0IHNzOk5hbWU9Ik5hbWVkIFJhbmdlcyI+CiAgPFRhYmxlIHNzOkV4cGFuZGVkQ29sdW1uQ291bnQ9IjI1NiIgc3M6RXhwYW5kZWRSb3dDb3VudD0iOCIgeDpGdWxsQ29sdW1ucz0iMSIKICAgeDpGdWxsUm93cz0iMSIgc3M6RGVmYXVsdENvbHVtbldpZHRoPSI1NCIgc3M6RGVmYXVsdFJvd0hlaWdodD0iMTUuNzUiPgogICA8Q29sdW1uIHNzOkF1dG9GaXRXaWR0aD0iMCIgc3M6V2lkdGg9IjY2IiBzczpTcGFuPSIyNTUiLz4KICAgPFJvdz4KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9IlN0cmluZyI+Y29sMTwvRGF0YT48L0NlbGw+CiAgICA8Q2VsbD48RGF0YSBzczpUeXBlPSJTdHJpbmciPmNvbDI8L0RhdGE+PC9DZWxsPgogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iU3RyaW5nIj5jb2wzPC9EYXRhPjwvQ2VsbD4KICAgPC9Sb3c+CiAgIDxSb3c+CiAgICA8Q2VsbD48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjE8L0RhdGE+PE5hbWVkQ2VsbCBzczpOYW1lPSJjb2wxXyIvPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij0yKlJDWy0xXSI+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj4yPC9EYXRhPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij1SQ1stMl0qUkNbLTFdIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjI8L0RhdGE+PE5hbWVkQ2VsbAogICAgICBzczpOYW1lPSJjb2wzXyIvPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkluZGV4PSI1IiBzczpGb3JtdWxhPSI9U1VNKGNvbDNfKSI+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj4xMTA8L0RhdGE+PC9DZWxsPgogICA8L1Jvdz4KICAgPFJvdz4KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MjwvRGF0YT48TmFtZWRDZWxsIHNzOk5hbWU9ImNvbDFfIi8+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPTIqUkNbLTFdIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjQ8L0RhdGE+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPVJDWy0yXSpSQ1stMV0iPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+ODwvRGF0YT48TmFtZWRDZWxsCiAgICAgIHNzOk5hbWU9ImNvbDNfIi8+PC9DZWxsPgogICAgPENlbGwgc3M6SW5kZXg9IjUiIHNzOkZvcm11bGE9Ij1TVU0oY29sMl8pIj48RGF0YSBzczpUeXBlPSJFcnJvciI+I05BTUU/PC9EYXRhPjwvQ2VsbD4KICAgPC9Sb3c+CiAgIDxSb3c+CiAgICA8Q2VsbD48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjM8L0RhdGE+PE5hbWVkQ2VsbCBzczpOYW1lPSJjb2wxXyIvPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij0yKlJDWy0xXSI+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj42PC9EYXRhPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij1SQ1stMl0qUkNbLTFdIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjE4PC9EYXRhPjxOYW1lZENlbGwKICAgICAgc3M6TmFtZT0iY29sM18iLz48L0NlbGw+CiAgICA8Q2VsbCBzczpJbmRleD0iNSIgc3M6Rm9ybXVsYT0iPVNVTShjb2wxXykiPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MTU8L0RhdGE+PC9DZWxsPgogICA8L1Jvdz4KICAgPFJvdz4KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+NDwvRGF0YT48TmFtZWRDZWxsIHNzOk5hbWU9ImNvbDFfIi8+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPTIqUkNbLTFdIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjg8L0RhdGE+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPVJDWy0yXSpSQ1stMV0iPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MzI8L0RhdGE+PE5hbWVkQ2VsbAogICAgICBzczpOYW1lPSJjb2wzXyIvPjwvQ2VsbD4KICAgPC9Sb3c+CiAgIDxSb3c+CiAgICA8Q2VsbD48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjU8L0RhdGE+PE5hbWVkQ2VsbCBzczpOYW1lPSJjb2wxXyIvPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij0yKlJDWy0xXSI+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj4xMDwvRGF0YT48L0NlbGw+CiAgICA8Q2VsbCBzczpGb3JtdWxhPSI9UkNbLTJdKlJDWy0xXSI+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj41MDwvRGF0YT48TmFtZWRDZWxsCiAgICAgIHNzOk5hbWU9ImNvbDNfIi8+PC9DZWxsPgogICA8L1Jvdz4KICAgPFJvdz4KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+NjwvRGF0YT48TmFtZWRDZWxsIHNzOk5hbWU9InJvdzZfIi8+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPTIqUkNbLTFdIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjEyPC9EYXRhPjxOYW1lZENlbGwKICAgICAgc3M6TmFtZT0icm93Nl8iLz48L0NlbGw+CiAgICA8Q2VsbCBzczpGb3JtdWxhPSI9UkNbLTJdKlJDWy0xXSI+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj43MjwvRGF0YT48TmFtZWRDZWxsCiAgICAgIHNzOk5hbWU9InJvdzZfIi8+PC9DZWxsPgogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iU3RyaW5nIj5yb3c2PC9EYXRhPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij1TTE9QRShjb2wxXyxjb2wyXykiPjxEYXRhIHNzOlR5cGU9IkVycm9yIj4jTkFNRT88L0RhdGE+PC9DZWxsPgogICA8L1Jvdz4KICAgPFJvdz4KICAgIDxDZWxsIHNzOkluZGV4PSI1IiBzczpGb3JtdWxhPSI9U0xPUEUoY29sMV8sY29sM18pIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjguMDIxMzkwMzc0MzMxNTUwOUUtMjwvRGF0YT48L0NlbGw+CiAgIDwvUm93PgogIDwvVGFibGU+CiAgPFdvcmtzaGVldE9wdGlvbnMgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmV4Y2VsIj4KICAgPFByaW50PgogICAgPFZhbGlkUHJpbnRlckluZm8vPgogICAgPEhvcml6b250YWxSZXNvbHV0aW9uPi00PC9Ib3Jpem9udGFsUmVzb2x1dGlvbj4KICAgIDxWZXJ0aWNhbFJlc29sdXRpb24+LTQ8L1ZlcnRpY2FsUmVzb2x1dGlvbj4KICAgPC9QcmludD4KICAgPFBhbmVzPgogICAgPFBhbmU+CiAgICAgPE51bWJlcj4zPC9OdW1iZXI+CiAgICAgPEFjdGl2ZVJvdz42PC9BY3RpdmVSb3c+CiAgICA8L1BhbmU+CiAgIDwvUGFuZXM+CiAgIDxQcm90ZWN0T2JqZWN0cz5GYWxzZTwvUHJvdGVjdE9iamVjdHM+CiAgIDxQcm90ZWN0U2NlbmFyaW9zPkZhbHNlPC9Qcm90ZWN0U2NlbmFyaW9zPgogIDwvV29ya3NoZWV0T3B0aW9ucz4KIDwvV29ya3NoZWV0PgogPFdvcmtzaGVldCBzczpOYW1lPSJDcm9zcy1TaGVldCI+CiAgPFRhYmxlIHNzOkV4cGFuZGVkQ29sdW1uQ291bnQ9IjI1NiIgc3M6RXhwYW5kZWRSb3dDb3VudD0iMiIgeDpGdWxsQ29sdW1ucz0iMSIKICAgeDpGdWxsUm93cz0iMSIgc3M6RGVmYXVsdENvbHVtbldpZHRoPSI1NCIgc3M6RGVmYXVsdFJvd0hlaWdodD0iMTUuNzUiPgogICA8Q29sdW1uIHNzOkF1dG9GaXRXaWR0aD0iMCIgc3M6V2lkdGg9IjY2IiBzczpTcGFuPSIyNTUiLz4KICAgPFJvdz4KICAgIDxDZWxsPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MTwvRGF0YT48L0NlbGw+CiAgICA8Q2VsbD48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjI8L0RhdGE+PC9DZWxsPgogICAgPENlbGw+PERhdGEgc3M6VHlwZT0iTnVtYmVyIj4zPC9EYXRhPjwvQ2VsbD4KICAgIDxDZWxsIHNzOkZvcm11bGE9Ij1TVU0obmFtZWRfcmFuZ2VzXzIwMTEueGxzLnhtbCFjb2wxXykiPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MTU8L0RhdGE+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPVNVTShuYW1lZF9yYW5nZXNfMjAxMS54bHMueG1sIWNvbDJfKSI+PERhdGEgc3M6VHlwZT0iRXJyb3IiPiNOQU1FPzwvRGF0YT48L0NlbGw+CiAgICA8Q2VsbCBzczpGb3JtdWxhPSI9U1VNKG5hbWVkX3Jhbmdlc18yMDExLnhscy54bWwhY29sM18pIj48RGF0YSBzczpUeXBlPSJOdW1iZXIiPjExMDwvRGF0YT48L0NlbGw+CiAgIDwvUm93PgogICA8Um93PgogICAgPENlbGwgc3M6SW5kZXg9IjQiIHNzOkZvcm11bGE9Ij1TVU0oJ05hbWVkIFJhbmdlcychUkNbLTNdOlJbNV1DWy0zXSkiPjxEYXRhCiAgICAgIHNzOlR5cGU9Ik51bWJlciI+MjE8L0RhdGE+PC9DZWxsPgogICAgPENlbGwgc3M6Rm9ybXVsYT0iPVNVTShjb2wxXykiPjxEYXRhIHNzOlR5cGU9Ik51bWJlciI+MTU8L0RhdGE+PC9DZWxsPgogICA8L1Jvdz4KICA8L1RhYmxlPgogIDxXb3Jrc2hlZXRPcHRpb25zIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCI+CiAgIDxTZWxlY3RlZC8+CiAgIDxQYW5lcz4KICAgIDxQYW5lPgogICAgIDxOdW1iZXI+MzwvTnVtYmVyPgogICAgIDxBY3RpdmVSb3c+MjE8L0FjdGl2ZVJvdz4KICAgICA8QWN0aXZlQ29sPjI8L0FjdGl2ZUNvbD4KICAgIDwvUGFuZT4KICAgPC9QYW5lcz4KICAgPFByb3RlY3RPYmplY3RzPkZhbHNlPC9Qcm90ZWN0T2JqZWN0cz4KICAgPFByb3RlY3RTY2VuYXJpb3M+RmFsc2U8L1Byb3RlY3RTY2VuYXJpb3M+CiAgPC9Xb3Jrc2hlZXRPcHRpb25zPgogPC9Xb3Jrc2hlZXQ+CjwvV29ya2Jvb2s+Cg=='; fs['./test_files/named_ranges_2011.xlsb'] = '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RwBlAG4A6QByAGkAYwBvBBcEMAQzBDAEOwRMBD0EOAQ5ACAEPwRABD4ERAQwBDkEOwAgAFIARwBCAFAAcgBvAGYAaQBsACAAZwDpAG4A6QByAGkAcQB1AGUAIABSAFYAQpAadSgAIABSAEcAQgAggnJfaWPPj/AAUAByAG8AZgBpAGwAbwAgAFIARwBCACAAZwBlAG4AZQByAGkAYwBvAEcAZQBuAGUAcgBpAHMAawAgAFIARwBCAC0AcAByAG8AZgBpAGzHfLwYACAAUgBHAEIAINUEuFzTDMd8AE8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbAXkBegF1QXkBdkF3AAgAFIARwBCACAF2wXcBdwF2QBBAGwAbABnAGUAbQBlAGkAbgBlAHMAIABSAEcAQgAtAFAAcgBvAGYAaQBsAMEAbAB0AGEAbADhAG4AbwBzACAAUgBHAEIAIABwAHIAbwBmAGkAbGZukBoAIABSAEcAQgAgY8+P8GWHTvZOAIIsACAAUgBHAEIAIDDXMO0w1TChMKQw6wBQAHIAbwBmAGkAbAAgAFIARwBCACAAZwBlAG4AZQByAGkAYwOTA7UDvQO5A7oDzAAgA8ADwQO/A8YDrwO7ACAAUgBHAEIAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOkAcgBpAGMAbwBBAGwAZwBlAG0AZQBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBlAGwOQg4bDiMORA4fDiUOTAAgAFIARwBCACAOFw4xDkgOJw5EDhsARwBlAG4AZQBsACAAUgBHAEIAIABQAHIAbwBmAGkAbABpAFkAbABlAGkAbgBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBpAGwAaQBVAG4AaQB3AGUAcgBzAGEAbABuAHkAIABwAHIAbwBmAGkAbAAgAFIARwBCBB4EMQRJBDgEOQAgBD8EQAQ+BEQEOAQ7BEwAIABSAEcAQgZFBkQGQQAgBioGOQYxBkoGQQAgAFIARwBCACAGJwZEBjkGJwZFAEcAZQBuAGUAcgBpAGMAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGUARwBlAG4AZQByAGUAbAAgAFIARwBCAC0AYgBlAHMAawByAGkAdgBlAGwAcwBldGV4dAAAAABDb3B5cmlnaHQgMjAwNyBBcHBsZSBJbmMuLCBhbGwgcmlnaHRzIHJlc2VydmVkLgBYWVogAAAAAAAA81IAAQAAAAEWz1hZWiAAAAAAAAB0TQAAPe4AAAPQWFlaIAAAAAAAAFp1AACscwAAFzRYWVogAAAAAAAAKBoAABWfAAC4NmN1cnYAAAAAAAAAAQHNAABzZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbP/hAHRFeGlmAABNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABOAAAAAAAAAEgAAAABAAAASAAAAAEAAqACAAQAAAABAAABAKADAAQAAAABAAAAlwAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCACXAQADAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+pTw//wAIr/YWkfatB0We5/s608+aawt3lll8lC8krshZ3ZiSzE5J5qrJ216eX6tfl83uB1Ok6RoOu38GmaP4N0rUtQun2w2tppNvLK3dnbCbY4oxl5Z5WSGJAXldVBNFl36N9OnpJgW9e8HWXhL9pH9nH4aap4c8KXGl+N7Lxx4l8QxRaerl7nw/4c1e3tdElVkW1vdLV9Rt9RmMsTu+qWFpJEscVsjzT/Xn/Xz6gfdP/Cn/AIVf9E68Gf8AhO6X/wDI1AB/wp/4Vf8AROvBn/hO6X/8jUAfmZ+078T/APhVX7Rnw50/wb8INIvfgJ8N9X8D2H7UGsWnwn0fWtGht/jTqE/hrQpbvxdJAL7wrN8Jo5vDPxF1mHRre8Gt6F4phg1OS2t7MhwD9M/+FP8Awq/6J14M/wDCd0v/AORqAD/hT/wq/wCideDP/Cd0v/5GoA8tv/hl8Ok+NfhTR08D+Fl0q6+FvxB1O505dE08WU+o2Hi34Z2tley2wg8p7q0ttRv4LedkMkUV7cxowWZwQD1L/hT/AMKv+ideDP8AwndL/wDkagA/4U/8Kv8AonXgz/wndL/+RqAPyaPxC1S2/wCCm99+z7c6Z4IX4QHXdJ0Gy8Ew/Dv4e6tfzWuo/s3x/Ecak0dl4dt/iLo+nx+NYLyW8+JV74i1DwPZOlt8P7rQotW13TdTswD9Zf8AhT/wq/6J14M/8J3S/wD5GoAP+FP/AAq/6J14M/8ACd0v/wCRqAPKPCnwy+Hd18Vvi3plz4I8Lz6dpdn8On02xl0TT5LWwbUNJ1mW+a0gaAxwNdywxSXBjVTM8aM+SoNAHq//AAp/4Vf9E68Gf+E7pf8A8jUAQ3Pwi+F8VvcSwfDTwZcTxwyyQ2/9gaVGZ5URmjh8xrbanmuAm9uF3bjwKAPz4/YUu/Anxo8NaT4m+I/j3wZ4k+NWteGtav8A4mfs1DwL8K/DMfwO8QWXihLDUNAXwrZeD7L4qaQ/gyYx+EnvvG/iXWIvE5mOvoshvLCWAA/Q3/hT/wAKv+ideDP/AAndL/8AkagA/wCFP/Cr/onXgz/wndL/APkagDyn4R/DP4d6rpfjOTUvBHha/ks/it8T9LtXu9EsLh7fTtN8Y6pa6fYwtLAxjtbK1jjt7WBMRwwokcaqoAoA9W/4U/8ACr/onXgz/wAJ3S//AJGoA+fv2sPDHhf4Y/swftDfEfwF4E8F2XjfwJ8F/iV4u8I3jeDdC1cWniTw94Q1fVdFuTpd5p91aaiIdQtbeQ2VzbTwXW3yZoZEdkIB88/scX2j/E74jfGDwvPd+CPj78JPCfg34O654Y+MK/DfwFojWvxF8YWXiqX4i/Cs634F8OeHvBvjMeE7XSfCuv8A23SdJj1Dw6fFv9g69d3l1HbmEA/Qf/hT/wAKv+ideDP/AAndL/8AkagBkvwg+FQjkI+HfgwEI5B/4R3TM5Ck5yLbP9aAPN/gx8MPhzrHwg+Furar4G8K6jqep/Dzwbf6jqF5oen3N5fX134e0+e6u7q4lgaWe4uJ5HmmmkZnkkdnYkkmgD0v/hT/AMKv+ideDP8AwndL/wDkagD5J/bt0/Rvgv8AsmfGb4nfDLwb4J0Xxz4T0TRrvQdWk8HeF9TSwlvfFvh/Sr25az1vSNS0dhHpt/ekz6nYXllZ/wDH5cQSR27CgD039nrwX8LPG3wj8KeI5rLwH8Q7y9TU1v8AxPav8LfF8VxewavfQz2P/CRfDDwp4T8Eam2lbF01ptF8P6cF+zeXeJNfpc3EwB7T/wAKf+FX/ROvBn/hO6X/API1AHgv7Uvw68BeGv2bvjr4h8PeDvDeia7ovwp8c6npGsaXo9jZalpmo2fh6/ntL6xvLeFJ7a7tpkSaCeJ1kikVXVgRmgDznwV+yTD4p8IeGfEh+LnjvSjruh6Zqx02y03wbJaWBvrSK4NpbSXfh+e6eCAyGOJ7maWdkUGWR3JYu78vmk/zA8k8Ofs9+Ffix8VfjH8Fr/x98ctD1f4FS/DnVr3U7uX4f6bYeI4PiFYeI7/w9q+gXHhAPqa20CeG78S22vDT7tJZIJTpyHa4L/0lb8gPZvCf7F3hr4W/EjwD4+sPiT8Q9e1+x1bUtJ0648RXmn6s1hDqPhfxGbk2z39pdMiSLGyyW4It5XdJ5Y3ntrZ4kB9nf8I/r3/Q8a5/4LvDP/ykoAP+Ef17/oeNc/8ABd4Z/wDlJQAn/CPa4cg+N9bO773/ABLfDHPGOf8AiSc8cc9uKAF/4R/Xv+h41z/wXeGf/lJQBieJYPEHh3w9rmvx+IPGviGTRtKv9Tj0Hw7ofhW/1/WpLK2luE0vRbObS7WG51S/eMWtjDNdW0L3MsYmuIYy0qgHh3wW8Xaf+0BoXwQ/aB8L69430jTPij8C5PGXhy08S6Z4QtvEOj+HvG0/gHxANH1qy0u11PR11SJksUv2s77UYIbmzdLG/ntpWklAPoz/AIR/Xv8AoeNc/wDBd4Z/+UlAB/wj+vf9Dxrn/gu8M/8AykoAT/hHdczu/wCE31vdjGf7N8MZx6Z/sTOPagBf+Ef17/oeNc/8F3hn/wCUlAHkHx48deIPgZ8K/F3xVaP4i/ETT/BOk6h4i13QvCB+EOkarbeHNF0+81fX9ck1D4h6j4L8NQWWjaVYXV5cLPriXdwVjtrK2uZ5lUAFb4SPD4/W5+KXhrxT4usrH4meCvhd4xtf7Z0PRtM1ltI1zwvJrGh2+raNe6Nv0fUrOw1NYb6waKK4t7oywXQaWHgA9o/4R/Xv+h41z/wXeGf/AJSUAH/CP69/0PGuf+C7wz/8pKAI18NayjySr401hZJtvmyLpfhcPL5Y2p5jjQ9z7FO1dxO0cDAoAk/4R/Xv+h41z/wXeGf/AJSUAfMv7Sn7QVh+zBa/DTUfGeo/EHX9L+JfxK8I/C+yuvDP/CoUvtN8QeOPE2g+EvD4i8N+JNT8P+KfGM1xqviG3uZtG+HmjeLfEFtoem67rU2lra6Z/pAB7B4B8IX9hY+I0sPF+t2qXHjvxtfXKiz8PS+bfXviG+ub25Jm0d2Q3FxI8piQiKLdsiRIwqgA7r/hH9e/6HjXP/Bd4Z/+UlAB/wAI/rv/AEPGuf8Agt8M/wDykoAQeHtcUYHjfWwB0A03wwB+X9iUAc94v/4SDwn4W8Q+Jk1vx14nk0HR7/Vo/DnhbQfCeo+JNdksraSePSdDsrjTbK2udUv3QW1nHdXtnameRDc3VvAJJkAPjn4YftreDvi58RPgf8OPD978RdLvPjx+zx8Nv2jvDuoeLNQ+A3h1tP8ACXxU0Lxrr3h/w6PDF/4lXxr4x8WaZbeBtUi8WQfDjw54x0fwwb3SrzVNXh027N5GAQfsMad+2jrHhXxVfftEat4Q8AfD/TNd1Dwn+z/4G8J+GIB40Pwx8ManeaR4Z8XePtb1bUNbs3uvEWg2mmXOm6bZ2FtdPbMdWv5bdr2Gwi+W4cr8U4qpmdfiCjgMJhVjsVQyjC4ejVji5YOjiKkKWLxlSeIqwTr0owlCnCnFyTdWXKpRUvkOGMRxdi6ubYjiOjl+Dwax+Kw+TYTD4etTxs8HQxNWnSxmNqTxVamvb0owdKnCnGU03WlyRlCMvIvif/wVb/Z0+FHj/wCInw98ReIf2gLy++FHxF0X4d+Ptd0j4TaTL4Z0F9T8SaL4a1Txc2rX2m2EeoeEPCU194h1bxLfaUt9qEGgeAfGWrabpepQ2FmL/wCpPrz2bTv24/hTqvxF+B/w0tfF3xLk1L48+NPjp4F8Pa2vh7wBP4Y8N6r8D/H/AI1+GRuvGmq25mGlaZ8VvGHw/wDE2lfCG6tIdRPiy5sjbzRabcl4UAPE/D3/AAVZ/Z78RfDP4B/EnTNZ+OQt/j9ffGaz0rwi3gj4eDxf4BT4H+Ctf8deK7/4j6dDeS2GiWOraXpehQ+EZNP1LV5fEM3j7wZeW0K6TfahqGmgHpPhj9umx8VeDv2bfiJp+i/EA+Cf2lviDofw58NahZeOf2ZfFGtaPq/irUNH0zw/dt4d8EeLvFFx4ntLeXVptS8c2vha71LWfhv4c0PxD4h8WaXaWOkXewA+t/jh4Kudc+DnxQ0bXPFeuajo+qeBPFFhqdgbXQbUXljdaRdw3Nsbm00iG6gE0Tshmt5Y54926KRHAYAHOfDTx/49sfh74JsrH4I+NNZs7Xwvolva6taeIvhxb2upQRafAkV9bwaj4ys7+GG5QCaOO8tbe4RHCzRI4KgA8g+Gd/o9h8dfjX8SvBHg74i+LPiR4wg8OaF8U/CsXxk+BviGx8Ojwm+o23hazuPDGneNft/hm40RbrXNPskvZUldbzUYbsXM8aNbgH0JceOPG+qa54Og1L4O+LfD8MfiKaeO81HxD8PriGedPDXiJFs0XS/FuoTrNJHJJMrywpb7beRGmWV4UkAPUf7e8Q/9CPq//g28M/8Ay5oAP7e8Q/8AQj6v/wCDbwz/APLmgA/t7xD/ANCPq/8A4NvDP/y5oAP7e8Q/9CPq/wD4NvDP/wAuaAMfxDceJNe0LWdEi8PeLvD8mr6Xfaamu6Brvg+213R3vbaS3XU9HuL691Czg1OyMn2mxmurC8t47mON5rWdA0bAHhvwJ+F8H7OnhT4WfBXwbovxA1zwp8NfhzrPhbwtN428VeEtc8TR+HbPV/DS6ZYXWrWk2l291a6JaJb6VZNLbJefY47YTy3kyT3JAPor+3vEP/Qj6v8A+Dbwz/8ALmgA/t7xD/0I+r/+Dbwz/wDLmgA/t7xD/wBCPq//AINvDP8A8uaAD+3vEP8A0I+r/wDg28M//LmgDwb9pD4L2P7T/wAM7j4UeO9G+J2geF7zxB4d8QaifAvjPwfod7q7+GNTi1ix0TXFv5da0vXfC15qFvay654Z1jS77R9dhto7LVbS6sXntpgDuvB1x4g0PUNW0ptA8Ua7PpujeDtMm1PWta8KT65qDadpM1p/ams3VtfWNlc6nqhja8vZbO0toHupJnS2tkdIUAO//t7xD/0I+r/+Dbwz/wDLmgA/t7xD/wBCPq//AINvDP8A8uaAD+3vEP8A0I+r/wDg28M//LmgA/t7xD/0I+r/APg28M//AC5oA+d/2hfgJon7TWleG/DXxL8P/E1fB2h63Ya3qvgzw5408I6N4f8AG7aVreheItNsfFoM13qr2tjq/h2wuLW58O6r4d1mGOTULRNVFnqN3BKAeueENa12O11oR+DdVmDeLPFDsU1Tw4ux31m6Z4WEmrqS8TEozLmNiCyMykEgHWf294h/6EfV/wDwbeGf/lzQAf294h/6EfV//Bt4Z/8AlzQAf294h/6EfV//AAbeGf8A5c0Acl491TUb3wV4rs9WsfEvgfS7rw/q0Go+MdM8U+CNG1HwxZS2UyXOuWWravf32l6bdabEz3UN7qFnc2lvJGJZ4ZEUqQD40+Gn7Lvwl8O2v7LVhpfiT4t/ETwr+z54b0vVf2e/B/iX4vfDjX/DEg8H+Gte8G+G/iDBFo0emaj4p1Dwn4K8fT+F7HUl1ObQV0y40a51XTb7WYLXVWAPtLwVrevR+D/CqR+DNVnjTw7oypMmq+HFSVRp1uBIqyaukiq4+YLIiyKDh1DAigD450v/AIJ+fs1aP8RfFfxVsPgFq0XjTxz8RrD4o+LtSfxH4Ylj8QeJrHxj8S/HBi1W1k1Fob3RNQ1f4qeIbfVtGuFks9S0iw8N6bdLJBolvvAOG8Ef8Eu/2UPh/pXhjTtB+B/jiS88AXngW7+GfibWfiNp+ueLvhgvw5+NPi74++GLLwF4k1PW7nUtDsofiN458S3uox+bcyaxpV//AGLqk11YRRxgA0NG/wCCaH7MGgSXMul/Brx7bzXfhr4YeFLmX/hY+nOz6V8Jvg14w+A/hvylbWjHZXmpfDzxneWni2909LSfxVqmi+FdY1hri98O6c8YB7V4C+BXhL4HaB8Jpb9viNrGnfAGHxFZ+BvEPxM8afC6ebRdI8WeHtN8GyaNeatb2egxDTrTTbG1ttMMZtL2S6mkOo3upmZYwAekfEf4mabrXhb4p+DLOCyl8S6J4N1iXxDolt4s8G32teH7S60wtFeavotjr1xqtnA8dzBKhltA0qTReUHMsYYA0fhZ8TPh1pvw28B6fqHjrwlZX1n4S0G3u7S68QaXDc21xFptuksE8MlyskU0TgpJG6h0cFWAYEUAfNPwZt49L/aT+L/xt+K2q/Amyude0a98A/DLXfA3xPtZBpfwss/F0niLS9B1fwfL4U0USeKfEmo3Nx4t8a+Lb7xTrrvq4tNC0TT9P0q0kutQAPrfVPiL4B1fV/BtvpXjTwvqM8PiaS5lhstc025kjt08M+JImmdIrhmWJZJooy5AUPIi53OoIB6D/wAJR4c/6D2kf+DC1/8AjtAB/wAJR4c/6D2kf+DC1/8AjtAB/wAJR4c/6D2kf+DC1/8AjtAB/wAJR4c/6D2kf+DC1/8AjtAB/wAJR4c/6D2kf+DC1/8AjtAHKXHiPw+fHGkyjW9KMa+FPEUbSfb7basj6v4YZEZvMwGdUcqCcsEcj7poA6v/AISjw5/0HtI/8GFr/wDHaAD/AISjw5/0HtI/8GFr/wDHaAD/AISjw5/0HtI/8GFr/wDHaAD/AISjw5/0HtI/8GFr/wDHaAD/AISjw5/0HtI/8GFr/wDHaAOS0jxJ4fXxZ4wkbW9KCSReHAjm/tgrlLO8D7T5mG2lhux0JGaAOt/4Sjw5/wBB7SP/AAYWv/x2gA/4Sjw5/wBB7SP/AAYWv/x2gA/4Sjw5/wBB7SP/AAYWv/x2gA/4Sjw5/wBB7SP/AAYWv/x2gA/4Sjw5/wBB7SP/AAYWv/x2gDkfB3iPw/Haa2JNb0pC/i7xVIoa/tQWjk1q7ZHGZfuup3Ke4II4NAHXf8JR4c/6D2kf+DC1/wDjtAB/wlHhz/oPaR/4MLX/AOO0AH/CUeHP+g9pH/gwtf8A47QB5V8ctTvNb+EHxF0j4f6b8JPH3jjUfCmq2vhLwf8AFvVUi+GeueIZYCNKtfHBttO1u5k8Ox3nlXOo21vps893DAbWGS1kmW8gAPzY+AH7Kvij4NfEb9iDxDZeDPg/ptj8DfhB+0T4C+Lni5PiZpFx4vu9W+OHjm08eTjwzY6V8O9F02fwjH4s0/WfFVp4Qsbnw1oHhU+OR4e0Kyay8MRXN8Afqp4I8R+H4fBvhSKXW9KSSPw5oqSI1/bBkddOtwysDLlWU5DKcFSCCAQaAOo/4Sjw5/0HtI/8GFr/APHaAD/hKPDn/Qe0j/wYWv8A8doAP+Eo8Of9B7SP/Bha/wDx2gD40/b++Gb/ALSP7KfxR+DfgrTfhh4x8X+MNPtLTwzb/ELxLaaN4e0DWobuO4sfF328aF4nli1Pw5LGL/SzbaWbtbxY5bW7s54450APAdD+DHjLwT8bP2m/jNAvgTwN8PfjB8MfGeq+O/C1v478P/EXXfHPxh1jRfhpZeH/ABD4bvx8MvCnirwNovhTRPB/irQ9e8P3njjxVoni3Utb0LVNI0DRH0eS5uAD71+FPgXwRffDLwDeXvg7wrd3dz4R0Ce5urrw9pE9xcTSabbtJNPPLZvLLLIxLPJIzO7EsxJJNAHyh8PVjtf26fiR8JdXuPCvijwDrHwTuPib4S8Nw6P4G8R2/hnVNH+JVt4U12PUtQsPA/hHUfB11Gus2OlaN4QmuPiAmp2Wm6lrV/4p0vUbM6dqIB9oav4N8H6Zq3gufTfCnhrT55PE8kDzWWhaXayvC/hfxK7RNJBao7Rs8aOyElSyIxGVBAB339jaR/0CtN/8AbX/AONUAH9jaR/0CtN/8AbX/wCNUAH9jaR/0CtN/wDAG1/+NUAH9jaR/wBArTf/AABtf/jVAB/Y2kf9ArTf/AG1/wDjVAHJ3Gk6V/wnOkR/2Zp+w+E/ETlPsVttLjWPC4DEeVgsAzAHqAx9TQB1n9jaR/0CtN/8AbX/AONUAH9jaR/0CtN/8AbX/wCNUAH9jaR/0CtN/wDAG1/+NUAH9jaR/wBArTf/AABtf/jVAB/Y2kf9ArTf/AG1/wDjVAHI6RpOlHxb4wQ6Zp5VIfDe1TZWxC7rO8LbR5WBuIBOOvegDrv7G0j/AKBWm/8AgDa//GqAD+xtI/6BWm/+ANr/APGqAD+xtI/6BWm/+ANr/wDGqAD+xtI/6BWm/wDgDa//ABqgA/sbSP8AoFab/wCANr/8aoA5DwbpOlPaa4X0zT2K+L/FaAtZWxIVNau1VRmI/KoACjoAMDigDr/7G0j/AKBWm/8AgDa//GqAD+xtI/6BWm/+ANr/APGqAD+xtI/6BWm/+ANr/wDGqAD+xtI/6BWm/wDgDa//ABqgBr6PpARyNK03IViP9BtTyAT3i5/GgDmPA+k6VJ4M8Ju+mac7v4b0RmZrK2LMx022yzExZLE8knJJySSSaAOp/sbSP+gVpv8A4A2v/wAaoAP7G0j/AKBWm/8AgDa//GqAD+xtI/6BWm/+ANr/APGqAD+xtI/6BWm/+ANr/wDGqAPPfi1pWlxfDD4gSxabYRyJ4Q8QOkiWdurow024IZGWMMrA8hgQQeQc0AeX/DTw/wDGqf4e+CZ9H+JPgnT9Kl8L6JJp1hefDXUNRu7OzfT4Gt7a5v4/Htil5NDEVSS5WytVmcFxBGDtoA8i+HvixNS+PPxR+Enw58ffCe3+KGhaDpnjP4k674e/Z7l03TtXk1LWtS0t7LUPF1l4+gXxL4m0nUoZm120ee9n0ibUIo72aO+muIIwD6DuNC+Lttrng9/EXxC8IarZt4imSCDTfh5faVNFeHw14iaO4knm8cais0KxLPG9sIomd5UkE6iIxygHqX9neMv+hp0f/wAJSb/5pKAD+zvGX/Q06P8A+EpN/wDNJQAf2d4y/wChp0f/AMJSb/5pKAD+zvGX/Q06P/4Sk3/zSUAH9neMv+hp0f8A8JSb/wCaSgDlbjT/ABb/AMJtpKnxLpRnPhXxCyy/8IxKI1iGr+GQ8Zh/4SAlndzGyy+aoQIy+W/mbkAOq/s7xl/0NOj/APhKTf8AzSUAH9neMv8AoadH/wDCUm/+aSgA/s7xl/0NOj/+EpN/80lAB/Z3jL/oadH/APCUm/8AmkoAP7O8Zf8AQ06P/wCEpN/80lAHJ6Tp/i0+K/FwTxLpSyiLw75sh8MyskmbO88vZH/wkCmIoMhsySCQkMAmCGAOs/s7xl/0NOj/APhKTf8AzSUAH9neMv8AoadH/wDCUm/+aSgA/s7xl/0NOj/+EpN/80lAB/Z3jL/oadH/APCUm/8AmkoAP7O8Zf8AQ06P/wCEpN/80lAHJ+ENP8WNa60YfEulRgeLPFCyB/DMsu6ZdZuhLIpHiCPYkjgusWGMYO0ySY3kA6z+zvGX/Q06P/4Sk3/zSUAH9neMv+hp0f8A8JSb/wCaSgA/s7xl/wBDTo//AISk3/zSUAH9neMv+hp0f/wlJv8A5pKAGvp3jHY+fFOkY2tnHhSYHGDnB/4STr70Ac14K0/xa3g7wq0HiXSooW8O6M0cT+GJZnjQ6dblUaX/AISGPzCo4L+Wm7Gdi5wADp/7O8Zf9DTo/wD4Sk3/AM0lAB/Z3jL/AKGnR/8AwlJv/mkoAP7O8Zf9DTo//hKTf/NJQAf2d4y/6GnR/wDwlJv/AJpKAOA+Kth4rT4aePXuvEel3FsvhLXmngi8NS28k0Q064LxpOdfnELOuVEphl2E7tjYwQDgvht8V9R0v4feCtOi+FfxM1OOx8L6JapqOn6Cs1hfLDp8CC6s5vtA822nx5kEmAXjZWIGcUAeIfDfwT8Gvhx8cPFXxd+HPwU+K2keONb8Jah4V8R6HYteahpqLq/ja/8AHeu61Lol5rV61jq2r+I9Uknv5EWC23ndFbQ3FzcyTgH0rP8AE3UNb1zwfay/DP4iaMIfEE92LnVtES2t5mj8NeIY/s0chuCDcOJjKqnGY4ZWzlcEA9R/4Su8/wChS8S/+AkP/wAfoAP+ErvP+hS8S/8AgJD/APH6AD/hK7z/AKFLxL/4CQ//AB+gA/4Su8/6FLxL/wCAkP8A8foAP+ErvP8AoUvEv/gJD/8AH6AOXuPE10fGukzf8Iv4iDL4X8QReSbWLzGD6t4ZcyL+/wAFEKBX7hpE65OADqP+ErvP+hS8S/8AgJD/APH6AD/hK7z/AKFLxL/4CQ//AB+gA/4Su8/6FLxL/wCAkP8A8foAP+ErvP8AoUvEv/gJD/8AH6AD/hK7z/oUvEv/AICQ/wDx+gDldK8TXa+KfFsv/CL+ImMsXh7Ma2sXmReXaXgHmDz+N+cp6gGgDqv+ErvP+hS8S/8AgJD/APH6AD/hK7z/AKFLxL/4CQ//AB+gA/4Su8/6FLxL/wCAkP8A8foAP+ErvP8AoUvEv/gJD/8AH6AD/hK7z/oUvEv/AICQ/wDx+gDlPCPiW6htdZA8L+IZd/ivxRMTHaxEIZdZunMTZmH7yPOyQdnBGT1oA6v/AISu8/6FLxL/AOAkP/x+gA/4Su8/6FLxL/4CQ/8Ax+gA/wCErvP+hS8S/wDgJD/8foAP+ErvP+hS8S/+AkP/AMfoAa/iq8ZWH/CJ+JeVIz9khPUEdPP5/PmgDnPBnia6g8IeFoR4W8RTCPw7oyCWO1hMcgGnW+HQmflHHzI3G5SDgZxQB0v/AAld5/0KXiX/AMBIf/j9AB/wld5/0KXiX/wEh/8Aj9AB/wAJXef9Cl4l/wDASH/4/QAf8JXef9Cl4l/8BIf/AI/QBwXxT8SXVz8NfHlu3hnxBbLN4T16Nrie1iEMIbTbgGWVhMSsafedgCVUE4OKANb4R6xpMXwt+HsUuqadHLH4O8PJJHJfWySI66ZbBldGlDKynIZWAIPBGaAPln4IfC3Wfh3+1V8cvHFlpHh7RPhT4/07WdZuNc8Q6h4D1DxzrnxO1vxsNXvLjw3rHh2Zteh+G8+gjzW0Pxkft+n6vHp8Wm/6NDcRxAH2H4g1bS59T8FLDqVhMw8VO5WK8t5GCjwt4nBYhJCQoLAEnjJAzk0Adl9ts/8An7tv+/8AF/8AFUAH22z/AOfu2/7/AMX/AMVQAfbbP/n7tv8Av/F/8VQAfbbP/n7tv+/8X/xVAB9ts/8An7tv+/8AF/8AFUAclcXlp/wnekH7Vb4/4RLxGCfPjxk6z4WIGd3U4Jx3wfSgDrfttn/z923/AH/i/wDiqAD7bZ/8/dt/3/i/+KoAPttn/wA/dt/3/i/+KoAPttn/AM/dt/3/AIv/AIqgA+22f/P3bf8Af+L/AOKoA5DSLy0/4S7xkTdW+DD4awfPjwcWd7nB3c470Adf9ts/+fu2/wC/8X/xVAB9ts/+fu2/7/xf/FUAH22z/wCfu2/7/wAX/wAVQAfbbP8A5+7b/v8Axf8AxVAB9ts/+fu2/wC/8X/xVAHH+DLu0Fprubq3GfGHiwjM8YyDrd2QeW5BHIPegDsPttn/AM/dt/3/AIv/AIqgA+22f/P3bf8Af+L/AOKoAPttn/z923/f+L/4qgA+22f/AD923/f+L/4qgBkl7Z+XJ/pdt9x/+W8X90/7VAHMeBby0HgrwkDdW4I8N6KCDPGCCNOtwQQWyCDwQec9aAOq+22f/P3bf9/4v/iqAD7bZ/8AP3bf9/4v/iqAD7bZ/wDP3bf9/wCL/wCKoAPttn/z923/AH/i/wDiqAPO/i5d2rfC74hKtzbszeD/ABAAomjJJOm3GAAGyST0A5NAHnPww+DPwp1j4c+BtV1T4feFb/UtQ8K6HeX17c6Ray3N3dXGnwSz3E8rJukllkZnd2JLMSSaAPg39k7X7T4nfHj4j+Avij8KdBszHffHO60Hw9ZeFPD0WjeB9C+F/wAZ4fh14dsfEUkWnRa5ba74r8OXGmeJ9DudQvbm18R6fcaxf2caW9jbtQB+i178Jfhl4f1rwbeaJ4F8M6ZdT+JJbSae00m1ikltZPDPiOV4HIT5o2khhkKnI3xo3VQaAPTP+EQ8K/8AQu6N/wCC+1/+N0AH/CIeFf8AoXdG/wDBfa//ABugA/4RDwr/ANC7o3/gvtf/AI3QAf8ACIeFf+hd0b/wX2v/AMboAP8AhEPCv/Qu6N/4L7X/AON0AcpceFPDI8caTCNB0gRN4U8QytH9gttjSJq/hhUcr5eCyrJIqseQHYD7xyAdX/wiHhX/AKF3Rv8AwX2v/wAboAP+EQ8K/wDQu6N/4L7X/wCN0AH/AAiHhX/oXdG/8F9r/wDG6AD/AIRDwr/0Lujf+C+1/wDjdAB/wiHhX/oXdG/8F9r/APG6AOT0nwp4ZbxX4vibQdIaOKLw4Y0NhbFUMlneFyo8vA3kAtjqQM0AdZ/wiHhX/oXdG/8ABfa//G6AD/hEPCv/AELujf8Agvtf/jdAB/wiHhX/AKF3Rv8AwX2v/wAboAP+EQ8K/wDQu6N/4L7X/wCN0AH/AAiHhX/oXdG/8F9r/wDG6AOS8H+FfDUtrrZl0HSZCni3xTEhewtmKxxazdJGgzHwqIAqqOABgUAdb/wiHhX/AKF3Rv8AwX2v/wAboAP+EQ8K/wDQu6N/4L7X/wCN0AH/AAiHhX/oXdG/8F9r/wDG6AD/AIRDwr/0Lujf+C+1/wDjdADJPCHhUI5/4R3RvuMf+Qda+h/6Z0Ac14I8KeGZvBvhSWXQNIkll8O6NJJI9hbM7u+nW7M7sY8szMSzMcliSSSTQB1H/CIeFf8AoXdG/wDBfa//ABugA/4RDwr/ANC7o3/gvtf/AI3QAf8ACIeFf+hd0b/wX2v/AMboAP8AhEPCv/Qu6N/4L7X/AON0Aef/ABX8L+G7b4Z+Pri30LSoJ4PCWvSwzRWNukkUiadcMkiOsYZXVgGVgQQRkGgDzb4beBfiLe/D7wVeaf8AFvxRpdldeGNFntNNt7HwU9vYW8lhA0NpA934Mu7tooIysaNc3VzOQuZJ5GJYgHmvhrxRe6p8bvEXwdsPHfxb0P4iRaJqniTUtX1H4d+AdL0bXtC8O6pY6C2qweJI/BDHUrWa/wBRjt9GkuwhvUhvjaBhZ3IjAPc28F+OdO1/wdNrfxS8U61Zy+IJ4FtpbTwbD5Nw3hrxDJHdRvZ+D7NzIixSQ7ZHkhMc8hMJkEUkYB65/wAI9qH/AEOPif8A758M/wDzN0AH/CPah/0OPif/AL58M/8AzN0AH/CPah/0OPif/vnwz/8AM3QAf8I9qH/Q4+J/++fDP/zN0AH/AAj2of8AQ4+J/wDvnwz/APM3QBytxoV//wAJvpMX/CWeIyx8K+IZBMV8O+aoXV/DCmJceHxF5chYO+6NpN0abHVd6uAdV/wj2of9Dj4n/wC+fDP/AMzdAB/wj2of9Dj4n/758M//ADN0AH/CPah/0OPif/vnwz/8zdAB/wAI9qH/AEOPif8A758M/wDzN0AH/CPah/0OPif/AL58M/8AzN0AcnpOhXzeK/FyDxZ4jVo4vDu6VU8O+ZLvs7wgS7vD7J+7wQnlpGcE7y5wQAdZ/wAI9qH/AEOPif8A758M/wDzN0AH/CPah/0OPif/AL58M/8AzN0AH/CPah/0OPif/vnwz/8AM3QAf8I9qH/Q4+J/++fDP/zN0AH/AAj2of8AQ4+J/wDvnwz/APM3QByXg/Qr6S11ojxZ4ji2+LfFMZEa+HcOU1q6DSt5nh+Q+ZKcvJtKx7ifLRFwoAOt/wCEe1D/AKHHxP8A98+Gf/mboAP+Ee1D/ocfE/8A3z4Z/wDmboAP+Ee1D/ocfE//AHz4Z/8AmboAP+Ee1D/ocfE//fPhn/5m6AGv4f1AI5/4THxPwrHlPDPoev8AxTdAHNeCdCv5fB3hWQeLfEcIfw7orCKJPDnlxA6dbkRx+Z4ekk2IPlXzJHfAG52bJIB0/wDwj2of9Dj4n/758M//ADN0AH/CPah/0OPif/vnwz/8zdAB/wAI9qH/AEOPif8A758M/wDzN0AH/CPah/0OPif/AL58M/8AzN0AcB8VtDvoPhn49mfxV4iuUj8Ja87W9wvh/wAidV024JilMGgQT+W4+V/Kmik2k7ZFPNAHn/w1+Lw0n4feCtMPw1+KWo/YPC+iWn2/TPD2k3GnXnkafBH9psZ5fEMEk1rMV3wyPDEzxlWaNCSAAcp4B8S6F4T+IXxf8at4Q+Mvinxl8Rtd0K/1MX3h/wANPd+DfC2jeH7LSvC3gjTrSDxW89hoFrPFrfiOA3EcMmo6v4k1e9cSbkKgHqE/xT/t7XPB9ovw8+JWlGHxFNdefrOh6VaW8vl+GvEUZt4pItfuS1ywm81I2VFaKKZvMDKquAep/wDCWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0ActceJ5D420mb/hGvEwK+FvEMflGzsPNbfq3hl/MUf2ntMabNrkuGDSR4VgxKgHU/wDCWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AH/CWSf9Ct4q/wDALTv/AJa0AcppXid18VeLZP8AhGvEzGWLw7mNbSwMkey0uwDIDqYAEmSUwzZCtnHcA6v/AISyT/oVvFX/AIBad/8ALWgA/wCEsk/6FbxV/wCAWnf/AC1oAP8AhLJP+hW8Vf8AgFp3/wAtaAD/AISyT/oVvFX/AIBad/8ALWgA/wCEsk/6FbxV/wCAWnf/AC1oA5Pwh4neK11oDw34ll3+LPFEuYrSwYIZNZunMT7tTUiWMnbIBkBgcMw5oA6z/hLJP+hW8Vf+AWnf/LWgA/4SyT/oVvFX/gFp3/y1oAP+Esk/6FbxV/4Bad/8taAD/hLJP+hW8Vf+AWnf/LWgBr+K5Cjj/hFvFXKsP+PLTu4P/UVoA5vwX4nkh8H+FYv+Ea8TS+X4d0ZPNis7AxSbdOtxvjLamrFG+8pZVJUglQeKAOm/4SyT/oVvFX/gFp3/AMtaAD/hLJP+hW8Vf+AWnf8Ay1oAP+Esk/6FbxV/4Bad/wDLWgA/4SyT/oVvFX/gFp3/AMtaAOB+KviV7j4aePID4c8SW4m8J69GZ7i0sVgh36dcL5kzR6lI6xpnc5WN2CgkKTxQBsfCLUtPj+Fvw8jkv7JJE8G+HldHuoFdWGl22VZTICrA8EEAg8HmgD4C/Zh+Cfxa8A/th/G/4r+NYtOtvB3jj/hcKx3E/iPTL6zhfxF8V9G8R+Bj4Na2mGsXljq/hGxa78W2ni8TN4T8QWi6V4Nlh0G/ubdQD9GvEOoWE2p+ClivrORh4qdiI7mFyFHhbxOCxCuSBkgZPGSB1IoA7D7Vbf8APxB/3+j/APiqAD7Vbf8APxB/3+j/APiqAD7Vbf8APxB/3+j/APiqAD7Vbf8APxB/3+j/APiqAD7Vbf8APxB/3+j/APiqAOSuLm3/AOE70c/aIdv/AAiXiMZ81MZ/tjwqcfe6kfnj2oA637Vbf8/EH/f6P/4qgA+1W3/PxB/3+j/+KoAPtVt/z8Qf9/o//iqAD7Vbf8/EH/f6P/4qgA+1W3/PxB/3+j/+KoA5DR7m3/4S7xkTPDgw+GsHzUwcWV5nB3c4zz9aAOv+1W3/AD8Qf9/o/wD4qgA+1W3/AD8Qf9/o/wD4qgA+1W3/AD8Qf9/o/wD4qgA+1W3/AD8Qf9/o/wD4qgA+1W3/AD8Qf9/o/wD4qgDj/Blxbi01zM8Iz4w8WEZlTkHW7sg/e6HqD3HNAHYfarb/AJ+IP+/0f/xVAB9qtv8An4g/7/R//FUAH2q2/wCfiD/v9H/8VQAfarb/AJ+IP+/0f/xVADJLm2KOPtEHKN/y2j9D/tUAcx4FubceCvCINxACPDWiZBljyP8AiW23X5uvqOoPXmgDqvtVt/z8Qf8Af6P/AOKoAPtVt/z8Qf8Af6P/AOKoAPtVt/z8Qf8Af6P/AOKoAPtVt/z8Qf8Af6P/AOKoA87+Llxbt8LviEqzwsx8H+IAAJUJJOmXHAG7JJ7Ack0AeZ/DH4K/CnWPh14H1XU/AXhy91HUfC2iXt9eXFhHJPdXdzp8Es9xM55eSWVmd2PVmJoA+FvgVrF54p/a68XfA3x/8KfAN1oUGgfG3xJNHoWi+FLnTPAdh4E+LPh/wj8K1g8Q6Dqt9qt/L8QvBOt3Gq69p/jSz0vWNP8AFGi6pZ6TaiwsL1UAP0NvPhD8MvD+t+DbzRfBPh/TbqbxHNZyzW1hEjyWsvhnxHLJAx5zG0sEMhH9+JG6qKAPTf8AhDPCn/QA0v8A8BY/8KAD/hDPCn/QA0v/AMBY/wDCgA/4Qzwp/wBADS//AAFj/wAKAD/hDPCn/QA0v/wFj/woAP8AhDPCn/QA0v8A8BY/8KAOVuPCPhgeN9JgGhab5TeFfEMrJ9lj2tImr+GERyMcsqySBT2Dt60AdV/whnhT/oAaX/4Cx/4UAH/CGeFP+gBpf/gLH/hQAf8ACGeFP+gBpf8A4Cx/4UAH/CGeFP8AoAaX/wCAsf8AhQAf8IZ4U/6AGl/+Asf+FAHJ6T4S8Mv4r8XRNoemtHDD4c8pDaxlU8y0vGfaMcbmAJ9TQB1n/CGeFP8AoAaX/wCAsf8AhQAf8IZ4U/6AGl/+Asf+FAB/whnhT/oAaX/4Cx/4UAH/AAhnhT/oAaX/AOAsf+FAB/whnhT/AKAGl/8AgLH/AIUAcl4P8JeGZrXWzLoemuU8W+KYlLWsZKxxazdJGg4+6iAKo7AAUAdb/wAIZ4U/6AGl/wDgLH/hQAf8IZ4U/wCgBpf/AICx/wCFAB/whnhT/oAaX/4Cx/4UAH/CGeFP+gBpf/gLH/hQA2Twb4VCORoGl5Csf+PSPrg+1AHNeCfCPhifwd4Vmm0PTZJZfDujSSSPaxlnd9Ot2Z2OMlmJJJPJJJPNAHT/APCGeFP+gBpf/gLH/hQAf8IZ4U/6AGl/+Asf+FAB/wAIZ4U/6AGl/wDgLH/hQAf8IZ4U/wCgBpf/AICx/wCFAHn/AMVvCfhq1+Gfj25t9E06GeDwlr0sM0dsiyRypp1wySIwGVZWAZWHIIzQB4ppsfxX8JfA/TvHdp8Sb+bQtA+H1n4hi8LaB8OvCura4ulWGjxXZ07T5dW1TSre/u4LSNgst9fWYnMbPLMrMcgHzfN+1Fp3hb/hAdfsviLrdrZ/Fz4c/CL41+JvEWm/Bb4f20fgbwR8dPFOl+CPhr4j+Jc3/CQQXjz654t1ddJmg0GPxLd6fFYavqt4semWQuZwD7em8LfFOx1zwhLr3xVg1y0k8QzRQ2sfgjRNNaG6bw34hdLrz4JXZwkSTxGFlKN5+/h41NAHqn9j+K/+hwP/AIItM/8AiaAD+x/Ff/Q4H/wRaZ/8TQAf2P4r/wChwP8A4ItM/wDiaAD+x/Ff/Q4H/wAEWmf/ABNAB/Y/iv8A6HA/+CLTP/iaAOWuNK8T/wDCa6Sh8WZmPhbxA6zf2Jp2VjXVvDIePbjawkZkfccsvl4BAdsgHU/2P4r/AOhwP/gi0z/4mgA/sfxX/wBDgf8AwRaZ/wDE0AH9j+K/+hwP/gi0z/4mgA/sfxX/ANDgf/BFpn/xNAB/Y/iv/ocD/wCCLTP/AImgDlNJ0rxOfFXi1V8WFZEi8O+ZL/YmnHzQ1ndlAVIwvlgMPl+9nJ6UAdX/AGP4r/6HA/8Agi0z/wCJoAP7H8V/9Dgf/BFpn/xNAB/Y/iv/AKHA/wDgi0z/AOJoAP7H8V/9Dgf/AARaZ/8AE0AH9j+K/wDocD/4ItM/+JoA5PwjpXid7XWvK8VmIL4s8UIw/sTTW3yLrN0JJSSuR5j5fb0UEKOBQB1n9j+K/wDocD/4ItM/+JoAP7H8V/8AQ4H/AMEWmf8AxNAB/Y/iv/ocD/4ItM/+JoAP7H8V/wDQ4H/wRaZ/8TQA19I8VBWJ8YHAVif+JDph4wc8FcH6Hg96AOc8F6V4nk8IeFnh8WGKJvDujNHF/Yemt5aHTrcrHuYFm2D5d7Es2NzHcTQB0v8AY/iv/ocD/wCCLTP/AImgA/sfxX/0OB/8EWmf/E0AH9j+K/8AocD/AOCLTP8A4mgA/sfxX/0OB/8ABFpn/wATQBwPxU0vxLF8NfHklx4pNzAnhPXWmt/7G0+Lz4hp1wXi81F3x+YuV8xPnTO5fmAoA8atPiRoGsfAW1+HthceONG17VPhvD4VTW4Pg/8AEHxVp1jc3uiLplxd28dhosdjrUKJJKbd7XUfs052SpM8fDAHxvJ+zL4Av9B+FvhzWPiL8WLrS/B/wg+CHwK+JMVr+zv4/s2+Ifw+/Z1+Jdl8SvhhBBI2iXD+EtcTU7SXSfFGpQHUYtb0rUb6O1stKvPsd1aAH6OXHxf8J+Itc8H2enWPjhJ4PEU14/8AaXw58d6TE0UfhrxFCyxT6n4ftYZp906FbaORp3jEsqxmOKVlAPUv+Ey0v/ny8Sf+Er4i/wDlbQAf8Jlpf/Pl4k/8JXxF/wDK2gA/4TLS/wDny8Sf+Er4i/8AlbQAf8Jlpf8Az5eJP/CV8Rf/ACtoAP8AhMtL/wCfLxJ/4SviL/5W0AcrceLdNPjfSZvsfiHavhXxBEVPhnXxKWfV/DLgrEdO8xkAjYPIqlEYorMGkQMAdV/wmWl/8+XiT/wlfEX/AMraAD/hMtL/AOfLxJ/4SviL/wCVtAB/wmWl/wDPl4k/8JXxF/8AK2gA/wCEy0v/AJ8vEn/hK+Iv/lbQAf8ACZaX/wA+XiT/AMJXxF/8raAOT0nxdpi+K/F0ptPEBWWLw6FC+GdfaRfLs7wN5kY04yR5yChdVEgyULYbAB1n/CZaX/z5eJP/AAlfEX/ytoAP+Ey0v/ny8Sf+Er4i/wDlbQAf8Jlpf/Pl4k/8JXxF/wDK2gA/4TLS/wDny8Sf+Er4i/8AlbQAf8Jlpf8Az5eJP/CV8Rf/ACtoA5Pwh4t02G11oNaeIGL+LPFEo8vwzr8oCy6zdOoYx6cwSQA4kiYiSNso6qwIoA6z/hMtL/58vEn/AISviL/5W0AH/CZaX/z5eJP/AAlfEX/ytoAP+Ey0v/ny8Sf+Er4i/wDlbQAf8Jlpf/Pl4k/8JXxF/wDK2gBr+MtLKOBZeJMlWH/Iq+IupB/6htAHNeCvFumweDvCsL2fiEvF4d0ZGMfhjxBLGSunW4JSWPTmSRDjKujMjjDKxBBIB0//AAmWl/8APl4k/wDCV8Rf/K2gA/4TLS/+fLxJ/wCEr4i/+VtAB/wmWl/8+XiT/wAJXxF/8raAD/hMtL/58vEn/hK+Iv8A5W0AcB8VfFenXXw08e20dpr6yT+EteiRp/Deu28Ks+nXCgyzz6ekMMYJy8krqiDLMwAJoA5G+02fVv2TJdMtdH8Qa9e6j8GY7Ox0fwrdNY+ItQvrrw2kVhBpN4uqaI1vcvdPAyy/2tYgRhyZ1UkMAfImieF/jPb+Gf8Agl7e6j8NvjG/iz4Vpo2ifHwDVdJkXR9PsvgL4q+G+uS+Mbf/AITkaf4kF78Tbzwx4gtL23i16+fSLSfXUa3ngeynAP0o8SL/AMTLwTgf8zY54H/Uq+KM0AdZQAUAFABQAUAclcZ/4TvRzzj/AIRLxJz2z/bPhXP49KAOtoAKACgAoAKAOP0f/kb/ABl7w+Gv/SK9oA7CgAoAKACgAoA4/wAFgi013IPPjHxaRnuP7cu+ffnNAHYUAFABQAUAMkyUcDklGx3JJBoA5jwKCPBXhEEEH/hGtD4PB5022NAHVUAFABQAUAedfF3/AJJb8Q/+xO8Q/wDpsuSaAPmKX4P+DLb9nh/Hek6FZSeMrT4XHxTa3HiHxD44Ph+XVrTQP7TZtS0/RfFOjyizmeJ1a30+6sNu4LE8SgAAHyta65Y+IfDn7E2seENB+H+reNP2i/Bvwd8ceOPhCNZ+JR1iw8F+L7HQNS+KfxF03xc/xVhtPB3hPwFZ619n8PQa74e8R3nivxQ2n+ErS4udR1AmzAP0In+CXw18Na54PvdH0K7t7i48QzWMzTeI/E18j20vhrxDO6eTfaxcxK3m28LCRUEi7SoYK7hgD1L/AIQHwn/0Cz/4Haj/APJdAB/wgPhP/oFn/wADtR/+S6AD/hAfCf8A0Cz/AOB2o/8AyXQAf8ID4T/6BZ/8DtR/+S6AD/hAfCf/AECz/wCB2o//ACXQBy1x4H8LjxrpVuNMPlP4W8QTMv23UMmSPVvDKId32vI2rLIMAgHdlskLgA6n/hAfCf8A0Cz/AOB2o/8AyXQAf8ID4T/6BZ/8DtR/+S6AD/hAfCf/AECz/wCB2o//ACXQAf8ACA+E/wDoFn/wO1H/AOS6AD/hAfCf/QLP/gdqP/yXQBymleB/DD+KvFsLaaTHBF4eMS/bdQG0y2l40nIutzbiAfmJx2xzQB1f/CA+E/8AoFn/AMDtR/8AkugA/wCEB8J/9As/+B2o/wDyXQAf8ID4T/6BZ/8AA7Uf/kugA/4QHwn/ANAs/wDgdqP/AMl0AH/CA+E/+gWf/A7Uf/kugDlPCPgjwxcWutNLppYx+K/FECf6bqA2xQ6zdRxr8t0M7VA5OWY5JJJzQB1f/CA+E/8AoFn/AMDtR/8AkugA/wCEB8J/9As/+B2o/wDyXQAf8ID4T/6BZ/8AA7Uf/kugA/4QHwn/ANAs/wDgdqP/AMl0ANfwF4UCOf7LPCseb7UewJ5/0ugDm/Bfgfwvc+D/AAtcTaYWlm8PaNLIwvdQXdI+n27O2Bd4G5iTgAAE8ADigDpv+EB8J/8AQLP/AIHaj/8AJdAB/wAID4T/AOgWf/A7Uf8A5LoAP+EB8J/9As/+B2o//JdAB/wgPhP/AKBZ/wDA7Uf/AJLoA4L4qeCvDVl8NfHl3bacY7i28J69NDJ9sv32Sx6dcMjbXumRtrAHa6sp6MCMggHiDf8ACx7P9nyHUPE8nwk134X2nw4tL3VvDmq/Cbx78QdSvvC9tpMVxJZah4d0XxVcHxLci0QG6trHQzFcOjyLaRwqdgB8/XGpfDXSLD9mXxuPhx+zcvh74iwfDi2+AHjyx/ZP8US6N4Sb4kara658N9Ii1KHxV9u8AXeta/rsGpWVlbWsKaTqt7NqmqtpiedfAA+4Li1+Na654OPibXfhdcWJ8RTCBdD8JeLLO6S9/wCEa8RGKSZ7/wAbX8UlqIRcLJEkcUpkaF1nVY3jkAPUvs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoA5W4g8af8JvpQOqeF/P8A+EV8QFHGhasIhF/a/hnzFaP/AISMu0jOYikglVVVZFaNy6sgB1X2fx1/0FvCf/hPax/809AB9n8df9Bbwn/4T2sf/NPQAfZ/HX/QW8J/+E9rH/zT0AH2fx1/0FvCf/hPax/809AB9n8df9Bbwn/4T2sf/NPQByekweNP+Eq8XBNU8LiYReHfOZtC1Vo2Bs7vy/LQeI1ZCo3eYXkk3kgqEAIYA6z7P46/6C3hP/wntY/+aegA+z+Ov+gt4T/8J7WP/mnoAPs/jr/oLeE//Ce1j/5p6AD7P46/6C3hP/wntY/+aegA+z+Ov+gt4T/8J7WP/mnoA5PwhB4zNrrfk6p4YQDxZ4oEnm6FqshaYazdec6FPEce2JpMmONgzouFaSQjeQDrPs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoAPs/jr/oLeE//AAntY/8AmnoAZJb+OfLfOreE/uN/zL2seh/6megDm/BMHjU+DvCpg1TwukJ8O6MYll0HVpJVjOn2+xZJE8SRI7hcB3WONWbLBEB2gA6f7P46/wCgt4T/APCe1j/5p6AD7P46/wCgt4T/APCe1j/5p6AD7P46/wCgt4T/APCe1j/5p6AD7P46/wCgt4T/APCe1j/5p6AOA+KsHjEfDTx6bvU/DMlqPCevG4jt9D1SG4eH+zrjzFhml8Q3EccpXIR3glVWwWjYZBAPhTUf28/2VrL4Q3fwb1f4w6n4L8Y2/ghvAOsahF8M/GPiQaBqq6UNH1R4YF0NtK1U2zG4jiZbt7SVtsqvImAwB8uN8af2K7vwd+y14G1X9qbWbvS/2Wx8Px4a8R2n7PGtab8Sb9fhpf6W2h2+kePI9Amv/BNl4i8P6HpPhH4jWmhWjp418PpqNnO2nJqk6oAfoDon7f37LPxP8TeGdF8GeP8AUNU1HS9TuvEF7DL4K8Z6esWl22h6xp01wJdR0K1ikZbvVbKPyY3eZhKzrGUjkZQD3j/hp/4Mf9DPdf8AhPeIP/lbQAf8NP8AwY/6Ge6/8J7xB/8AK2gA/wCGn/gx/wBDPdf+E94g/wDlbQAf8NP/AAY/6Ge6/wDCe8Qf/K2gA/4af+DH/Qz3X/hPeIP/AJW0Ac9N+0h8IX8Wabqi+JLk2cHh7W7CWX+wddBW6u9S0C4t0EZ0/wAxg8VldMXVCieWAzBnQMAdD/w0/wDBj/oZ7r/wnvEH/wAraAD/AIaf+DH/AEM91/4T3iD/AOVtAB/w0/8ABj/oZ7r/AMJ7xB/8raAD/hp/4Mf9DPdf+E94g/8AlbQAf8NP/Bj/AKGe6/8ACe8Qf/K2gDnNO/aP+EVv4i8SahL4kuVtdRj0RbST+wddYyGytrmO4yi6eXTY8iAb1XdnK7gCaAOj/wCGn/gx/wBDPdf+E94g/wDlbQAf8NP/AAY/6Ge6/wDCe8Qf/K2gA/4af+DH/Qz3X/hPeIP/AJW0AH/DT/wY/wChnuv/AAnvEH/ytoAP+Gn/AIMf9DPdf+E94g/+VtAHN+Gf2j/hFp1vqsd34kuY2uvEniHUIQNB1191rf6pcXNtISmnMFLwyKxRsOhO11DAigDpP+Gn/gx/0M91/wCE94g/+VtAB/w0/wDBj/oZ7r/wnvEH/wAraAD/AIaf+DH/AEM91/4T3iD/AOVtAB/w0/8ABj/oZ7r/AMJ7xB/8raAGv+098GGVl/4Si6+ZSP8AkXvEHcEf9A2gDC8KftI/CDS/DHh3TbzxJcx3dhoelWd1GNB12QR3FtYwRTIJI9OZHCSIyh0ZlbG5SQQaAN//AIaf+DH/AEM91/4T3iD/AOVtAB/w0/8ABj/oZ7r/AMJ7xB/8raAD/hp/4Mf9DPdf+E94g/8AlbQAf8NP/Bj/AKGe6/8ACe8Qf/K2gDjfiJ+0R8Jtf8B+MdE0vxFc3Gpat4b1jT7GBtD1uFZru7sZoYI2mm0+OKMPI6qXkdUXOWYAE0Af/9lQSwMEFAAGAAgAAAAhAEOyNY8fAQAAWgIAABgAAAB4bC93b3Jrc2hlZXRzL3NoZWV0Mi5iaW5sUM1KA0EM/jK7lh271AUpMgd72a4nFS8exMMOvkavPkgVFPTmH/o4vfoOFXoRPPYNajIzWbpiYJLJl8yXb3JDeKGDzxzwCLZJJskrVRJIHNsOnzvCA02WWQCS8xyvt4APmkp9zMckWCgkV0zwR8I9oRkQzAjzt4KxI3xnpQjYxXGY+sTeJY4IbYsxpZaAdWtKrTHqTamzgcLbpqcYpx4YctsFhd+5arMnVMMJLyLYYVcXGq3bRnbQ2Xzmuzbh1zY4VRJ+oYm8tSd9IefMsM/4ZVzzgK9YYOEqxtlsrYJCGnRbvtbC6aogGs+E9/wqNgiu8yLyv//bI/lXZioss7P44qftx3XKNa5Svmrr3Ix4j6ILhbgpbgm/AAAA//8DAFBLAwQUAAYACAAAACEAifg4wMEAAAAcAQAAIwAAAHhsL3dvcmtzaGVldHMvX3JlbHMvc2hlZXQyLmJpbi5yZWxzbM/BSsQwEAbgu+A7hLnb6e5BRJoueBB6lfUBxmTaBpuZkARp397cdMXjP8P/DTNc9riZL84lqFg4dT0YFqc+yGLh/fr68ASmVBJPmwpbOLjAZby/G954o9pKZQ2pmKZIsbDWmp4Ri1s5Uuk0sbTNrDlSbTEvmMh90sJ47vtHzL8NGG9MM3kLefInMNcjtct/7Bhc1qJz7ZxG1HkO7j8V9+0lCOVjEs97sygvXC18/AzPXQuA44A3P43fAAAA//8DAFBLAwQUAAYACAAAACEAbY/KwDIBAACfAgAADQAAAHhsL3N0eWxlcy5iaW6kkrtKA1EQhr/dM+SiIBsrK7FRC4lZ0MZCUAxiowT0BQymCMYLISp26xtY6cPFzgt4KUQrRVlnzkawiBBx4PwzZ+affziXi5BrEQfMTD8rngcKIeTNQxrmFVfYpkWTOm1FI4onBkYc8rwBiMOQkPQjTuYCwhGSswJT3AhdEVWmXDVpt2RI6pYV1PzuD1CulpT9X5Ur4VYkUKXZOQULMhssuhNesmuuRD+PEEWQZb51omixl7ErMLPMq3Cfja9EPtkD638QHjPtOLYeRzEdVb/Kgb5aS/GEBjtMsMYphxq3/Wvus0s8bnMdhbSovk99TNN22jSnfkO12uz53/AkvDmx6rvjw9UsKuna0mpd9Rts0tF5Fq37+U2OtHfBs2r6j45VrfMLa55Px2XIFwAAAP//AwBQSwMEFAAGAAgAAAAhADAPiGsRBwAA3h0AABMAAAB4bC90aGVtZS90aGVtZTEueG1s7FlPbxtFFL8j8R1Ge29jJ3YaR3Wq2LFbaNNGsVvU43g99k4zu7OaGSfxDbVHJCREQVyQuHFAQKVW4lI+TaAIitSvwJuZ3fVOPG6cEkBAc2i9s7/35r3f+zN/9uq145ihQyIk5UkzqF6uBIgkIR/SZNwM7va7lzYCJBVOhpjxhDSDKZHBta1337mKN1VEYoJAPpGbuBlESqWbKysyhGEsL/OUJPBuxEWMFTyK8cpQ4CPQG7OV1UplfSXGNAlQgmNQe2c0oiFBfa0y2MqVdxg8JkrqgZCJnlZNHAmDHR5UNUJOZZsJdIhZM4B5hvyoT45VgBiWCl40g4r5C1a2rq7gzUyIqQWyJbmu+cvkMoHhwaqZU4wHxaTVbq1xZafQbwBMzeM6nU67Uy30GQAOQ/DU2lLWWetuVFu5zhLI/pzX3a7UKzUXX9K/Nmdzo9Vq1RuZLVapAdmftTn8RmW9tr3q4A3I4utz+Fpru91ed/AGZPHrc/julcZ6zcUbUMRocjCH1gHtdjPtBWTE2Q0vfAPgG5UMPkNBNhTZpacY8UQtyrUYP+CiCwANZFjRBKlpSkY4hCxu43ggKNYT4E2CS2/sUCjnhvRcSIaCpqoZvJ9iqIiZvlfPv331/Cl69fzJycNnJw9/OHn06OTh91aXI3gDJ+Oy4MuvP/n9yw/Rb0+/evn4Mz9elvE/f/fRTz9+6gdCBc0sevH5k1+ePXnxxce/fvPYA98WeFCG92lMJLpNjtA+j8E3Q4xrORmI80n0I0wdCRyBbo/qjooc4O0pZj5ci7jk3RPQPHzA65MHjq29SEwU9cx8M4od4C7nrMWFl4Cbeq4Sw/1JMvZPLiZl3D7Gh7652zhxQtuZpNA186R0uG9HxDFzj+FE4TFJiEL6HT8gxOPdfUodXndpKLjkI4XuU9TC1EtJnw6cRJoJ3aAxxGXq8xlC7XCzew+1OPN5vUMOXSQUBGYe4/uEOTRexxOFY5/KPo5ZmfBbWEU+I3tTEZZxHakg0mPCOOoMiZQ+mTsC/C0F/SaGfuUN+y6bxi5SKHrg03kLc15G7vCDdoTj1Ift0SQqY9+TB5CiGO1x5YPvcrdC9DPEAScLw32PEifcZzeCu3TsmDRLEP1mIjyxvE64k7+9KRthYroMtHSnU8c0eV3bZhT6tp3hbdtuBtuwiPmK58apZr0I9y9s0Tt4kuwRqIr5Jepth37boYP/fIdeVMsX35dnrRi6tN6Q2L222XnHCzfeI8pYT00ZuSXN3lvCAjTswqCWM4dOUhzE0gh+6kqGCRzcWGAjgwRXH1AV9SKcwr69GmglY5mpHkuUcgnnRTPs1a3xsPdX9rRZ1+cQ2zkkVrt8aIfX9HB+3CjUGKvG5kybT7SmFSw72dqVTCn49iaTVbVRS89WNaaZpujMVrisKTbncqC8cA0GCzZhZ4NgPwQsr8OxX08N5x3MyFDzbmOUh8VE4a8JUea1dSTCQ2JD5AyX2Kya2OUpNOefds/myPnYLFgD0s42wqTF4vxZkuRcwYxkEDxdTSwp1xZL0FEzaNRX6wEKcdoMRnDShZ9xCkGTei+I2Riui0IlbNaeWYumSGceN/xZVYXLiwUF45RxKqTawTKyMTSvslCxRM9k7V+t13SyXYwDnmaynBVrG5Ai/5gVEGo3tGQ0IqEqB7s0ormzj1kn5BNFRC8aHqEBm4h9DOEHTrU/QyrhwsIUtH6A2zXNtnnl9tas05TvtAzOjmOWRjjrlvp2Jq84Czf9pLDBPJXMA9+8thvnzu+KrviLcqWcxv8zV/RyADcIa0MdgRAudwVGulKaARcq4tCF0oiGXQHrvukdkC1wQwuvgXy4Yjb/C3Ko/7c1Z3WYsoaDoNqnYyQoLCcqEoTsQVsy2XeGsmq29FiVLFNkMqpkrkyt2QNySFhf98B13YMDFEGqm26StQGDO51/7nNWQYOx3qOU683pZMXSaWvg79642GIGp07tJXT+5vwXJhar+2z1s/JGPF8jy47oF7NdUi2vCmfxazSyqd7QhGUW4NJaazvWnMer9dw4iOK8xzBY7GdSuAdC+h9Y/6gImf1eoRfUPt+H3org84PlD0FWX9JdDTJIN0j7awD7Hjtok0mrstRmOx/NWr5YX/BGtZj3FNnasmXifU6yi02UO51TixdJdsaww7UdW0g1RPZ0icLQKD+HmMCYD13lb1F88AACvQO3/hNmv07JFJ5MHaR7wmTXgA+n2U8m7YJrs06fYTSSJftkhOjwOD9/FEzYErJfSPItskFrMZ1oheCa79DgCmZ4LWpXy0J49WzhQsLMDC27EDYXaj4F8H0sa9z6aAd422St17q4cqZY8mcoW8J4P2Xek8+ylNmD4msD9QaUqePXU5YxBeTNJx584RQYjl49039h0bGZblJ26w8AAAD//wMAUEsDBBQABgAIAAAAIQC7mWzCLQAAAEoAAAAUAAAAeGwvc2hhcmVkU3RyaW5ncy5iaW6az8jBwsDAAMLCvGAqmSGfIYfBEJVrhMo1hnGLgIrLGcwYFjAyAAAAAP//AwBQSwMEFAAGAAgAAAAhAAPeB7woAAAANwAAAB4AAAB4bC93b3Jrc2hlZXRzL2JpbmFyeUluZGV4Mi5iaW7SkmAAAgUglgIxkICGBDOQNx8qwsjAyCAHZF8E4qlMDAAAAAD//wMAUEsDBBQABgAIAAAAIQAwR/UfRgEAAFcCAAARAAgBZG9jUHJvcHMvY29yZS54bWwgogQBKKAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8klFPgzAUhd9N/A+k79AWNnUNsETNfHGJiRiNb017txGhNG2V7d9bYEPMjI/3ntPvnnvTdLmvq+ALjC0blSEaERSAEo0s1TZDL8UqvEGBdVxJXjUKMnQAi5b55UUqNBONgSfTaDCuBBt4krJM6AztnNMMYyt2UHMbeYfy4qYxNXe+NFusufjgW8AxIVe4Bscldxx3wFCPRHRESjEi9aepeoAUGCqoQTmLaUTxj9eBqe2fD3pl4qxLd9B+p2PcKVuKQRzde1uOxrZtozbpY/j8FL+tH5/7VcNSdbcSgPJUCiYMcNeY/KGRKZ7U3e0qbt3an3lTgrw9DJbztqf0oQcUyMDHYEPok/Ka3N0XK5THhCYhSUK6KOiCxXM2u37vpv5638UaGvVx9v/EWUjikMYFIWw+Z8lsQjwB8hSffYX8GwAA//8DAFBLAwQUAAYACAAAACEAq2/vw50BAABBAwAAEAAIAWRvY1Byb3BzL2FwcC54bWwgogQBKKAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACck0Fv2zAMhe8D9h8E3RO5WTEMgaxiSDf0sG7BkrZnVqZjobZkiKyR7NdPtpHEaQ8DdqP4Hp4/UrK+2Te16DCSCz6XV/NMCvQ2FM7vcvmw/T77IgUx+ALq4DGXByR5Yz5+0OsYWozskESK8JTLirldKkW2wgZonmSflDLEBjgd406FsnQWb4N9bdCzWmTZZ4V7Rl9gMWtPgXJMXHb8v6FFsD0fPW4PbQI2+mvb1s4CpynNvbMxUChZ3IN1ngNV4tveYq3V1KYT5wbta3R8MJlW06PeWKhxlT5hSqgJtTo39B1Cv741uEhGd7zs0HKIgtyftMCFFM9A2IPlsoPowHMC7G3jYajrljiapxBfqEJk0ioZxuZQTr3T2l2bxWBIxaWxDxhBknCJuHVcI/0q1xD5X8QDw8g74vyEBgvxG/wOLyhPvGlLRLNNP8a7KYbFJJ43BKvQtOAPSThVP5x/oYd2G26B8bj0y6beVBCxSPd01M8NfZf2Hes+ZFX1rMXR817oH8vj+EeYq+t59ilLtz/paXV+++YvAAAA//8DAFBLAwQUAAYACAAAACEAIEbwQmQAAABQAQAAEAAAAHhsL2NhbGNDaGFpbi5iaW5kj0ESgDAIA2NFPfkmv6g/llU6zeiBNjuBlJ6hY58kUZHVXkylhWMgrjXPA1GFLeWWVc3g+kcey6juchcSY7M4hn3Jasb9zBoyZ8hvDIkyRNpWrGFIlCFRhsgHr9ANAAD//wMAUEsDBBQABgAIAAAAIQCnmhsIOwAAAFsAAAAeAAAAeGwvd29ya3NoZWV0cy9iaW5hcnlJbmRleDEuYmlu0pJgAAIFIJYCMZCAhs1/IG8+VISRARXKAcWTgZiZkYFhDhDbMDEwbAdiI2YGhrtAPJWJAQAAAP//AwBQSwECLQAUAAYACAAAACEACWqzK6gBAAC5BQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQItABQABgAIAAAAIQCOASmvDwEAAN0CAAALAAAAAAAAAAAAAAAAAOEDAABfcmVscy8ucmVsc1BLAQItABQABgAIAAAAIQAozqmQDQEAAMwDAAAaAAAAAAAAAAAAAAAAACEHAAB4bC9fcmVscy93b3JrYm9vay5iaW4ucmVsc1BLAQItABQABgAIAAAAIQCDXGOmGAEAAPYBAAAPAAAAAAAAAAAAAAAAAG4JAAB4bC93b3JrYm9vay5iaW5QSwECLQAUAAYACAAAACEAoVEmmMEAAAAcAQAAIwAAAAAAAAAAAAAAAACzCgAAeGwvd29ya3NoZWV0cy9fcmVscy9zaGVldDEuYmluLnJlbHNQSwECLQAUAAYACAAAACEAaxpqENMBAABkBQAAGAAAAAAAAAAAAAAAAAC1CwAAeGwvd29ya3NoZWV0cy9zaGVldDEuYmluUEsBAi0ACgAAAAAAAAAhAOPsz5MMTwAADE8AABcAAAAAAAAAAAAAAAAAvg0AAGRvY1Byb3BzL3RodW1ibmFpbC5qcGVnUEsBAi0AFAAGAAgAAAAhAEOyNY8fAQAAWgIAABgAAAAAAAAAAAAAAAAA/1wAAHhsL3dvcmtzaGVldHMvc2hlZXQyLmJpblBLAQItABQABgAIAAAAIQCJ+DjAwQAAABwBAAAjAAAAAAAAAAAAAAAAAFReAAB4bC93b3Jrc2hlZXRzL19yZWxzL3NoZWV0Mi5iaW4ucmVsc1BLAQItABQABgAIAAAAIQBtj8rAMgEAAJ8CAAANAAAAAAAAAAAAAAAAAFZfAAB4bC9zdHlsZXMuYmluUEsBAi0AFAAGAAgAAAAhADAPiGsRBwAA3h0AABMAAAAAAAAAAAAAAAAAs2AAAHhsL3RoZW1lL3RoZW1lMS54bWxQSwECLQAUAAYACAAAACEAu5lswi0AAABKAAAAFAAAAAAAAAAAAAAAAAD1ZwAAeGwvc2hhcmVkU3RyaW5ncy5iaW5QSwECLQAUAAYACAAAACEAA94HvCgAAAA3AAAAHgAAAAAAAAAAAAAAAABUaAAAeGwvd29ya3NoZWV0cy9iaW5hcnlJbmRleDIuYmluUEsBAi0AFAAGAAgAAAAhADBH9R9GAQAAVwIAABEAAAAAAAAAAAAAAAAAuGgAAGRvY1Byb3BzL2NvcmUueG1sUEsBAi0AFAAGAAgAAAAhAKtv78OdAQAAQQMAABAAAAAAAAAAAAAAAAAANWsAAGRvY1Byb3BzL2FwcC54bWxQSwECLQAUAAYACAAAACEAIEbwQmQAAABQAQAAEAAAAAAAAAAAAAAAAAAIbgAAeGwvY2FsY0NoYWluLmJpblBLAQItABQABgAIAAAAIQCnmhsIOwAAAFsAAAAeAAAAAAAAAAAAAAAAAJpuAAB4bC93b3Jrc2hlZXRzL2JpbmFyeUluZGV4MS5iaW5QSwUGAAAAABEAEQCDBAAAEW8AAAAA'; fs['./test_files/named_ranges_2011.xlsx'] = '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AAADiHJvUk8AAAAkAAADomVsR1IAAAAiAAADxnB0UE8AAAAmAAAD6G5sTkwAAAAoAAAEDmVzRVMAAAAmAAAD6HRoVEgAAAAkAAAENnRyVFIAAAAiAAAEWmZpRkkAAAAoAAAEfHBsUEwAAAAsAAAEpHJ1UlUAAAAiAAAE0GFyRUcAAAAmAAAE8mVuVVMAAAAmAAAFGGRhREsAAAAuAAAFPgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGkBDQBrAGkAIABSAEcAQgAgAHAAcgBvAGYAaQBsAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBmAGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBHAEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBsZm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBH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'; diff --git a/tests/fixtures.lst b/tests/fixtures.lst index 4163b41..c731718 100644 --- a/tests/fixtures.lst +++ b/tests/fixtures.lst @@ -96,6 +96,8 @@ ./test_files/merge_cells.xlsx ./test_files/merge_cells.xlsb ./test_files/merge_cells.ods +./test_files/metadata_2019.xlsx +./test_files/metadata_2019.xlsb ./test_files/named_ranges_2011.xls.xml ./test_files/named_ranges_2011.xlsb ./test_files/named_ranges_2011.xlsx diff --git a/xlsx.flow.js b/xlsx.flow.js index e42f061..7de707e 100644 --- a/xlsx.flow.js +++ b/xlsx.flow.js @@ -1,10 +1,10 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, Deno:false */ +/*global exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; var current_codepage = 1200, current_ansi = 1252; /*:: declare var cptable:any; */ /*global cptable:true, window */ @@ -1354,7 +1354,7 @@ declare var Buffer_from:any; /* vim: set ts=2: */ /*jshint eqnull:true */ /*exported CFB */ -/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */ +/*global Uint8Array:false, Uint16Array:false */ /*:: type SectorEntry = { @@ -3378,8 +3378,7 @@ function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length /* TODO: stress test */ function fuzzynum(s/*:string*/)/*:number*/ { var v/*:number*/ = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); @@ -3599,7 +3598,7 @@ var xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() { function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; })(); -function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; +function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value/*:any*/)/*:boolean*/ { switch(value) { @@ -3771,6 +3770,7 @@ var XMLNS = ({ EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", CT: 'http://schemas.openxmlformats.org/package/2006/content-types', RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', + TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -4741,9 +4741,6 @@ var SummaryPIDSI = { /*::[*/0x72627262/*::]*/: {} }; -var DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, "n"); -var SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, "n"); - /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { /*::[*/0x0001/*::]*/: "US", // United States @@ -4983,6 +4980,8 @@ var ct2type/*{[string]:string}*/ = ({ /* Comments */ "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", "application/vnd.ms-excel.comments": "comments", + "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", + "application/vnd.ms-excel.person+xml": "people", /* Metadata (Stock/Geography and Dynamic Array) */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", @@ -5026,10 +5025,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", @@ -5157,9 +5152,9 @@ var CT_LIST = { function new_ct()/*:any*/ { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], links:[], + rels:[], strs:[], comments:[], threadedcomments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], + calcchains:[], vba: [], drawings: [], metadata: [], people:[], TODO:[], xmlns: "" }/*:any*/); } @@ -5193,32 +5188,30 @@ var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns:xsi': XMLNS.xsi }); -var CTYPE_DEFAULTS = [ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] -].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); -}); - function write_ct(ct, opts)/*:string*/ { var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); var o/*:Array*/ = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); - o = o.concat(CTYPE_DEFAULTS); + o = o.concat([ + ['xml', 'application/xml'], + ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], + ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], + ['data', 'application/vnd.openxmlformats-officedocument.model+data'], + /* from test files */ + ['bmp', 'image/bmp'], + ['png', 'image/png'], + ['gif', 'image/gif'], + ['emf', 'image/x-emf'], + ['wmf', 'image/x-wmf'], + ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], + ['tif', 'image/tiff'], ['tiff', 'image/tiff'], + ['pdf', 'application/pdf'], + ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] + ].map(function(x) { + return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); + })); /* only write first instance */ var f1 = function(w) { @@ -5259,8 +5252,10 @@ function write_ct(ct, opts)/*:string*/ { ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); + f3('threadedcomments'); f3('drawings'); f2('metadata'); + f3('people'); if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } @@ -5275,9 +5270,31 @@ var RELS = ({ XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", + CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", + EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", + STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", + WS: [ + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", + "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" + ], + DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", + MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", + IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", + DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", + XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", + TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", + PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" }/*:any*/); + /* 9.3.3 Representing Relationships */ function get_rels_path(file/*:string*/)/*:string*/ { var n = file.lastIndexOf("/"); @@ -5421,8 +5438,6 @@ var CORE_PROPS/*:Array >*/ = [ ["dcterms:modified", "ModifiedDate", 'date'] ]; -RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; - var CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { @@ -5446,15 +5461,6 @@ function parse_core_props(data) { return p; } -var CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi -}); - function cp_doit(f, g, h, o, p) { if(p[f] != null || g == null || g === "") return; p[f] = g; @@ -5464,7 +5470,14 @@ function cp_doit(f, g, h, o, p) { function write_core_props(cp, _opts) { var opts = _opts || {}; - var o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {}; + var o = [XML_HEADER, writextag('cp:coreProperties', null, { + //'xmlns': XMLNS.CORE_PROPS, + 'xmlns:cp': XMLNS.CORE_PROPS, + 'xmlns:dc': XMLNS.dc, + 'xmlns:dcterms': XMLNS.dcterms, + 'xmlns:dcmitype': XMLNS.dcmitype, + 'xmlns:xsi': XMLNS.xsi + })], p = {}; if(!cp && !opts.Props) return o.join(""); if(cp) { @@ -5499,8 +5512,6 @@ var EXT_PROPS/*:Array >*/ = [ ["TitlesOfParts", "TitlesOfParts", "raw"] ]; -RELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'; - var PseudoPropsPairs = [ "Worksheets", "SheetNames", "NamedRanges", "DefinedNames", @@ -5574,17 +5585,15 @@ function parse_ext_props(data, p, opts) { return p; } -var EXT_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_ext_props(cp/*::, opts*/)/*:string*/ { var o/*:Array*/ = [], W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; o[o.length] = (XML_HEADER); - o[o.length] = (EXT_PROPS_XML_ROOT); + o[o.length] = (writextag('Properties', null, { + 'xmlns': XMLNS.EXT_PROPS, + 'xmlns:vt': XMLNS.vt + })); EXT_PROPS.forEach(function(f) { if(cp[f[1]] === undefined) return; @@ -5603,8 +5612,6 @@ function write_ext_props(cp/*::, opts*/)/*:string*/ { return o.join(""); } /* 15.2.12.2 Custom File Properties Part */ -RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; - var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data/*:string*/, opts) { var p = {}, name = ""; @@ -5650,13 +5657,11 @@ function parse_cust_props(data/*:string*/, opts) { return p; } -var CUST_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.CUST_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_cust_props(cp/*::, opts*/)/*:string*/ { - var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; + var o = [XML_HEADER, writextag('Properties', null, { + 'xmlns': XMLNS.CUST_PROPS, + 'xmlns:vt': XMLNS.vt + })]; if(!cp) return o.join(""); var pid = 1; keys(cp).forEach(function custprop(k) { ++pid; @@ -5702,9 +5707,10 @@ var XLMLDocPropsMap = { Identifier: 'Identifier', /* NOTE: missing from schema */ Language: 'Language' /* NOTE: missing from schema */ }; -var evert_XLMLDPM = evert(XLMLDocPropsMap); +var evert_XLMLDPM; function xlml_set_prop(Props, tag/*:string*/, val) { + if(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap); tag = evert_XLMLDPM[tag] || tag; Props[tag] = val; } @@ -6010,7 +6016,7 @@ function parse_PropertySet(blob, PIDSI) { blob.l = start_addr + size; /* step ahead to skip padding */ return PropH; } -var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ].concat(PseudoPropsPairs); +var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ]; //.concat(PseudoPropsPairs); function guess_property_type(val/*:any*/)/*:number*/ { switch(typeof val) { case "boolean": return 0x0B; @@ -6054,7 +6060,7 @@ function write_PropertySet(entries, RE, PIDSI) { for(i = 0; i < entries.length; ++i) { if(RE && !RE[entries[i][0]]) continue; - if(XLSPSSkip.indexOf(entries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue; if(entries[i][1] == null) continue; var val = entries[i][1], idx = 0; @@ -8897,10 +8903,10 @@ var WK_ = /*#__PURE__*/(function() { V = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V); return (rel ? "" : "$") + (col ? encode_col(V) : encode_row(V)); } - var oprec = [ + /* var oprec = [ 8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3, 3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8 - ]; + ]; */ /* TODO: flesh out */ var FuncTab = { 0x33: ["FALSE", 0], @@ -8914,10 +8920,10 @@ var WK_ = /*#__PURE__*/(function() { 0x6F: ["T", 1] }; var BinOpTab = [ - "", "", "", "", "", "", "", "", - "", "+", "-", "*", "/", "^", "=", "<>", - "<=", ">=", "<", ">", "", "", "", "", - "&", "", "", "", "", "", "", "" + "", "", "", "", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "", "+", "-", "*", "/", "^", "=", "<>", // eslint-disable-line no-mixed-spaces-and-tabs + "<=", ">=", "<", ">", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "&", "", "", "", "", "", "", "" // eslint-disable-line no-mixed-spaces-and-tabs ]; function wk1_fmla_to_csf(blob, o) { @@ -9116,7 +9122,7 @@ var WK_ = /*#__PURE__*/(function() { if(!opts.qpro || length < 21) return; var id = blob.read_shift(1); blob.l += 17; - var len = blob.read_shift(1); + blob.l += 1; //var len = blob.read_shift(1); blob.l += 2; var nm = blob.read_shift(length - 21, 'cstr'); return [id, nm]; @@ -9560,7 +9566,6 @@ function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { return s; } -RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { if(!opts.bookSST) return ""; @@ -10556,8 +10561,6 @@ return function parse_sty_xml(data, themes, opts) { }; })(); -RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; - function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { var o = [XML_HEADER, writextag('styleSheet', null, { 'xmlns': XMLNS_main[0], @@ -10680,11 +10683,12 @@ var XLSBFillPTNames = [ "gray125", "gray0625" ]; -var rev_XLSBFillPTNames/*:EvertNumType*/ = (evert(XLSBFillPTNames)/*:any*/); +var rev_XLSBFillPTNames/*:EvertNumType*/; /* TODO: gradient fill representation */ var parse_BrtFill = parsenoop; function write_BrtFill(fill, o) { if(!o) o = new_buf(4*3 + 8*7 + 16*1); + if(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/); var fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType]; if(fls == null) fls = 0x28; o.write_shift(4, fls); @@ -10968,8 +10972,6 @@ function write_sty_bin(wb, opts) { write_record(ba, 0x0117 /* BrtEndStyleSheet */); return ba.end(); } -RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; - /* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ var XLSXThemeClrScheme = [ '', '', '', '', @@ -11340,69 +11342,6 @@ function update_xfext(xf, xfext) { }); } -RELS.XLMETA = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata"; -function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [] }; - if (!data) - return out; - var pass = false; - data.replace(tagregex, function(x, idx) { - var y = parsexmltag(x); - switch (strip_ns(y[0])) { - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - case "": - case "": - break; - case "": - pass = false; - break; - default: - if (!pass && opts.WTF) - throw new Error("unrecognized " + y[0] + " in metadata"); - } - return x; - }); - return out; -} -function write_xlmeta_xml() { - var o = [XML_HEADER]; - o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); - return o.join(""); -} function parse_BrtMdtinfo(data, length) { return { flags: data.read_shift(4), @@ -11417,6 +11356,13 @@ function write_BrtMdtinfo(data) { write_XLWideString(data.name, o); return o.slice(0, o.l); } +function parse_BrtMdb(data) { + var out = []; + var cnt = data.read_shift(4); + while (cnt-- > 0) + out.push([data.read_shift(4), data.read_shift(4)]); + return out; +} function write_BrtMdb(mdb) { var o = new_buf(4 + 8 * mdb.length); o.write_shift(4, mdb.length); @@ -11432,6 +11378,10 @@ function write_BrtBeginEsfmd(cnt, name) { write_XLWideString(name, o); return o.slice(0, o.l); } +function parse_BrtBeginEsmdb(data) { + data.l += 4; + return data.read_shift(4) != 0; +} function write_BrtBeginEsmdb(cnt, cm) { var o = new_buf(8); o.write_shift(4, cnt); @@ -11439,16 +11389,29 @@ function write_BrtBeginEsmdb(cnt, cm) { return o; } function parse_xlmeta_bin(data, name, _opts) { - var out = { Types: [] }; + var out = { Types: [], Cell: [], Value: [] }; var opts = _opts || {}; var state = []; var pass = false; + var metatype = 2; recordhopper(data, function(val, R, RT) { switch (RT) { case 335: out.Types.push({ name: val.name }); break; case 51: + val.forEach(function(r) { + if (metatype == 1) + out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + else if (metatype == 0) + out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + }); + break; + case 337: + metatype = val ? 1 : 0; + break; + case 338: + metatype = 2; break; case 35: state.push(RT); @@ -11490,6 +11453,80 @@ function write_xlmeta_bin() { write_record(ba, 333); return ba.end(); } +function parse_xlmeta_xml(data, name, opts) { + var out = { Types: [], Cell: [], Value: [] }; + if (!data) + return out; + var pass = false; + var metatype = 2; + data.replace(tagregex, function(x) { + var y = parsexmltag(x); + switch (strip_ns(y[0])) { + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + metatype = 2; + break; + case "": + metatype = 2; + break; + case "": + case "": + case "": + break; + case "": + pass = false; + break; + default: + if (!pass && opts.WTF) + throw new Error("unrecognized " + y[0] + " in metadata"); + } + return x; + }); + return out; +} +function write_xlmeta_xml() { + var o = [XML_HEADER]; + o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); + return o.join(""); +} /* 18.6 Calculation Chain */ function parse_cc_xml(data/*::, name, opts*/)/*:Array*/ { var d = []; @@ -11593,9 +11630,6 @@ function parse_xlink_bin(data, rel, name/*:string*/, _opts) { }, opts); } /* 20.5 DrawingML - SpreadsheetML Drawing */ -RELS.IMG = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -RELS.DRAW = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"; - /* 20.5.2.35 wsDr CT_Drawing */ function parse_drawing(data, rels/*:any*/) { if(!data) return "??"; @@ -11668,9 +11702,7 @@ function write_comments_vml(rId/*:number*/, comments) { o.push(''); return o.join(""); } -RELS.CMNT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; - -function sheet_insert_comments(sheet, comments/*:Array*/) { +function sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) { var dense = Array.isArray(sheet); var cell/*:Cell*/; comments.forEach(function(comment) { @@ -11693,8 +11725,17 @@ function sheet_insert_comments(sheet, comments/*:Array*/) { } if (!cell.c) cell.c = []; - var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r}); + var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); if(comment.h) o.h = comment.h; + + /* threaded comments always override */ + for(var i = cell.c.length - 1; i >= 0; --i) { + if(!threaded && cell.c[i].T) return; + if(threaded && !cell.c[i].T) cell.c.splice(i, 1); + } + if(threaded && people) for(i = 0; i < people.length; ++i) { + if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } + } cell.c.push(o); }); } @@ -11737,24 +11778,147 @@ function write_comments_xml(data/*::, opts*/) { var iauthor/*:Array*/ = []; o.push(""); data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) > -1) return; - iauthor.push(a); - o.push("" + a + ""); + if(iauthor.indexOf(a) == -1) { + iauthor.push(a); + o.push("" + a + ""); + } + if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { + iauthor.push("tc=" + w.ID); + o.push("" + "tc=" + w.ID + ""); + } }); }); + if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } o.push(""); o.push(""); data.forEach(function(d) { - d[1].forEach(function(c) { - /* 18.7.3 CT_Comment */ - o.push(''); - o.push(writetag("t", c.t == null ? "" : escapexml(c.t))); - o.push(''); + /* 18.7.3 CT_Comment */ + var lastauthor = 0, ts = []; + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); + else d[1].forEach(function(c) { + if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); + ts.push(c.t||""); }); + o.push(''); + if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); + else { + /* based on Threaded Comments -> Comments projection */ + var t = "Comment:\n " + (ts[0]) + "\n"; + for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; + o.push(writetag("t", escapexml(t))); + } + o.push(''); }); o.push(""); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } + +/* [MS-XLSX] 2.1.17 */ +function parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ { + var out = []; + var pass = false, comment = {}, tidx = 0; + data.replace(tagregex, function xml_tcmnt(x, idx) { + var y/*:any*/ = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.205 threadedComment CT_ThreadedComment */ + case '': if(comment.t != null) out.push(comment); break; + + case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; + + /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ + case '': pass = true; break; + case '': pass = false; break; + + /* 2.6.202 mention CT_Mention TODO */ + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} + +function write_tcmnt_xml(comments, people, opts) { + var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; + comments.forEach(function(carr) { + var rootid = ""; + (carr[1] || []).forEach(function(c, idx) { + if(!c.T) { delete c.ID; return; } + if(c.a && people.indexOf(c.a) == -1) people.push(c.a); + var tcopts = { + ref: carr[0], + id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" + }; + if(idx == 0) rootid = tcopts.id; + else tcopts.parentId = rootid; + c.ID = tcopts.id; + if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; + o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); + }); + }); + o.push(''); + return o.join(""); +} + +/* [MS-XLSX] 2.1.18 */ +function parse_people_xml(data/*:string*/, opts) { + var out = []; + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { + var y/*:any*/ = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.203 person CT_Person TODO: providers */ + case '': break; + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} +function write_people_xml(people/*, opts*/) { + var o = [XML_HEADER, writextag('personList', null, { + 'xmlns': XMLNS.TCMNT, + 'xmlns:x': XMLNS_main[0] + }).replace(/[\/]>/, ">")]; + people.forEach(function(person, idx) { + o.push(writextag('person', null, { + displayName: person, + id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", + userId: person, + providerId: "None" + })); + }); + o.push(""); + return o.join(""); +} /* [MS-XLSB] 2.4.28 BrtBeginComment */ function parse_BrtBeginComment(data) { var out = {}; @@ -11872,9 +12036,6 @@ function fill_vba_xls(cfb, vba) { }); } var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -RELS.DS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"; -RELS.MS = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet"; - /* macro and dialog sheet stubs */ function parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } function parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } @@ -12538,12 +12699,12 @@ var Ptg19 = { /*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, /*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum }, /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, + /*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, /*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, /*::[*/0xFF/*::]*/: {} }; -Ptg19[0x21] = Ptg19[0x20]; /* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { @@ -14278,10 +14439,6 @@ function csf_to_ods_3D(r/*:string*/)/*:string*/ { var strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options -RELS.WS = [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" -]; /*global Map */ var browser_has_Map = typeof Map !== 'undefined'; @@ -14515,7 +14672,7 @@ function parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:num if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); } -function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/, styles, themes) { +function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) { parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { @@ -14666,7 +14823,8 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { } function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z') return ""; + if(cell.c) ws['!comments'].push([ref, cell.c]); + if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { @@ -14708,7 +14866,6 @@ function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); } if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.c) ws['!comments'].push([ref, cell.c]); if(cell.D) o.cm = 1; return writextag('c', v, o); } @@ -14887,8 +15044,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th safe_format(p, fmtid, fillid, opts, themes, styles); if(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Types||[])[+tag.cm-1]; - if(cm && cm.name == 'XLDAPR') p.D = true; + var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; + if(cm && cm.type == 'XLDAPR') p.D = true; } if(dense) { var _r = decode_cell(tag.r); @@ -15604,7 +15761,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ var cm, vm; - recordhopper(data, function ws_parse(val, R, RT) { + recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; switch(RT) { case 0x0094: /* 'BrtWsDim' */ @@ -15670,7 +15827,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ var _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } } if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15688,7 +15845,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ if(refguess.e.r < row.r) refguess.e.r = row.r; if(refguess.e.c < C) refguess.e.c = C; if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15698,7 +15855,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ merges.push(val); break; case 0x0031: { /* 'BrtCellMeta' */ - cm = ((opts.xlmeta||{}).Types||[])[val-1]; + cm = ((opts.xlmeta||{}).Cell||[])[val-1]; } break; case 0x01EE: /* 'BrtHLink' */ @@ -15838,7 +15995,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ state.pop(); pass = false; break; default: - if(R.T){/* empty */} + if(RR.T){/* empty */} else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); @@ -16094,9 +16251,6 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { write_record(ba, 0x0082 /* BrtEndSheet */); return ba.end(); } -RELS.CHART = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"; -RELS.CHARTEX = "http://schemas.microsoft.com/office/2014/relationships/chartEx"; - function parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ { var col/*:Array*/ = []; var num = data.match(/^/); @@ -16142,8 +16296,6 @@ function parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) if(C > 0) cs["!ref"] = encode_range(refguess); return cs; } -RELS.CS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"; - /* 18.3 Worksheets also covers Chartsheets */ function parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ { if(!data) return data; @@ -17208,7 +17360,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { var state = [], tmp; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = ""; - var table = {}, cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars + var cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars var dtag = xlml_parsexmltag(''), didx = 0; var c = 0, r = 0; var refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; @@ -17333,7 +17485,6 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} else if(Rn[0].slice(-2) == "/>") break; else { - table = xlml_parsexmltag(Rn[0]); state.push([Rn[3], false]); cstys = []; seencol = false; } @@ -18427,8 +18578,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var merges/*:Array*/ = []; var objects = []; var colinfo/*:Array*/ = [], rowinfo/*:Array*/ = []; - // eslint-disable-next-line no-unused-vars - var defwidth = 0, defheight = 0; // twips / MDW respectively var seencol = false; var supbooks = ([]/*:any*/); // 1-indexed, will hold extern names supbooks.SheetNames = opts.snames; @@ -18473,7 +18622,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { /*:: val = (val:any); */ if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue; switch(RecordType) { - /* Workbook Options */ case 0x0022 /* Date1904 */: /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; @@ -18486,7 +18634,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!val.valid) throw new Error("Password is incorrect"); break; case 0x005c /* WriteAccess */: opts.lastuser = val; break; - case 0x005b /* FileSharing */: break; //TODO case 0x0042 /* CodePage */: var cpval = Number(val); /* overrides based on test cases */ @@ -18500,10 +18647,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { break; case 0x013d /* RRTabId */: opts.rrtabid = val; break; case 0x0019 /* WinProtect */: opts.winlocked = val; break; - case 0x0060 /* Template */: break; // TODO - case 0x00da /* BookBool */: break; // TODO - case 0x0160 /* UsesELFs */: break; - case 0x089a /* MTRSettings */: break; case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break; case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break; case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break; @@ -18512,7 +18655,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break; case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break; case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1 - case 0x005e /* Uncalced */: break; case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break; case 0x0081 /* WsBool */: if(val.fDialog) out["!type"] = "dialog"; @@ -18521,11 +18663,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { break; // TODO case 0x00e0 /* XF */: XFs.push(val); break; - case 0x00ff /* ExtSST */: break; // TODO - case 0x0863 /* BookExt */: break; // TODO - case 0x08a6 /* RichTextStream */: break; - case 0x00e9 /* BkHim */: break; - case 0x01ae /* SupBook */: supbooks.push([val]); supbooks[supbooks.length-1].XTI = []; @@ -18533,7 +18670,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x0023: case 0x0223 /* ExternName */: supbooks[supbooks.length-1].push(val); break; - case 0x000b: case 0x020b /* Index */: break; // TODO case 0x0018: case 0x0218 /* Lbl */: last_lbl = ({ Name: val.Name, @@ -18556,11 +18692,8 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(opts.biff < 8) break; if(last_lbl != null) last_lbl.Comment = val[1]; break; - case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */ case 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; - case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: break; /*TODO: Revision Control*/ - case 0x0085 /* BoundSheet8 */: { Directory[val.pos] = val; opts.snames.push(val.name); @@ -18626,11 +18759,9 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { objects = []; opts.arrayf = arrayf = []; colinfo = []; rowinfo = []; - defwidth = defheight = 0; seencol = false; wsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet }; } break; - case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); @@ -18784,8 +18915,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(cc && cc.l) cc.l.Tooltip = val[1]; } } break; - - /* Comments */ case 0x001c /* Note */: { if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ cc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; @@ -18806,13 +18935,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { cmnt = {a:val[1],t:noteobj.TxO.t}; cc.c.push(cmnt); } break; - - case 0x105c /* ClrtClient */: break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; - - case 0x0055 /* DefColWidth */: defwidth = val; break; - case 0x0225 /* DefaultRowHeight */: defheight = val[1]; break; // TODO: flags - case 0x007d /* ColInfo */: { if(!opts.cellStyles) break; while(val.e >= val.s) { @@ -18830,7 +18953,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { rowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt); } } break; - case 0x0026 /* LeftMargin */: case 0x0027 /* RightMargin */: case 0x0028 /* TopMargin */: @@ -18838,161 +18960,126 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'][({0x26: "left", 0x27:"right", 0x28:"top", 0x29:"bottom"})[RecordType]] = val; break; - - case 0x001d /* Selection */: break; - case 0x00a1 /* Setup */: // TODO if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'].header = val.header; out['!margins'].footer = val.footer; break; - case 0x023e /* Window2 */: // TODO // $FlowIgnore if(val.RTL) Workbook.Views[0].RTL = true; break; - - case 0x0014 /* Header */: // TODO - case 0x0015 /* Footer */: // TODO - case 0x0083 /* HCenter */: // TODO - case 0x0084 /* VCenter */: // TODO - case 0x004d /* Pls */: // TODO - case 0x00ab /* GCW */: - case 0x0094 /* LHRecord */: - case 0x00d7 /* DBCell */: // TODO - case 0x01c2 /* EntExU2 */: // TODO - case 0x00b0 /* SxView */: // TODO - case 0x00b1 /* Sxvd */: // TODO - case 0x00b2 /* SXVI */: // TODO - case 0x0100 /* SXVDEx */: // TODO - case 0x00b4 /* SxIvd */: // TODO - case 0x00cd /* SXString */: // TODO - case 0x0097 /* Sync */: - case 0x0087 /* Addin */: - case 0x00c5 /* SXDI */: // TODO - case 0x00b5 /* SXLI */: // TODO - case 0x00f1 /* SXEx */: // TODO - case 0x0802 /* QsiSXTag */: // TODO - case 0x0868 /* Feat */: - case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: - case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: break; - case 0x008c /* Country */: country = val; break; - case 0x01c1 /* RecalcId */: - case 0x0099 /* DxGCol */: // TODO: htmlify - case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: - case 0x0031 /* Font */: // TODO - case 0x087c /* XFCRC */: // TODO - case 0x0293 /* Style */: // TODO - case 0x0892 /* StyleExt */: break; // TODO case 0x0092 /* Palette */: palette = val; break; case 0x0896 /* Theme */: themes = val; break; - /* Protection */ - case 0x00dd /* ScenarioProtect */: - case 0x0063 /* ObjProtect */: break; - - /* Conditional Formatting */ - case 0x0879 /* CondFmt12 */: - - /* Table */ - case 0x0236 /* Table */: // TODO - case 0x088e /* TableStyles */: // TODO - case 0x088f /* TableStyle */: // TODO - case 0x0890 /* TableStyleElement */: // TODO - - /* PivotTable */ - case 0x00d5 /* SXStreamID */: // TODO - case 0x00e3 /* SXVS */: // TODO - case 0x0051 /* DConRef */: // TODO - case 0x0864 /* SXAddl */: // TODO - case 0x01b5 /* DConBin */: // TODO - case 0x0052 /* DConName */: // TODO - case 0x00b6 /* SXPI */: // TODO - case 0x00fb /* SxFormat */: // TODO - case 0x00f7 /* SxSelect */: // TODO - case 0x00f0 /* SxRule */: // TODO - case 0x00f2 /* SxFilt */: // TODO - case 0x00f5 /* SxItm */: // TODO - case 0x00f4 /* SxDXF */: // TODO - - /* Scenario Manager */ - case 0x00ae /* ScenMan */: - - /* Data Consolidation */ - case 0x0050 /* DCon */: - - /* Watched Cell */ - case 0x086c /* CellWatch */: - - /* Print Settings */ - case 0x002a /* PrintRowCol */: - case 0x002b /* PrintGrid */: - case 0x0033 /* PrintSize */: - - case 0x0059 /* XCT */: - case 0x005a /* CRN */: - - case 0x00a0 /* Scl */: { - //console.log("Zoom Level:", val[0]/val[1],val); - } - case 0x0862 /* SheetExt */: { - /* empty */ - } - - /* VBA */ - case 0x01bd /* ObNoMacros */: { - /* empty */ - } - case 0x00d3 /* ObProj */: { - /* empty */ - } + case 0x008c /* Country */: country = val; break; case 0x01ba /* CodeName */: { /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; else wsprops.CodeName = val || wsprops.name; - } - case 0x0897 /* GUIDTypeLib */: { - /* empty */ - } - - case 0x080b /* WOpt */: // TODO: WTF? + } break; + case 0x0055 /* DefColWidth */: + case 0x0225 /* DefaultRowHeight */: + case 0x005e /* Uncalced */: + case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: /*TODO: Revision Control*/ + case 0x005b /* FileSharing */: + case 0x00ff /* ExtSST */: + case 0x0863 /* BookExt */: + case 0x08a6 /* RichTextStream */: + case 0x00e9 /* BkHim */: + case 0x0060 /* Template */: + case 0x00da /* BookBool */: + case 0x0160 /* UsesELFs */: + case 0x089a /* MTRSettings */: + case 0x000b: case 0x020b /* Index */: + case 0x105c /* ClrtClient */: + case 0x001d /* Selection */: + case 0x0014 /* Header */: + case 0x0015 /* Footer */: + case 0x0083 /* HCenter */: + case 0x0084 /* VCenter */: + case 0x004d /* Pls */: + case 0x00ab /* GCW */: + case 0x0094 /* LHRecord */: + case 0x00d7 /* DBCell */: + case 0x01c2 /* EntExU2 */: + case 0x00b0 /* SxView */: + case 0x00b1 /* Sxvd */: + case 0x00b2 /* SXVI */: + case 0x0100 /* SXVDEx */: + case 0x00b4 /* SxIvd */: + case 0x00cd /* SXString */: + case 0x0097 /* Sync */: + case 0x0087 /* Addin */: + case 0x00c5 /* SXDI */: + case 0x00b5 /* SXLI */: + case 0x00f1 /* SXEx */: + case 0x0802 /* QsiSXTag */: + case 0x0868 /* Feat */: + case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: + case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: + case 0x01c1 /* RecalcId */: + case 0x0099 /* DxGCol */: + case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: + case 0x0031 /* Font */: + case 0x087c /* XFCRC */: + case 0x0293 /* Style */: + case 0x0892 /* StyleExt */: + case 0x00dd /* ScenarioProtect */: + case 0x0063 /* ObjProtect */: + case 0x0879 /* CondFmt12 */: + case 0x0236 /* Table */: + case 0x088e /* TableStyles */: + case 0x088f /* TableStyle */: + case 0x0890 /* TableStyleElement */: + case 0x00d5 /* SXStreamID */: + case 0x00e3 /* SXVS */: + case 0x0051 /* DConRef */: + case 0x0864 /* SXAddl */: + case 0x01b5 /* DConBin */: + case 0x0052 /* DConName */: + case 0x00b6 /* SXPI */: + case 0x00fb /* SxFormat */: + case 0x00f7 /* SxSelect */: + case 0x00f0 /* SxRule */: + case 0x00f2 /* SxFilt */: + case 0x00f5 /* SxItm */: + case 0x00f4 /* SxDXF */: + case 0x00ae /* ScenMan */: + case 0x0050 /* DCon */: + case 0x086c /* CellWatch */: + case 0x002a /* PrintRowCol */: + case 0x002b /* PrintGrid */: + case 0x0033 /* PrintSize */: + case 0x0059 /* XCT */: + case 0x005a /* CRN */: + case 0x00a0 /* Scl */: + case 0x0862 /* SheetExt */: + case 0x01bd /* ObNoMacros */: + case 0x00d3 /* ObProj */: + case 0x0897 /* GUIDTypeLib */: + case 0x080b /* WOpt */: case 0x00ef /* PhoneticInfo */: - case 0x00de /* OleObjectSize */: - - /* Differential Formatting */ case 0x088d /* DXF */: - - /* Data Validation */ case 0x01be /* Dv */: case 0x01b2 /* DVal */: - - /* Data Series */ - case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: break; - - /* Data Connection */ + case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: case 0x0876 /* DConn */: case 0x00dc /* DbOrParamQry */: case 0x0803 /* DBQueryExt */: - case 0x080a /* OleDbConn */: case 0x0804 /* ExtString */: - - /* Formatting */ case 0x104e /* IFmtRecord */: case 0x01b0 /* CondFmt */: case 0x01b1 /* CF */: case 0x087a /* CF12 */: case 0x087b /* CFEx */: - - /* Explicitly Ignored */ case 0x01c0 /* Excel9File */: case 0x1001 /* Units */: case 0x00e1 /* InterfaceHdr' */: case 0x00c1 /* Mms */: case 0x00e2 /* InterfaceEnd */: case 0x0161 /* DSF */: case 0x009c /* BuiltInFnGroupCount */: /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break; - /* View Stuff */ case 0x003d /* Window1 */: case 0x008d /* HideObj */: case 0x0082 /* GridSet */: case 0x0080 /* Guts */: - case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01aa /* UserSViewEnd */: + case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01ab /* UserSViewEnd */: case 0x0041 /* Pane */: - /* Chart */ case 0x1063 /* Dat */: - case 0x1033 /* Begin */: case 0x1033 /* End */: - case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: break; + case 0x1033 /* Begin */: case 0x1034 /* End */: + case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: case 0x1032 /* Frame */: case 0x101a /* Area */: case 0x101d /* Axis */: case 0x1021 /* AxisLine */: case 0x101e /* Tick */: case 0x1046 /* AxesUsed */: @@ -19013,69 +19100,41 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x1050 /* AlRuns */: case 0x1027 /* ObjectLink */: case 0x1065 /* SIIndex */: case 0x100c /* AttachedLabel */: case 0x0857 /* YMult */: - - /* Chart Group */ case 0x1018 /* Line */: case 0x1017 /* Bar */: case 0x103f /* Surf */: - - /* Axis Group */ case 0x1041 /* AxisParent */: case 0x104f /* Pos */: case 0x101f /* ValueRange */: - - /* Pivot Chart */ - case 0x0810 /* SXViewEx9 */: // TODO + case 0x0810 /* SXViewEx9 */: case 0x0858 /* SXViewLink */: case 0x0859 /* PivotChartBits */: case 0x1048 /* SBaseRef */: case 0x08a5 /* TextPropsStream */: - - /* Chart Misc */ case 0x08c9 /* LnExt */: case 0x08ca /* MkrExt */: case 0x08cb /* CrtCoopt */: - - /* Query Table */ - case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0802 /* QsiSXTag */: + case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0805 /* TxtQry */: - - /* Filter */ case 0x009b /* FilterMode */: case 0x009e /* AutoFilter */: case 0x009d /* AutoFilterInfo */: case 0x087e /* AutoFilter12 */: case 0x0874 /* DropDownObjIds */: case 0x0090 /* Sort */: case 0x0895 /* SortData */: - - /* Drawing */ case 0x08a4 /* ShapePropsStream */: case 0x00ec /* MsoDrawing */: case 0x00eb /* MsoDrawingGroup*/: case 0x00ed /* MsoDrawingSelection */: - /* Pub Stuff */ case 0x0801 /* WebPub */: case 0x08c0 /* AutoWebPub */: - - /* Print Stuff */ case 0x089c /* HeaderFooter */: case 0x0866 /* HFPicture */: case 0x088b /* PLV */: case 0x001b /* HorizontalPageBreaks */: case 0x001a /* VerticalPageBreaks */: - /* Behavioral */ case 0x0040 /* Backup */: case 0x089b /* CompressPictures */: case 0x088c /* Compat12 */: - - /* Should not Happen */ case 0x003c /* 'Continue' */: case 0x087f /* 'ContinueFrt12' */: - - /* Future Records */ case 0x085a /* FrtFontList */: case 0x0851 /* 'FrtWrapper' */: - - /* BIFF5 records */ case 0x00ea /* TabIdConf */: case 0x103e /* Radar */: case 0x1040 /* RadarArea */: case 0x103d /* DropBar */: case 'Intl': case 'CoordList': case 'SerAuxErrBar': - - /* BIFF2-4 records */ case 0x0045 /* BIFF2FONTCLR */: case 0x001f /* BIFF2FMTCNT */: case 0x0032 /* BIFF2FONTXTRA */: case 0x0043 /* BIFF2XF */: case 0x0243 /* BIFF3XF */: case 0x0443 /* BIFF4XF */: case 0x0044 /* BIFF2XFINDEX */: case 0x0056 /* BIFF4FMTCNT */: case 0x0008 /* BIFF2ROW */: case 0x003e /* BIFF2WINDOW2 */: - - /* Miscellaneous */ - case 0x00af /* SCENARIO */: case 0x01b5 /* DConBin */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: + case 0x00af /* SCENARIO */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: case 0x01b9 /* Lel */: case 0x1061 /* BopPop */: case 0x1067 /* BopPopCustom */: case 0x0813 /* RealTimeData */: case 0x0095 /* LHNGraph */: case 0x009a /* FnGroupName */: case 0x00c2 /* AddMenu */: case 0x0098 /* LPr */: case 0x08c1 /* ListObj */: case 0x08c2 /* ListField */: @@ -19137,6 +19196,8 @@ function parse_xls_props(cfb/*:CFBContainer*/, props, o) { function write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) { var DSEntries = [], SEntries = [], CEntries = []; var i = 0, Keys; + var DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, "n"); + var SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, "n"); if(wb.Props) { Keys = keys(wb.Props); // $FlowIgnore @@ -19149,7 +19210,7 @@ function write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) { } var CEntries2 = []; for(i = 0; i < CEntries.length; ++i) { - if(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue; if(CEntries[i][1] == null) continue; CEntries2.push(CEntries[i]); } @@ -19276,7 +19337,7 @@ var XLSBRecordEnum = { /*::[*/0x0030/*::]*/: { /* n:"BrtStyle" */ }, /*::[*/0x0031/*::]*/: { /* n:"BrtCellMeta", */ f:parse_Int32LE }, /*::[*/0x0032/*::]*/: { /* n:"BrtValueMeta" */ }, - /*::[*/0x0033/*::]*/: { /* n:"BrtMdb" */ }, + /*::[*/0x0033/*::]*/: { /* n:"BrtMdb" */ f:parse_BrtMdb }, /*::[*/0x0034/*::]*/: { /* n:"BrtBeginFmd", */ T:1 }, /*::[*/0x0035/*::]*/: { /* n:"BrtEndFmd", */ T:-1 }, /*::[*/0x0036/*::]*/: { /* n:"BrtBeginMdx", */ T:1 }, @@ -19502,7 +19563,7 @@ var XLSBRecordEnum = { /*::[*/0x014E/*::]*/: { /* n:"BrtBeginEsmdtinfo", */ T:1 }, /*::[*/0x014F/*::]*/: { /* n:"BrtMdtinfo", */ f:parse_BrtMdtinfo }, /*::[*/0x0150/*::]*/: { /* n:"BrtEndEsmdtinfo", */ T:-1 }, - /*::[*/0x0151/*::]*/: { /* n:"BrtBeginEsmdb", */ T:1 }, + /*::[*/0x0151/*::]*/: { /* n:"BrtBeginEsmdb", */ f:parse_BrtBeginEsmdb, T:1 }, /*::[*/0x0152/*::]*/: { /* n:"BrtEndEsmdb", */ T:-1 }, /*::[*/0x0153/*::]*/: { /* n:"BrtBeginEsfmd", */ T:1 }, /*::[*/0x0154/*::]*/: { /* n:"BrtEndEsfmd", */ T:-1 }, @@ -20713,7 +20774,7 @@ function write_ws_biff8_hlinks(ba/*:BufArray*/, ws) { delete ws['!links']; } -function write_ws_cols_biff8(ba, cols, ws) { +function write_ws_cols_biff8(ba, cols) { if(!cols) return; var cnt = 0; cols.forEach(function(col, idx) { @@ -20786,7 +20847,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { write_biff_rec(ba, 0x0083 /* HCenter */, writebool(false)); write_biff_rec(ba, 0x0084 /* VCenter */, writebool(false)); /* ... */ - if(b8) write_ws_cols_biff8(ba, ws["!cols"], ws); + if(b8) write_ws_cols_biff8(ba, ws["!cols"]); /* ... */ write_biff_rec(ba, 0x200, write_Dimensions(range, opts)); /* ... */ @@ -20937,7 +20998,7 @@ function write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { if(!ws || !ws["!ref"]) continue; var range = decode_range(ws["!ref"]); if(range.e.c > 255) { // note: 255 is IV - if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); + if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); } } @@ -22050,674 +22111,591 @@ function write_ods(wb/*:any*/, opts/*:any*/) { return zip; } -var NUMBERS = !Object.defineProperty ? (void 0) :(function() { - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __markAsModule = function(target) { - return __defProp(target, "__esModule", { value: true }); - }; - var __export = function(target, all) { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); - }; - var __reExport = function(target, module, copyDefault, desc) { - if (module && typeof module === "object" || typeof module === "function") - for (var keys = __getOwnPropNames(module), i = 0, n = keys.length, key; i < n; i++) { - key = keys[i]; - if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) - __defProp(target, key, { get: function(k) { - return module[k]; - }.bind(null, key), enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); - } - return target; - }; - var __toCommonJS = /* @__PURE__ */ function(cache) { - return function(module, temp) { - return cache && cache.get(module) || (temp = __reExport(__markAsModule({}), module, 1), cache && cache.set(module, temp), temp); - }; - }(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); - - // 83_numbers.ts - var numbers_exports = {}; - __export(numbers_exports, { - parse_numbers: function() { - return numbers_default; - } +/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ +var u8_to_dataview = function(array) { + return new DataView(array.buffer, array.byteOffset, array.byteLength); +}; +var u8str = function(u8) { + return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); +}; +var u8concat = function(u8a) { + var len = u8a.reduce(function(acc, x) { + return acc + x.length; + }, 0); + var out = new Uint8Array(len); + var off = 0; + u8a.forEach(function(u8) { + out.set(u8, off); + off += u8.length; }); - - // src/util.ts - var u8_to_dataview = function(array) { - return new DataView(array.buffer, array.byteOffset, array.byteLength); - }; - var u8str = function(u8) { - return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); - }; - var u8concat = function(u8a) { - var len = u8a.reduce(function(acc, x) { - return acc + x.length; - }, 0); - var out = new Uint8Array(len); - var off = 0; - u8a.forEach(function(u8) { - out.set(u8, off); - off += u8.length; - }); - return out; - }; - var popcnt = function(x) { - x -= x >> 1 & 1431655765; - x = (x & 858993459) + (x >> 2 & 858993459); - return (x + (x >> 4) & 252645135) * 16843009 >>> 24; - }; - var readDecimal128LE = function(buf, offset) { - var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; - var mantissa = buf[offset + 14] & 1; - for (var j = offset + 13; j >= offset; --j) - mantissa = mantissa * 256 + buf[j]; - return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); - }; - - // src/proto.ts - function parse_varint49(buf, ptr) { - var l = ptr ? ptr[0] : 0; - var usz = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - usz |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 28); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 35); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 42); - ++l; - if (buf[l++] < 128) - break varint; - } - if (ptr) - ptr[0] = l; - return usz; - } - function varint_to_i32(buf) { - var l = 0, i32 = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - i32 |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 28; - } - return i32; - } - function parse_shallow(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var off = ptr[0]; - var num = parse_varint49(buf, ptr); - var type = num & 7; - num = Math.floor(num / 8); - var len = 0; - var res; - if (num == 0) - break; - switch (type) { - case 0: - { - var l = ptr[0]; - while (buf[ptr[0]++] >= 128) - ; - res = buf.slice(l, ptr[0]); - } - break; - case 5: - len = 4; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 1: - len = 8; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 2: - len = parse_varint49(buf, ptr); - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 3: - case 4: - default: - throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); - } - var v = { offset: off, data: res, type: type }; - if (out[num] == null) - out[num] = [v]; - else - out[num].push(v); + return out; +}; +var popcnt = function(x) { + x -= x >> 1 & 1431655765; + x = (x & 858993459) + (x >> 2 & 858993459); + return (x + (x >> 4) & 252645135) * 16843009 >>> 24; +}; +var readDecimal128LE = function(buf, offset) { + var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; + var mantissa = buf[offset + 14] & 1; + for (var j = offset + 13; j >= offset; --j) + mantissa = mantissa * 256 + buf[j]; + return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); +}; +function parse_varint49(buf, ptr) { + var l = ptr ? ptr[0] : 0; + var usz = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + usz |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 28); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 35); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 42); + ++l; + if (buf[l++] < 128) + break varint; } - return out; - } - function mappa(data, cb) { - if (!data) - return []; - return data.map(function(d) { - var _a; - try { - return cb(d.data); - } catch (e) { - var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); - if (m) - e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); - throw e; - } - }); - } - - // src/frame.ts - function deframe(buf) { - var out = []; - var l = 0; - while (l < buf.length) { - var t = buf[l++]; - var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; - l += 3; - out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); - l += len; + if (ptr) + ptr[0] = l; + return usz; +} +function varint_to_i32(buf) { + var l = 0, i32 = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 28; } - if (l !== buf.length) - throw new Error("data is not a valid framed stream!"); - return u8concat(out); - } - function parse_snappy_chunk(type, buf) { - if (type != 0) - throw new Error("Unexpected Snappy chunk type ".concat(type)); - var ptr = [0]; - var usz = parse_varint49(buf, ptr); - var chunks = []; - while (ptr[0] < buf.length) { - var tag = buf[ptr[0]] & 3; - if (tag == 0) { - var len = buf[ptr[0]++] >> 2; - if (len < 60) - ++len; - else { - var c = len - 59; - len = buf[ptr[0]]; - if (c > 1) - len |= buf[ptr[0] + 1] << 8; - if (c > 2) - len |= buf[ptr[0] + 2] << 16; - if (c > 3) - len |= buf[ptr[0] + 3] << 24; - len >>>= 0; - len++; - ptr[0] += c; + return i32; +} +function parse_shallow(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var off = ptr[0]; + var num = parse_varint49(buf, ptr); + var type = num & 7; + num = Math.floor(num / 8); + var len = 0; + var res; + if (num == 0) + break; + switch (type) { + case 0: + { + var l = ptr[0]; + while (buf[ptr[0]++] >= 128) + ; + res = buf.slice(l, ptr[0]); } - chunks.push(buf.slice(ptr[0], ptr[0] + len)); + break; + case 5: + len = 4; + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; + break; + case 1: + len = 8; + res = buf.slice(ptr[0], ptr[0] + len); ptr[0] += len; - continue; - } else { - var offset = 0, length = 0; - if (tag == 1) { - length = (buf[ptr[0]] >> 2 & 7) + 4; - offset = (buf[ptr[0]++] & 224) << 3; - offset |= buf[ptr[0]++]; - } else { - length = (buf[ptr[0]++] >> 2) + 1; - if (tag == 2) { - offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; - ptr[0] += 2; - } else { - offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; - ptr[0] += 4; - } - } - chunks = [u8concat(chunks)]; - if (offset == 0) - throw new Error("Invalid offset 0"); - if (offset > chunks[0].length) - throw new Error("Invalid offset beyond length"); - if (length >= offset) { - chunks.push(chunks[0].slice(-offset)); - length -= offset; - while (length >= chunks[chunks.length - 1].length) { - chunks.push(chunks[chunks.length - 1]); - length -= chunks[chunks.length - 1].length; - } - } - chunks.push(chunks[0].slice(-offset, -offset + length)); - } - } - var o = u8concat(chunks); - if (o.length != usz) - throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); - return o; - } - - // src/iwa.ts - function parse_iwa(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var len = parse_varint49(buf, ptr); - var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); - ptr[0] += len; - var res = { - id: varint_to_i32(ai[1][0].data), - messages: [] - }; - ai[2].forEach(function(b) { - var mi = parse_shallow(b.data); - var fl = varint_to_i32(mi[3][0].data); - res.messages.push({ - meta: mi, - data: buf.slice(ptr[0], ptr[0] + fl) - }); - ptr[0] += fl; - }); - out.push(res); - } - return out; - } - - // src/cell.ts - function parse_old_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[buf[0] == 4 ? 1 : 2]; - var flags = dv.getUint32(4, true); - var data_offset = 12 + popcnt(flags & 3470) * 4; - var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 512) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - data_offset += popcnt(flags & 12288) * 4; - if (flags & 16) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 32) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - var ret; - switch (ctype) { - case 0: break; case 2: - ret = { t: "n", v: ieee }; + len = parse_varint49(buf, ptr); + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else if (sidx > -1) - ret = { t: "s", v: sst[sidx] }; - else if (!isNaN(ieee)) - ret = { t: "n", v: ieee }; - else - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - break; - default: - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - return ret; - } - function parse_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[1]; - var flags = dv.getUint32(8, true); - var data_offset = 12; - var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 1) { - d128 = readDecimal128LE(buf, data_offset); - data_offset += 16; - } - if (flags & 2) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - if (flags & 8) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 16) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - var ret; - switch (ctype) { - case 0: - break; - case 2: - ret = { t: "n", v: d128 }; - break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - break; - case 10: - ret = { t: "n", v: d128 }; - break; - default: - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - return ret; - } - function parse(buf, sst, rsst) { - switch (buf[0]) { case 3: case 4: - return parse_old_storage(buf, sst, rsst); - case 5: - return parse_storage(buf, sst, rsst); default: - throw new Error("Unsupported payload version ".concat(buf[0])); + throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); } + var v = { offset: off, data: res, type: type }; + if (out[num] == null) + out[num] = [v]; + else + out[num].push(v); } - - // src/numbers.ts - var encode_col = function(C) { - var s = ""; - for (++C; C; C = Math.floor((C - 1) / 26)) - s = String.fromCharCode((C - 1) % 26 + 65) + s; - return s; - }; - var encode_cell = function(c) { - return "".concat(encode_col(c.c)).concat(c.r + 1); - }; - var encode_range = function(r) { - return encode_cell(r.s) + ":" + encode_cell(r.e); - }; - var book_new = function() { - return { Sheets: {}, SheetNames: [] }; - }; - var book_append_sheet = function(wb, ws, name) { - var i = 1; - if (!name) - for (; i < 9999; ++i) { - if (wb.SheetNames.indexOf(name = "Sheet ".concat(i)) == -1) - break; - } - else if (wb.SheetNames.indexOf(name) > -1) - for (; i < 9999; ++i) { - if (wb.SheetNames.indexOf("".concat(name, "_").concat(i)) == -1) { - name = "".concat(name, "_").concat(i); - break; - } - } - wb.SheetNames.push(name); - wb.Sheets[name] = ws; - }; - function parse_numbers(cfb) { - var out = []; - cfb.FullPaths.forEach(function(p) { - if (p.match(/\.iwpv2/)) - throw new Error("Unsupported password protection"); - }); - cfb.FileIndex.forEach(function(s) { - if (!s.name.match(/\.iwa$/)) - return; - var o; - try { - o = deframe(s.content); - } catch (e) { - return console.log("?? " + s.content.length + " " + (e.message || e)); - } - var packets; - try { - packets = parse_iwa(o); - } catch (e) { - return console.log("## " + (e.message || e)); - } - packets.forEach(function(packet) { - out[+packet.id] = packet.messages; - }); - }); - if (!out.length) - throw new Error("File has no messages"); - var docroot; - out.forEach(function(iwams) { - iwams.forEach(function(iwam) { - var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; - if (mtype == 1) { - if (!docroot) - docroot = iwam; - else - throw new Error("Document has multiple roots"); - } - }); - }); - if (!docroot) - throw new Error("Cannot find Document root"); - return parse_docroot(out, docroot); - } - var numbers_default = parse_numbers; - function parse_Reference(buf) { - var pb = parse_shallow(buf); - return parse_varint49(pb[1][0].data); - } - function parse_TST_TableDataList(M, root) { - var pb = parse_shallow(root.data); - var type = varint_to_i32(pb[1][0].data); - var entries = pb[3]; - var data = []; - (entries || []).forEach(function(entry) { - var le = parse_shallow(entry.data); - var key = varint_to_i32(le[1][0].data) >>> 0; - switch (type) { - case 1: - data[key] = u8str(le[3][0].data); - break; - case 8: - { - var rt = M[parse_Reference(le[9][0].data)][0]; - var rtp = parse_shallow(rt.data); - var rtpref = M[parse_Reference(rtp[1][0].data)][0]; - var mtype = varint_to_i32(rtpref.meta[1][0].data); - if (mtype != 2001) - throw new Error("2000 unexpected reference to ".concat(mtype)); - var tswpsa = parse_shallow(rtpref.data); - data[key] = tswpsa[3].map(function(x) { - return u8str(x.data); - }).join(""); - } - break; - } - }); - return data; - } - function parse_TST_TileRowInfo(u8) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; - var pb = parse_shallow(u8); - var R = varint_to_i32(pb[1][0].data) >>> 0; - var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; - var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); - var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; - var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); - var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; - var width = wide_offsets ? 4 : 1; - var cells = []; - var off = 0; - for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { - if (storage && storage_offsets) { - off = storage_offsets.getUint16(C * 2, true) * width; - if (off < storage.length) { - cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); - continue; - } - } - if (pre_bnc && pre_bnc_offsets) { - off = pre_bnc_offsets.getUint16(C * 2, true) * width; - if (off < pre_bnc.length) - cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); - } - } - return { R: R, cells: cells }; - } - function parse_TST_Tile(M, root) { - var pb = parse_shallow(root.data); - var ri = mappa(pb[5], parse_TST_TileRowInfo); - return ri.reduce(function(acc, x) { - if (!acc[x.R]) - acc[x.R] = []; - x.cells.forEach(function(cell, C) { - if (acc[x.R][C]) - throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); - acc[x.R][C] = cell; - }); - return acc; - }, []); - } - function parse_TST_TableModelArchive(M, root, ws) { + return out; +} +function mappa(data, cb) { + if (!data) + return []; + return data.map(function(d) { var _a; - var pb = parse_shallow(root.data); - var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; - range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; - if (range.e.r < 0) - throw new Error("Invalid row varint ".concat(pb[6][0].data)); - range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; - if (range.e.c < 0) - throw new Error("Invalid col varint ".concat(pb[7][0].data)); - ws["!ref"] = encode_range(range); - { - var store = parse_shallow(pb[4][0].data); - var sst = parse_TST_TableDataList(M, M[parse_Reference(store[4][0].data)][0]); - var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_Reference(store[17][0].data)][0]) : []; - { - var tile = parse_shallow(store[3][0].data); - var tiles = []; - tile[1].forEach(function(t) { - var tl = parse_shallow(t.data); - var ref = M[parse_Reference(tl[2][0].data)][0]; - var mtype = varint_to_i32(ref.meta[1][0].data); - if (mtype != 6002) - throw new Error("6001 unexpected reference to ".concat(mtype)); - tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); - }); - tiles.forEach(function(tile2) { - tile2.ref.forEach(function(row, R) { - row.forEach(function(buf, C) { - var addr = encode_cell({ r: R, c: C }); - var res = parse(buf, sst, rsst); - if (res) - ws[addr] = res; - }); - }); - }); - } + try { + return cb(d.data); + } catch (e) { + var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); + if (m) + e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); + throw e; } - } - function parse_TST_TableInfoArchive(M, root) { - var pb = parse_shallow(root.data); - var out = { "!ref": "A1" }; - var tableref = M[parse_Reference(pb[2][0].data)]; - var mtype = varint_to_i32(tableref[0].meta[1][0].data); - if (mtype != 6001) - throw new Error("6000 unexpected reference to ".concat(mtype)); - parse_TST_TableModelArchive(M, tableref[0], out); - return out; - } - function parse_sheetroot(M, root) { - var _a; - var pb = parse_shallow(root.data); - var out = { - name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", - sheets: [] + }); +} +function parse_iwa_file(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var len = parse_varint49(buf, ptr); + var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + var res = { + id: varint_to_i32(ai[1][0].data), + messages: [] }; - var shapeoffs = mappa(pb[2], parse_Reference); - shapeoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 6e3) - out.sheets.push(parse_TST_TableInfoArchive(M, m)); + ai[2].forEach(function(b) { + var mi = parse_shallow(b.data); + var fl = varint_to_i32(mi[3][0].data); + res.messages.push({ + meta: mi, + data: buf.slice(ptr[0], ptr[0] + fl) }); + ptr[0] += fl; }); - return out; + out.push(res); } - function parse_docroot(M, root) { - var out = book_new(); - var pb = parse_shallow(root.data); - var sheetoffs = mappa(pb[1], parse_Reference); - sheetoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 2) { - var root2 = parse_sheetroot(M, m); - root2.sheets.forEach(function(sheet) { - book_append_sheet(out, sheet, root2.name); - }); + return out; +} +function parse_snappy_chunk(type, buf) { + if (type != 0) + throw new Error("Unexpected Snappy chunk type ".concat(type)); + var ptr = [0]; + var usz = parse_varint49(buf, ptr); + var chunks = []; + while (ptr[0] < buf.length) { + var tag = buf[ptr[0]] & 3; + if (tag == 0) { + var len = buf[ptr[0]++] >> 2; + if (len < 60) + ++len; + else { + var c = len - 59; + len = buf[ptr[0]]; + if (c > 1) + len |= buf[ptr[0] + 1] << 8; + if (c > 2) + len |= buf[ptr[0] + 2] << 16; + if (c > 3) + len |= buf[ptr[0] + 3] << 24; + len >>>= 0; + len++; + ptr[0] += c; + } + chunks.push(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + continue; + } else { + var offset = 0, length = 0; + if (tag == 1) { + length = (buf[ptr[0]] >> 2 & 7) + 4; + offset = (buf[ptr[0]++] & 224) << 3; + offset |= buf[ptr[0]++]; + } else { + length = (buf[ptr[0]++] >> 2) + 1; + if (tag == 2) { + offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; + ptr[0] += 2; + } else { + offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; + ptr[0] += 4; } - }); - }); - if (out.SheetNames.length == 0) - throw new Error("Empty NUMBERS file"); - return out; + } + chunks = [u8concat(chunks)]; + if (offset == 0) + throw new Error("Invalid offset 0"); + if (offset > chunks[0].length) + throw new Error("Invalid offset beyond length"); + if (length >= offset) { + chunks.push(chunks[0].slice(-offset)); + length -= offset; + while (length >= chunks[chunks.length - 1].length) { + chunks.push(chunks[chunks.length - 1]); + length -= chunks[chunks.length - 1].length; + } + } + chunks.push(chunks[0].slice(-offset, -offset + length)); + } } - return __toCommonJS(numbers_exports); -})(); -/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ + var o = u8concat(chunks); + if (o.length != usz) + throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); + return o; +} +function deframe(buf) { + var out = []; + var l = 0; + while (l < buf.length) { + var t = buf[l++]; + var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; + l += 3; + out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); + l += len; + } + if (l !== buf.length) + throw new Error("data is not a valid framed stream!"); + return u8concat(out); +} +function parse_old_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[buf[0] == 4 ? 1 : 2]; + var flags = dv.getUint32(4, true); + var data_offset = 12 + popcnt(flags & 3470) * 4; + var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 512) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + data_offset += popcnt(flags & 12288) * 4; + if (flags & 16) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 32) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 64) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: ieee }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else if (sidx > -1) + ret = { t: "s", v: sst[sidx] }; + else if (!isNaN(ieee)) + ret = { t: "n", v: ieee }; + else + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + break; + default: + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + return ret; +} +function parse_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[1]; + var flags = dv.getUint32(8, true); + var data_offset = 12; + var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 1) { + d128 = readDecimal128LE(buf, data_offset); + data_offset += 16; + } + if (flags & 2) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 4) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + if (flags & 8) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 16) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: d128 }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + break; + case 10: + ret = { t: "n", v: d128 }; + break; + default: + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + return ret; +} +function parse_cell_storage(buf, sst, rsst) { + switch (buf[0]) { + case 3: + case 4: + return parse_old_storage(buf, sst, rsst); + case 5: + return parse_storage(buf, sst, rsst); + default: + throw new Error("Unsupported payload version ".concat(buf[0])); + } +} +function parse_TSP_Reference(buf) { + var pb = parse_shallow(buf); + return parse_varint49(pb[1][0].data); +} +function parse_TST_TableDataList(M, root) { + var pb = parse_shallow(root.data); + var type = varint_to_i32(pb[1][0].data); + var entries = pb[3]; + var data = []; + (entries || []).forEach(function(entry) { + var le = parse_shallow(entry.data); + var key = varint_to_i32(le[1][0].data) >>> 0; + switch (type) { + case 1: + data[key] = u8str(le[3][0].data); + break; + case 8: + { + var rt = M[parse_TSP_Reference(le[9][0].data)][0]; + var rtp = parse_shallow(rt.data); + var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0]; + var mtype = varint_to_i32(rtpref.meta[1][0].data); + if (mtype != 2001) + throw new Error("2000 unexpected reference to ".concat(mtype)); + var tswpsa = parse_shallow(rtpref.data); + data[key] = tswpsa[3].map(function(x) { + return u8str(x.data); + }).join(""); + } + break; + } + }); + return data; +} +function parse_TST_TileRowInfo(u8) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var pb = parse_shallow(u8); + var R = varint_to_i32(pb[1][0].data) >>> 0; + var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; + var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); + var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; + var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); + var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; + var width = wide_offsets ? 4 : 1; + var cells = []; + var off = 0; + for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { + if (storage && storage_offsets) { + off = storage_offsets.getUint16(C * 2, true) * width; + if (off < storage.length) { + cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); + continue; + } + } + if (pre_bnc && pre_bnc_offsets) { + off = pre_bnc_offsets.getUint16(C * 2, true) * width; + if (off < pre_bnc.length) + cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); + } + } + return { R: R, cells: cells }; +} +function parse_TST_Tile(M, root) { + var pb = parse_shallow(root.data); + var ri = mappa(pb[5], parse_TST_TileRowInfo); + return ri.reduce(function(acc, x) { + if (!acc[x.R]) + acc[x.R] = []; + x.cells.forEach(function(cell, C) { + if (acc[x.R][C]) + throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); + acc[x.R][C] = cell; + }); + return acc; + }, []); +} +function parse_TST_TableModelArchive(M, root, ws) { + var _a; + var pb = parse_shallow(root.data); + var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; + range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; + if (range.e.r < 0) + throw new Error("Invalid row varint ".concat(pb[6][0].data)); + range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; + if (range.e.c < 0) + throw new Error("Invalid col varint ".concat(pb[7][0].data)); + ws["!ref"] = encode_range(range); + { + var store = parse_shallow(pb[4][0].data); + var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); + var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : []; + { + var tile = parse_shallow(store[3][0].data); + var tiles = []; + tile[1].forEach(function(t) { + var tl = parse_shallow(t.data); + var ref = M[parse_TSP_Reference(tl[2][0].data)][0]; + var mtype = varint_to_i32(ref.meta[1][0].data); + if (mtype != 6002) + throw new Error("6001 unexpected reference to ".concat(mtype)); + tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); + }); + tiles.forEach(function(tile2) { + tile2.ref.forEach(function(row, R) { + row.forEach(function(buf, C) { + var addr = encode_cell({ r: R, c: C }); + var res = parse_cell_storage(buf, sst, rsst); + if (res) + ws[addr] = res; + }); + }); + }); + } + } +} +function parse_TST_TableInfoArchive(M, root) { + var pb = parse_shallow(root.data); + var out = { "!ref": "A1" }; + var tableref = M[parse_TSP_Reference(pb[2][0].data)]; + var mtype = varint_to_i32(tableref[0].meta[1][0].data); + if (mtype != 6001) + throw new Error("6000 unexpected reference to ".concat(mtype)); + parse_TST_TableModelArchive(M, tableref[0], out); + return out; +} +function parse_TN_SheetArchive(M, root) { + var _a; + var pb = parse_shallow(root.data); + var out = { + name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", + sheets: [] + }; + var shapeoffs = mappa(pb[2], parse_TSP_Reference); + shapeoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 6e3) + out.sheets.push(parse_TST_TableInfoArchive(M, m)); + }); + }); + return out; +} +function parse_TN_DocumentArchive(M, root) { + var out = book_new(); + var pb = parse_shallow(root.data); + var sheetoffs = mappa(pb[1], parse_TSP_Reference); + sheetoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 2) { + var root2 = parse_TN_SheetArchive(M, m); + root2.sheets.forEach(function(sheet) { + book_append_sheet(out, sheet, root2.name); + }); + } + }); + }); + if (out.SheetNames.length == 0) + throw new Error("Empty NUMBERS file"); + return out; +} +function parse_numbers_iwa(cfb) { + var out = []; + cfb.FullPaths.forEach(function(p) { + if (p.match(/\.iwpv2/)) + throw new Error("Unsupported password protection"); + }); + cfb.FileIndex.forEach(function(s) { + if (!s.name.match(/\.iwa$/)) + return; + var o; + try { + o = deframe(s.content); + } catch (e) { + return console.log("?? " + s.content.length + " " + (e.message || e)); + } + var packets; + try { + packets = parse_iwa_file(o); + } catch (e) { + return console.log("## " + (e.message || e)); + } + packets.forEach(function(packet) { + out[+packet.id] = packet.messages; + }); + }); + if (!out.length) + throw new Error("File has no messages"); + var docroot; + out.forEach(function(iwams) { + iwams.forEach(function(iwam) { + var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; + if (mtype == 1) { + if (!docroot) + docroot = iwam; + else + throw new Error("Document has multiple roots"); + } + }); + }); + if (!docroot) + throw new Error("Cannot find Document root"); + return parse_TN_DocumentArchive(out, docroot); +} function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { @@ -22728,7 +22706,7 @@ function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { }; } -var fix_read_opts = function(opts) { +function fix_read_opts(opts) { fix_opts_func([ ['cellNF', false], /* emit cell number format string as .z */ ['cellHTML', true], /* emit html string as .h */ @@ -22749,9 +22727,10 @@ fix_opts_func([ ['password',''], /* password */ ['WTF', false] /* WTF mode (throws errors) */ ])(opts); -}; +} -var fix_write_opts = fix_opts_func([ +function fix_write_opts(opts) { +fix_opts_func([ ['cellDates', false], /* write date cells with type `d` */ ['bookSST', false], /* Generate Shared String Table */ @@ -22761,7 +22740,8 @@ var fix_write_opts = fix_opts_func([ ['compression', false], /* Use file compression */ ['WTF', false] /* WTF mode (throws errors) */ -]); +])(opts); +} function get_sheet_type(n/*:string*/)/*:string*/ { if(RELS.WS.indexOf(n) > -1) return "sheet"; if(RELS.CS && n == RELS.CS) return "chart"; @@ -22799,16 +22779,22 @@ function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/ } sheets[sheet] = _ws; - /* scan rels for comments */ - var comments = []; + /* scan rels for comments and threaded comments */ + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { + var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { - var dfile = resolve_path(sheetRels[sheet][n].Target, path); - comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); + dfile = resolve_path(sheetRels[sheet][n].Target, path); + var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments); + sheet_insert_comments(_ws, comments, false); + } + if(sheetRels[sheet][n].Type == RELS.TCMNT) { + dfile = resolve_path(sheetRels[sheet][n].Target, path); + tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); } }); + if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); } catch(e) { if(opts.WTF) throw e; } } @@ -22826,11 +22812,11 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { /* Numbers */ if(safegetzipfile(zip, 'Index/Document.iwa')) { if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof NUMBERS != "undefined") { - if(zip.FileIndex) return NUMBERS.parse_numbers(zip); + if(typeof parse_numbers_iwa != "undefined") { + if(zip.FileIndex) return parse_numbers_iwa(zip); var _zip = CFB.utils.cfb_new(); zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return NUMBERS.parse_numbers(_zip); + return parse_numbers_iwa(_zip); } throw new Error('Unsupported NUMBERS file'); } @@ -22932,8 +22918,11 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); } - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); + if((dir.people || []).length >= 1) { + opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); + } + if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; @@ -23046,9 +23035,14 @@ function parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ { function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(opts.bookType == "ods") return write_ods(wb, opts); - return write_zip_xlsxb(wb, opts); + if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); + return write_zip_xlsx(wb, opts); } +/* XLSX and XLSB writing are very similar. Originally they were unified in one + export function. This is horrible for tree shaking in the common case (most + applications need to export files in one format) so this function supports + both formats while write_zip_xlsx only handles XLSX */ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23120,8 +23114,9 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23183,7 +23178,6 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { return zip; } -/* this version does not reference XLSB write functions */ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23238,6 +23232,9 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { add_rels(opts.rels, 4, f, RELS.CUST_PROPS); } + var people = ["SheetJ5"]; + opts.tcid = 0; + for(rId=1;rId <= wb.SheetNames.length; ++rId) { var wsrels = {'!id':{}}; var ws = wb.Sheets[wb.SheetNames[rId-1]]; @@ -23255,8 +23252,20 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + var needtc = false; + comments.forEach(function(carr) { + carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); + }); + if(needtc) { + cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); + } + + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23310,6 +23319,13 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { ct.metadata.push(f); add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); + if(people.length > 1) { + f = "xl/persons/person.xml"; + zip_add_file(zip, f, write_people_xml(people, opts)); + ct.people.push(f); + add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); + } + zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); diff --git a/xlsx.js b/xlsx.js index 16ba555..0df556b 100644 --- a/xlsx.js +++ b/xlsx.js @@ -1,10 +1,10 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, Deno:false */ +/*global exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; var current_codepage = 1200, current_ansi = 1252; /*global cptable:true, window */ var $cptable; @@ -1301,7 +1301,7 @@ function dateNF_fix(str, dateNF, match) { /* vim: set ts=2: */ /*jshint eqnull:true */ /*exported CFB */ -/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */ +/*global Uint8Array:false, Uint16Array:false */ /* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ @@ -3298,8 +3298,7 @@ function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } /* TODO: stress test */ function fuzzynum(s) { var v = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); @@ -3519,7 +3518,7 @@ var xlml_fixstr = (function() { function entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str) { return str.replace(entregex,entrepl); }; })(); -function xlml_unfixstr(str) { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; +function xlml_unfixstr(str) { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value) { switch(value) { @@ -3691,6 +3690,7 @@ var XMLNS = ({ EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", CT: 'http://schemas.openxmlformats.org/package/2006/content-types', RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', + TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -4650,9 +4650,6 @@ var SummaryPIDSI = { 0x72627262: {} }; -var DocSummaryRE = evert_key(DocSummaryPIDDSI, "n"); -var SummaryRE = evert_key(SummaryPIDSI, "n"); - /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { 0x0001: "US", // United States @@ -4892,6 +4889,8 @@ var ct2type/*{[string]:string}*/ = ({ /* Comments */ "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", "application/vnd.ms-excel.comments": "comments", + "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", + "application/vnd.ms-excel.person+xml": "people", /* Metadata (Stock/Geography and Dynamic Array) */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", @@ -4935,10 +4934,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", @@ -5066,9 +5061,9 @@ var CT_LIST = { function new_ct() { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], links:[], + rels:[], strs:[], comments:[], threadedcomments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], + calcchains:[], vba: [], drawings: [], metadata: [], people:[], TODO:[], xmlns: "" }); } @@ -5102,32 +5097,30 @@ var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns:xsi': XMLNS.xsi }); -var CTYPE_DEFAULTS = [ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] -].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); -}); - function write_ct(ct, opts) { var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); var o = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); - o = o.concat(CTYPE_DEFAULTS); + o = o.concat([ + ['xml', 'application/xml'], + ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], + ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], + ['data', 'application/vnd.openxmlformats-officedocument.model+data'], + /* from test files */ + ['bmp', 'image/bmp'], + ['png', 'image/png'], + ['gif', 'image/gif'], + ['emf', 'image/x-emf'], + ['wmf', 'image/x-wmf'], + ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], + ['tif', 'image/tiff'], ['tiff', 'image/tiff'], + ['pdf', 'application/pdf'], + ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] + ].map(function(x) { + return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); + })); /* only write first instance */ var f1 = function(w) { @@ -5168,8 +5161,10 @@ function write_ct(ct, opts) { ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); + f3('threadedcomments'); f3('drawings'); f2('metadata'); + f3('people'); if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } @@ -5184,9 +5179,31 @@ var RELS = ({ XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", + CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", + EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", + STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", + WS: [ + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", + "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" + ], + DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", + MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", + IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", + DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", + XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", + TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", + PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" }); + /* 9.3.3 Representing Relationships */ function get_rels_path(file) { var n = file.lastIndexOf("/"); @@ -5330,8 +5347,6 @@ var CORE_PROPS = [ ["dcterms:modified", "ModifiedDate", 'date'] ]; -RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; - var CORE_PROPS_REGEX = (function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { @@ -5355,15 +5370,6 @@ function parse_core_props(data) { return p; } -var CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi -}); - function cp_doit(f, g, h, o, p) { if(p[f] != null || g == null || g === "") return; p[f] = g; @@ -5373,7 +5379,14 @@ function cp_doit(f, g, h, o, p) { function write_core_props(cp, _opts) { var opts = _opts || {}; - var o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {}; + var o = [XML_HEADER, writextag('cp:coreProperties', null, { + //'xmlns': XMLNS.CORE_PROPS, + 'xmlns:cp': XMLNS.CORE_PROPS, + 'xmlns:dc': XMLNS.dc, + 'xmlns:dcterms': XMLNS.dcterms, + 'xmlns:dcmitype': XMLNS.dcmitype, + 'xmlns:xsi': XMLNS.xsi + })], p = {}; if(!cp && !opts.Props) return o.join(""); if(cp) { @@ -5408,8 +5421,6 @@ var EXT_PROPS = [ ["TitlesOfParts", "TitlesOfParts", "raw"] ]; -RELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'; - var PseudoPropsPairs = [ "Worksheets", "SheetNames", "NamedRanges", "DefinedNames", @@ -5483,17 +5494,15 @@ function parse_ext_props(data, p, opts) { return p; } -var EXT_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_ext_props(cp) { var o = [], W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; o[o.length] = (XML_HEADER); - o[o.length] = (EXT_PROPS_XML_ROOT); + o[o.length] = (writextag('Properties', null, { + 'xmlns': XMLNS.EXT_PROPS, + 'xmlns:vt': XMLNS.vt + })); EXT_PROPS.forEach(function(f) { if(cp[f[1]] === undefined) return; @@ -5512,8 +5521,6 @@ function write_ext_props(cp) { return o.join(""); } /* 15.2.12.2 Custom File Properties Part */ -RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; - var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data, opts) { var p = {}, name = ""; @@ -5559,13 +5566,11 @@ function parse_cust_props(data, opts) { return p; } -var CUST_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.CUST_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_cust_props(cp) { - var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; + var o = [XML_HEADER, writextag('Properties', null, { + 'xmlns': XMLNS.CUST_PROPS, + 'xmlns:vt': XMLNS.vt + })]; if(!cp) return o.join(""); var pid = 1; keys(cp).forEach(function custprop(k) { ++pid; @@ -5611,9 +5616,10 @@ var XLMLDocPropsMap = { Identifier: 'Identifier', /* NOTE: missing from schema */ Language: 'Language' /* NOTE: missing from schema */ }; -var evert_XLMLDPM = evert(XLMLDocPropsMap); +var evert_XLMLDPM; function xlml_set_prop(Props, tag, val) { + if(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap); tag = evert_XLMLDPM[tag] || tag; Props[tag] = val; } @@ -5916,7 +5922,7 @@ function parse_PropertySet(blob, PIDSI) { blob.l = start_addr + size; /* step ahead to skip padding */ return PropH; } -var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ].concat(PseudoPropsPairs); +var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ]; //.concat(PseudoPropsPairs); function guess_property_type(val) { switch(typeof val) { case "boolean": return 0x0B; @@ -5960,7 +5966,7 @@ function write_PropertySet(entries, RE, PIDSI) { for(i = 0; i < entries.length; ++i) { if(RE && !RE[entries[i][0]]) continue; - if(XLSPSSkip.indexOf(entries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue; if(entries[i][1] == null) continue; var val = entries[i][1], idx = 0; @@ -8801,10 +8807,10 @@ var WK_ = (function() { V = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V); return (rel ? "" : "$") + (col ? encode_col(V) : encode_row(V)); } - var oprec = [ + /* var oprec = [ 8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3, 3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8 - ]; + ]; */ /* TODO: flesh out */ var FuncTab = { 0x33: ["FALSE", 0], @@ -8818,10 +8824,10 @@ var WK_ = (function() { 0x6F: ["T", 1] }; var BinOpTab = [ - "", "", "", "", "", "", "", "", - "", "+", "-", "*", "/", "^", "=", "<>", - "<=", ">=", "<", ">", "", "", "", "", - "&", "", "", "", "", "", "", "" + "", "", "", "", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "", "+", "-", "*", "/", "^", "=", "<>", // eslint-disable-line no-mixed-spaces-and-tabs + "<=", ">=", "<", ">", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "&", "", "", "", "", "", "", "" // eslint-disable-line no-mixed-spaces-and-tabs ]; function wk1_fmla_to_csf(blob, o) { @@ -9020,7 +9026,7 @@ var WK_ = (function() { if(!opts.qpro || length < 21) return; var id = blob.read_shift(1); blob.l += 17; - var len = blob.read_shift(1); + blob.l += 1; //var len = blob.read_shift(1); blob.l += 2; var nm = blob.read_shift(length - 21, 'cstr'); return [id, nm]; @@ -9464,7 +9470,6 @@ function parse_sst_xml(data, opts) { return s; } -RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; function write_sst_xml(sst, opts) { if(!opts.bookSST) return ""; @@ -10459,8 +10464,6 @@ return function parse_sty_xml(data, themes, opts) { }; })(); -RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; - function write_sty_xml(wb, opts) { var o = [XML_HEADER, writextag('styleSheet', null, { 'xmlns': XMLNS_main[0], @@ -10583,11 +10586,12 @@ var XLSBFillPTNames = [ "gray125", "gray0625" ]; -var rev_XLSBFillPTNames = (evert(XLSBFillPTNames)); +var rev_XLSBFillPTNames; /* TODO: gradient fill representation */ var parse_BrtFill = parsenoop; function write_BrtFill(fill, o) { if(!o) o = new_buf(4*3 + 8*7 + 16*1); + if(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)); var fls = rev_XLSBFillPTNames[fill.patternType]; if(fls == null) fls = 0x28; o.write_shift(4, fls); @@ -10869,8 +10873,6 @@ function write_sty_bin(wb, opts) { write_record(ba, 0x0117 /* BrtEndStyleSheet */); return ba.end(); } -RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; - /* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ var XLSXThemeClrScheme = [ '', '', '', '', @@ -11241,69 +11243,6 @@ function update_xfext(xf, xfext) { }); } -RELS.XLMETA = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata"; -function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [] }; - if (!data) - return out; - var pass = false; - data.replace(tagregex, function(x, idx) { - var y = parsexmltag(x); - switch (strip_ns(y[0])) { - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - case "": - case "": - break; - case "": - pass = false; - break; - default: - if (!pass && opts.WTF) - throw new Error("unrecognized " + y[0] + " in metadata"); - } - return x; - }); - return out; -} -function write_xlmeta_xml() { - var o = [XML_HEADER]; - o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); - return o.join(""); -} function parse_BrtMdtinfo(data, length) { return { flags: data.read_shift(4), @@ -11318,6 +11257,13 @@ function write_BrtMdtinfo(data) { write_XLWideString(data.name, o); return o.slice(0, o.l); } +function parse_BrtMdb(data) { + var out = []; + var cnt = data.read_shift(4); + while (cnt-- > 0) + out.push([data.read_shift(4), data.read_shift(4)]); + return out; +} function write_BrtMdb(mdb) { var o = new_buf(4 + 8 * mdb.length); o.write_shift(4, mdb.length); @@ -11333,6 +11279,10 @@ function write_BrtBeginEsfmd(cnt, name) { write_XLWideString(name, o); return o.slice(0, o.l); } +function parse_BrtBeginEsmdb(data) { + data.l += 4; + return data.read_shift(4) != 0; +} function write_BrtBeginEsmdb(cnt, cm) { var o = new_buf(8); o.write_shift(4, cnt); @@ -11340,16 +11290,29 @@ function write_BrtBeginEsmdb(cnt, cm) { return o; } function parse_xlmeta_bin(data, name, _opts) { - var out = { Types: [] }; + var out = { Types: [], Cell: [], Value: [] }; var opts = _opts || {}; var state = []; var pass = false; + var metatype = 2; recordhopper(data, function(val, R, RT) { switch (RT) { case 335: out.Types.push({ name: val.name }); break; case 51: + val.forEach(function(r) { + if (metatype == 1) + out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + else if (metatype == 0) + out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + }); + break; + case 337: + metatype = val ? 1 : 0; + break; + case 338: + metatype = 2; break; case 35: state.push(RT); @@ -11391,6 +11354,80 @@ function write_xlmeta_bin() { write_record(ba, 333); return ba.end(); } +function parse_xlmeta_xml(data, name, opts) { + var out = { Types: [], Cell: [], Value: [] }; + if (!data) + return out; + var pass = false; + var metatype = 2; + data.replace(tagregex, function(x) { + var y = parsexmltag(x); + switch (strip_ns(y[0])) { + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + metatype = 2; + break; + case "": + metatype = 2; + break; + case "": + case "": + case "": + break; + case "": + pass = false; + break; + default: + if (!pass && opts.WTF) + throw new Error("unrecognized " + y[0] + " in metadata"); + } + return x; + }); + return out; +} +function write_xlmeta_xml() { + var o = [XML_HEADER]; + o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); + return o.join(""); +} /* 18.6 Calculation Chain */ function parse_cc_xml(data) { var d = []; @@ -11494,9 +11531,6 @@ function parse_xlink_bin(data, rel, name, _opts) { }, opts); } /* 20.5 DrawingML - SpreadsheetML Drawing */ -RELS.IMG = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -RELS.DRAW = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"; - /* 20.5.2.35 wsDr CT_Drawing */ function parse_drawing(data, rels) { if(!data) return "??"; @@ -11569,9 +11603,7 @@ function write_comments_vml(rId, comments) { o.push(''); return o.join(""); } -RELS.CMNT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; - -function sheet_insert_comments(sheet, comments) { +function sheet_insert_comments(sheet, comments, threaded, people) { var dense = Array.isArray(sheet); var cell; comments.forEach(function(comment) { @@ -11594,8 +11626,17 @@ function sheet_insert_comments(sheet, comments) { } if (!cell.c) cell.c = []; - var o = ({a: comment.author, t: comment.t, r: comment.r}); + var o = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); if(comment.h) o.h = comment.h; + + /* threaded comments always override */ + for(var i = cell.c.length - 1; i >= 0; --i) { + if(!threaded && cell.c[i].T) return; + if(threaded && !cell.c[i].T) cell.c.splice(i, 1); + } + if(threaded && people) for(i = 0; i < people.length; ++i) { + if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } + } cell.c.push(o); }); } @@ -11638,24 +11679,147 @@ function write_comments_xml(data) { var iauthor = []; o.push(""); data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) > -1) return; - iauthor.push(a); - o.push("" + a + ""); + if(iauthor.indexOf(a) == -1) { + iauthor.push(a); + o.push("" + a + ""); + } + if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { + iauthor.push("tc=" + w.ID); + o.push("" + "tc=" + w.ID + ""); + } }); }); + if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } o.push(""); o.push(""); data.forEach(function(d) { - d[1].forEach(function(c) { - /* 18.7.3 CT_Comment */ - o.push(''); - o.push(writetag("t", c.t == null ? "" : escapexml(c.t))); - o.push(''); + /* 18.7.3 CT_Comment */ + var lastauthor = 0, ts = []; + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); + else d[1].forEach(function(c) { + if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); + ts.push(c.t||""); }); + o.push(''); + if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); + else { + /* based on Threaded Comments -> Comments projection */ + var t = "Comment:\n " + (ts[0]) + "\n"; + for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; + o.push(writetag("t", escapexml(t))); + } + o.push(''); }); o.push(""); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } + +/* [MS-XLSX] 2.1.17 */ +function parse_tcmnt_xml(data, opts) { + var out = []; + var pass = false, comment = {}, tidx = 0; + data.replace(tagregex, function xml_tcmnt(x, idx) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.205 threadedComment CT_ThreadedComment */ + case '': if(comment.t != null) out.push(comment); break; + + case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; + + /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ + case '': pass = true; break; + case '': pass = false; break; + + /* 2.6.202 mention CT_Mention TODO */ + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} + +function write_tcmnt_xml(comments, people, opts) { + var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; + comments.forEach(function(carr) { + var rootid = ""; + (carr[1] || []).forEach(function(c, idx) { + if(!c.T) { delete c.ID; return; } + if(c.a && people.indexOf(c.a) == -1) people.push(c.a); + var tcopts = { + ref: carr[0], + id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" + }; + if(idx == 0) rootid = tcopts.id; + else tcopts.parentId = rootid; + c.ID = tcopts.id; + if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; + o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); + }); + }); + o.push(''); + return o.join(""); +} + +/* [MS-XLSX] 2.1.18 */ +function parse_people_xml(data, opts) { + var out = []; + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.203 person CT_Person TODO: providers */ + case '': break; + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} +function write_people_xml(people/*, opts*/) { + var o = [XML_HEADER, writextag('personList', null, { + 'xmlns': XMLNS.TCMNT, + 'xmlns:x': XMLNS_main[0] + }).replace(/[\/]>/, ">")]; + people.forEach(function(person, idx) { + o.push(writextag('person', null, { + displayName: person, + id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", + userId: person, + providerId: "None" + })); + }); + o.push(""); + return o.join(""); +} /* [MS-XLSB] 2.4.28 BrtBeginComment */ function parse_BrtBeginComment(data) { var out = {}; @@ -11773,9 +11937,6 @@ function fill_vba_xls(cfb, vba) { }); } var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -RELS.DS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"; -RELS.MS = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet"; - /* macro and dialog sheet stubs */ function parse_ds_bin() { return {'!type':'dialog'}; } function parse_ds_xml() { return {'!type':'dialog'}; } @@ -12439,12 +12600,12 @@ var Ptg19 = { 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, +0x21: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, 0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, 0xFF: {} }; -Ptg19[0x21] = Ptg19[0x20]; /* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { @@ -14178,10 +14339,6 @@ function csf_to_ods_3D(r) { var strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options -RELS.WS = [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" -]; /*global Map */ var browser_has_Map = typeof Map !== 'undefined'; @@ -14415,7 +14572,7 @@ function parse_ws_xml_sheetpr(sheetPr, s, wb, idx) { if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); } -function parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx, styles, themes) { +function parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx) { parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { @@ -14566,7 +14723,8 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb) { } function write_ws_xml_cell(cell, ref, ws, opts) { - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z') return ""; + if(cell.c) ws['!comments'].push([ref, cell.c]); + if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { @@ -14608,7 +14766,6 @@ function write_ws_xml_cell(cell, ref, ws, opts) { v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); } if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.c) ws['!comments'].push([ref, cell.c]); if(cell.D) o.cm = 1; return writextag('c', v, o); } @@ -14787,8 +14944,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { safe_format(p, fmtid, fillid, opts, themes, styles); if(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Types||[])[+tag.cm-1]; - if(cm && cm.name == 'XLDAPR') p.D = true; + var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; + if(cm && cm.type == 'XLDAPR') p.D = true; } if(dense) { var _r = decode_cell(tag.r); @@ -15503,7 +15660,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { var cm, vm; - recordhopper(data, function ws_parse(val, R, RT) { + recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; switch(RT) { case 0x0094: /* 'BrtWsDim' */ @@ -15569,7 +15726,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { var _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } } if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15587,7 +15744,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { if(refguess.e.r < row.r) refguess.e.r = row.r; if(refguess.e.c < C) refguess.e.c = C; if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15597,7 +15754,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { merges.push(val); break; case 0x0031: { /* 'BrtCellMeta' */ - cm = ((opts.xlmeta||{}).Types||[])[val-1]; + cm = ((opts.xlmeta||{}).Cell||[])[val-1]; } break; case 0x01EE: /* 'BrtHLink' */ @@ -15737,7 +15894,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { state.pop(); pass = false; break; default: - if(R.T){/* empty */} + if(RR.T){/* empty */} else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); @@ -15993,9 +16150,6 @@ function write_ws_bin(idx, opts, wb, rels) { write_record(ba, 0x0082 /* BrtEndSheet */); return ba.end(); } -RELS.CHART = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"; -RELS.CHARTEX = "http://schemas.microsoft.com/office/2014/relationships/chartEx"; - function parse_Cache(data) { var col = []; var num = data.match(/^/); @@ -16041,8 +16195,6 @@ function parse_chart(data, name, opts, rels, wb, csheet) { if(C > 0) cs["!ref"] = encode_range(refguess); return cs; } -RELS.CS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"; - /* 18.3 Worksheets also covers Chartsheets */ function parse_cs_xml(data, opts, idx, rels, wb) { if(!data) return data; @@ -17103,7 +17255,7 @@ function parse_xlml_xml(d, _opts) { var state = [], tmp; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = ""; - var table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars + var cell = ({}), row = {};// eslint-disable-line no-unused-vars var dtag = xlml_parsexmltag(''), didx = 0; var c = 0, r = 0; var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; @@ -17227,7 +17379,6 @@ for(var cma = c; cma <= cc; ++cma) { if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} else if(Rn[0].slice(-2) == "/>") break; else { - table = xlml_parsexmltag(Rn[0]); state.push([Rn[3], false]); cstys = []; seencol = false; } @@ -18315,8 +18466,6 @@ function parse_workbook(blob, options) { var merges = []; var objects = []; var colinfo = [], rowinfo = []; - // eslint-disable-next-line no-unused-vars - var defwidth = 0, defheight = 0; // twips / MDW respectively var seencol = false; var supbooks = ([]); // 1-indexed, will hold extern names supbooks.SheetNames = opts.snames; @@ -18360,7 +18509,6 @@ function parse_workbook(blob, options) { else val = slurp(RecordType, R, blob, length, opts); if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue; switch(RecordType) { - /* Workbook Options */ case 0x0022 /* Date1904 */: wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; case 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break; @@ -18372,7 +18520,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(!val.valid) throw new Error("Password is incorrect"); break; case 0x005c /* WriteAccess */: opts.lastuser = val; break; - case 0x005b /* FileSharing */: break; //TODO case 0x0042 /* CodePage */: var cpval = Number(val); /* overrides based on test cases */ @@ -18386,10 +18533,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; break; case 0x013d /* RRTabId */: opts.rrtabid = val; break; case 0x0019 /* WinProtect */: opts.winlocked = val; break; - case 0x0060 /* Template */: break; // TODO - case 0x00da /* BookBool */: break; // TODO - case 0x0160 /* UsesELFs */: break; - case 0x089a /* MTRSettings */: break; case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break; case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break; case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break; @@ -18398,7 +18541,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break; case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break; case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1 - case 0x005e /* Uncalced */: break; case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break; case 0x0081 /* WsBool */: if(val.fDialog) out["!type"] = "dialog"; @@ -18407,11 +18549,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; break; // TODO case 0x00e0 /* XF */: XFs.push(val); break; - case 0x00ff /* ExtSST */: break; // TODO - case 0x0863 /* BookExt */: break; // TODO - case 0x08a6 /* RichTextStream */: break; - case 0x00e9 /* BkHim */: break; - case 0x01ae /* SupBook */: supbooks.push([val]); supbooks[supbooks.length-1].XTI = []; @@ -18419,7 +18556,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; case 0x0023: case 0x0223 /* ExternName */: supbooks[supbooks.length-1].push(val); break; - case 0x000b: case 0x020b /* Index */: break; // TODO case 0x0018: case 0x0218 /* Lbl */: last_lbl = ({ Name: val.Name, @@ -18442,11 +18578,8 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(opts.biff < 8) break; if(last_lbl != null) last_lbl.Comment = val[1]; break; - case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */ case 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; - case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: break; /*TODO: Revision Control*/ - case 0x0085 /* BoundSheet8 */: { Directory[val.pos] = val; opts.snames.push(val.name); @@ -18512,11 +18645,9 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; objects = []; opts.arrayf = arrayf = []; colinfo = []; rowinfo = []; - defwidth = defheight = 0; seencol = false; wsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet }; } break; - case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}); @@ -18670,8 +18801,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(cc && cc.l) cc.l.Tooltip = val[1]; } } break; - - /* Comments */ case 0x001c /* Note */: { if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ cc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; @@ -18692,13 +18821,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; cmnt = {a:val[1],t:noteobj.TxO.t}; cc.c.push(cmnt); } break; - - case 0x105c /* ClrtClient */: break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; - - case 0x0055 /* DefColWidth */: defwidth = val; break; - case 0x0225 /* DefaultRowHeight */: defheight = val[1]; break; // TODO: flags - case 0x007d /* ColInfo */: { if(!opts.cellStyles) break; while(val.e >= val.s) { @@ -18716,7 +18839,6 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; rowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt); } } break; - case 0x0026 /* LeftMargin */: case 0x0027 /* RightMargin */: case 0x0028 /* TopMargin */: @@ -18724,160 +18846,125 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'][({0x26: "left", 0x27:"right", 0x28:"top", 0x29:"bottom"})[RecordType]] = val; break; - - case 0x001d /* Selection */: break; - case 0x00a1 /* Setup */: // TODO if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'].header = val.header; out['!margins'].footer = val.footer; break; - case 0x023e /* Window2 */: // TODO // $FlowIgnore if(val.RTL) Workbook.Views[0].RTL = true; break; - - case 0x0014 /* Header */: // TODO - case 0x0015 /* Footer */: // TODO - case 0x0083 /* HCenter */: // TODO - case 0x0084 /* VCenter */: // TODO - case 0x004d /* Pls */: // TODO - case 0x00ab /* GCW */: - case 0x0094 /* LHRecord */: - case 0x00d7 /* DBCell */: // TODO - case 0x01c2 /* EntExU2 */: // TODO - case 0x00b0 /* SxView */: // TODO - case 0x00b1 /* Sxvd */: // TODO - case 0x00b2 /* SXVI */: // TODO - case 0x0100 /* SXVDEx */: // TODO - case 0x00b4 /* SxIvd */: // TODO - case 0x00cd /* SXString */: // TODO - case 0x0097 /* Sync */: - case 0x0087 /* Addin */: - case 0x00c5 /* SXDI */: // TODO - case 0x00b5 /* SXLI */: // TODO - case 0x00f1 /* SXEx */: // TODO - case 0x0802 /* QsiSXTag */: // TODO - case 0x0868 /* Feat */: - case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: - case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: break; - case 0x008c /* Country */: country = val; break; - case 0x01c1 /* RecalcId */: - case 0x0099 /* DxGCol */: // TODO: htmlify - case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: - case 0x0031 /* Font */: // TODO - case 0x087c /* XFCRC */: // TODO - case 0x0293 /* Style */: // TODO - case 0x0892 /* StyleExt */: break; // TODO case 0x0092 /* Palette */: palette = val; break; case 0x0896 /* Theme */: themes = val; break; - /* Protection */ - case 0x00dd /* ScenarioProtect */: - case 0x0063 /* ObjProtect */: break; - - /* Conditional Formatting */ - case 0x0879 /* CondFmt12 */: - - /* Table */ - case 0x0236 /* Table */: // TODO - case 0x088e /* TableStyles */: // TODO - case 0x088f /* TableStyle */: // TODO - case 0x0890 /* TableStyleElement */: // TODO - - /* PivotTable */ - case 0x00d5 /* SXStreamID */: // TODO - case 0x00e3 /* SXVS */: // TODO - case 0x0051 /* DConRef */: // TODO - case 0x0864 /* SXAddl */: // TODO - case 0x01b5 /* DConBin */: // TODO - case 0x0052 /* DConName */: // TODO - case 0x00b6 /* SXPI */: // TODO - case 0x00fb /* SxFormat */: // TODO - case 0x00f7 /* SxSelect */: // TODO - case 0x00f0 /* SxRule */: // TODO - case 0x00f2 /* SxFilt */: // TODO - case 0x00f5 /* SxItm */: // TODO - case 0x00f4 /* SxDXF */: // TODO - - /* Scenario Manager */ - case 0x00ae /* ScenMan */: - - /* Data Consolidation */ - case 0x0050 /* DCon */: - - /* Watched Cell */ - case 0x086c /* CellWatch */: - - /* Print Settings */ - case 0x002a /* PrintRowCol */: - case 0x002b /* PrintGrid */: - case 0x0033 /* PrintSize */: - - case 0x0059 /* XCT */: - case 0x005a /* CRN */: - - case 0x00a0 /* Scl */: { - //console.log("Zoom Level:", val[0]/val[1],val); - } - case 0x0862 /* SheetExt */: { - /* empty */ - } - - /* VBA */ - case 0x01bd /* ObNoMacros */: { - /* empty */ - } - case 0x00d3 /* ObProj */: { - /* empty */ - } + case 0x008c /* Country */: country = val; break; case 0x01ba /* CodeName */: { if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; else wsprops.CodeName = val || wsprops.name; - } - case 0x0897 /* GUIDTypeLib */: { - /* empty */ - } - - case 0x080b /* WOpt */: // TODO: WTF? + } break; + case 0x0055 /* DefColWidth */: + case 0x0225 /* DefaultRowHeight */: + case 0x005e /* Uncalced */: + case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: /*TODO: Revision Control*/ + case 0x005b /* FileSharing */: + case 0x00ff /* ExtSST */: + case 0x0863 /* BookExt */: + case 0x08a6 /* RichTextStream */: + case 0x00e9 /* BkHim */: + case 0x0060 /* Template */: + case 0x00da /* BookBool */: + case 0x0160 /* UsesELFs */: + case 0x089a /* MTRSettings */: + case 0x000b: case 0x020b /* Index */: + case 0x105c /* ClrtClient */: + case 0x001d /* Selection */: + case 0x0014 /* Header */: + case 0x0015 /* Footer */: + case 0x0083 /* HCenter */: + case 0x0084 /* VCenter */: + case 0x004d /* Pls */: + case 0x00ab /* GCW */: + case 0x0094 /* LHRecord */: + case 0x00d7 /* DBCell */: + case 0x01c2 /* EntExU2 */: + case 0x00b0 /* SxView */: + case 0x00b1 /* Sxvd */: + case 0x00b2 /* SXVI */: + case 0x0100 /* SXVDEx */: + case 0x00b4 /* SxIvd */: + case 0x00cd /* SXString */: + case 0x0097 /* Sync */: + case 0x0087 /* Addin */: + case 0x00c5 /* SXDI */: + case 0x00b5 /* SXLI */: + case 0x00f1 /* SXEx */: + case 0x0802 /* QsiSXTag */: + case 0x0868 /* Feat */: + case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: + case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: + case 0x01c1 /* RecalcId */: + case 0x0099 /* DxGCol */: + case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: + case 0x0031 /* Font */: + case 0x087c /* XFCRC */: + case 0x0293 /* Style */: + case 0x0892 /* StyleExt */: + case 0x00dd /* ScenarioProtect */: + case 0x0063 /* ObjProtect */: + case 0x0879 /* CondFmt12 */: + case 0x0236 /* Table */: + case 0x088e /* TableStyles */: + case 0x088f /* TableStyle */: + case 0x0890 /* TableStyleElement */: + case 0x00d5 /* SXStreamID */: + case 0x00e3 /* SXVS */: + case 0x0051 /* DConRef */: + case 0x0864 /* SXAddl */: + case 0x01b5 /* DConBin */: + case 0x0052 /* DConName */: + case 0x00b6 /* SXPI */: + case 0x00fb /* SxFormat */: + case 0x00f7 /* SxSelect */: + case 0x00f0 /* SxRule */: + case 0x00f2 /* SxFilt */: + case 0x00f5 /* SxItm */: + case 0x00f4 /* SxDXF */: + case 0x00ae /* ScenMan */: + case 0x0050 /* DCon */: + case 0x086c /* CellWatch */: + case 0x002a /* PrintRowCol */: + case 0x002b /* PrintGrid */: + case 0x0033 /* PrintSize */: + case 0x0059 /* XCT */: + case 0x005a /* CRN */: + case 0x00a0 /* Scl */: + case 0x0862 /* SheetExt */: + case 0x01bd /* ObNoMacros */: + case 0x00d3 /* ObProj */: + case 0x0897 /* GUIDTypeLib */: + case 0x080b /* WOpt */: case 0x00ef /* PhoneticInfo */: - case 0x00de /* OleObjectSize */: - - /* Differential Formatting */ case 0x088d /* DXF */: - - /* Data Validation */ case 0x01be /* Dv */: case 0x01b2 /* DVal */: - - /* Data Series */ - case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: break; - - /* Data Connection */ + case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: case 0x0876 /* DConn */: case 0x00dc /* DbOrParamQry */: case 0x0803 /* DBQueryExt */: - case 0x080a /* OleDbConn */: case 0x0804 /* ExtString */: - - /* Formatting */ case 0x104e /* IFmtRecord */: case 0x01b0 /* CondFmt */: case 0x01b1 /* CF */: case 0x087a /* CF12 */: case 0x087b /* CFEx */: - - /* Explicitly Ignored */ case 0x01c0 /* Excel9File */: case 0x1001 /* Units */: case 0x00e1 /* InterfaceHdr' */: case 0x00c1 /* Mms */: case 0x00e2 /* InterfaceEnd */: case 0x0161 /* DSF */: case 0x009c /* BuiltInFnGroupCount */: /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break; - /* View Stuff */ case 0x003d /* Window1 */: case 0x008d /* HideObj */: case 0x0082 /* GridSet */: case 0x0080 /* Guts */: - case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01aa /* UserSViewEnd */: + case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01ab /* UserSViewEnd */: case 0x0041 /* Pane */: - /* Chart */ case 0x1063 /* Dat */: - case 0x1033 /* Begin */: case 0x1033 /* End */: - case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: break; + case 0x1033 /* Begin */: case 0x1034 /* End */: + case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: case 0x1032 /* Frame */: case 0x101a /* Area */: case 0x101d /* Axis */: case 0x1021 /* AxisLine */: case 0x101e /* Tick */: case 0x1046 /* AxesUsed */: @@ -18898,69 +18985,41 @@ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; case 0x1050 /* AlRuns */: case 0x1027 /* ObjectLink */: case 0x1065 /* SIIndex */: case 0x100c /* AttachedLabel */: case 0x0857 /* YMult */: - - /* Chart Group */ case 0x1018 /* Line */: case 0x1017 /* Bar */: case 0x103f /* Surf */: - - /* Axis Group */ case 0x1041 /* AxisParent */: case 0x104f /* Pos */: case 0x101f /* ValueRange */: - - /* Pivot Chart */ - case 0x0810 /* SXViewEx9 */: // TODO + case 0x0810 /* SXViewEx9 */: case 0x0858 /* SXViewLink */: case 0x0859 /* PivotChartBits */: case 0x1048 /* SBaseRef */: case 0x08a5 /* TextPropsStream */: - - /* Chart Misc */ case 0x08c9 /* LnExt */: case 0x08ca /* MkrExt */: case 0x08cb /* CrtCoopt */: - - /* Query Table */ - case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0802 /* QsiSXTag */: + case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0805 /* TxtQry */: - - /* Filter */ case 0x009b /* FilterMode */: case 0x009e /* AutoFilter */: case 0x009d /* AutoFilterInfo */: case 0x087e /* AutoFilter12 */: case 0x0874 /* DropDownObjIds */: case 0x0090 /* Sort */: case 0x0895 /* SortData */: - - /* Drawing */ case 0x08a4 /* ShapePropsStream */: case 0x00ec /* MsoDrawing */: case 0x00eb /* MsoDrawingGroup*/: case 0x00ed /* MsoDrawingSelection */: - /* Pub Stuff */ case 0x0801 /* WebPub */: case 0x08c0 /* AutoWebPub */: - - /* Print Stuff */ case 0x089c /* HeaderFooter */: case 0x0866 /* HFPicture */: case 0x088b /* PLV */: case 0x001b /* HorizontalPageBreaks */: case 0x001a /* VerticalPageBreaks */: - /* Behavioral */ case 0x0040 /* Backup */: case 0x089b /* CompressPictures */: case 0x088c /* Compat12 */: - - /* Should not Happen */ case 0x003c /* 'Continue' */: case 0x087f /* 'ContinueFrt12' */: - - /* Future Records */ case 0x085a /* FrtFontList */: case 0x0851 /* 'FrtWrapper' */: - - /* BIFF5 records */ case 0x00ea /* TabIdConf */: case 0x103e /* Radar */: case 0x1040 /* RadarArea */: case 0x103d /* DropBar */: case 'Intl': case 'CoordList': case 'SerAuxErrBar': - - /* BIFF2-4 records */ case 0x0045 /* BIFF2FONTCLR */: case 0x001f /* BIFF2FMTCNT */: case 0x0032 /* BIFF2FONTXTRA */: case 0x0043 /* BIFF2XF */: case 0x0243 /* BIFF3XF */: case 0x0443 /* BIFF4XF */: case 0x0044 /* BIFF2XFINDEX */: case 0x0056 /* BIFF4FMTCNT */: case 0x0008 /* BIFF2ROW */: case 0x003e /* BIFF2WINDOW2 */: - - /* Miscellaneous */ - case 0x00af /* SCENARIO */: case 0x01b5 /* DConBin */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: + case 0x00af /* SCENARIO */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: case 0x01b9 /* Lel */: case 0x1061 /* BopPop */: case 0x1067 /* BopPopCustom */: case 0x0813 /* RealTimeData */: case 0x0095 /* LHNGraph */: case 0x009a /* FnGroupName */: case 0x00c2 /* AddMenu */: case 0x0098 /* LPr */: case 0x08c1 /* ListObj */: case 0x08c2 /* ListField */: @@ -19022,6 +19081,8 @@ function parse_xls_props(cfb, props, o) { function write_xls_props(wb, cfb) { var DSEntries = [], SEntries = [], CEntries = []; var i = 0, Keys; + var DocSummaryRE = evert_key(DocSummaryPIDDSI, "n"); + var SummaryRE = evert_key(SummaryPIDSI, "n"); if(wb.Props) { Keys = keys(wb.Props); // $FlowIgnore @@ -19034,7 +19095,7 @@ function write_xls_props(wb, cfb) { } var CEntries2 = []; for(i = 0; i < CEntries.length; ++i) { - if(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue; if(CEntries[i][1] == null) continue; CEntries2.push(CEntries[i]); } @@ -19161,7 +19222,7 @@ var XLSBRecordEnum = { 0x0030: { /* n:"BrtStyle" */ }, 0x0031: { /* n:"BrtCellMeta", */ f:parse_Int32LE }, 0x0032: { /* n:"BrtValueMeta" */ }, -0x0033: { /* n:"BrtMdb" */ }, +0x0033: { /* n:"BrtMdb" */ f:parse_BrtMdb }, 0x0034: { /* n:"BrtBeginFmd", */ T:1 }, 0x0035: { /* n:"BrtEndFmd", */ T:-1 }, 0x0036: { /* n:"BrtBeginMdx", */ T:1 }, @@ -19387,7 +19448,7 @@ var XLSBRecordEnum = { 0x014E: { /* n:"BrtBeginEsmdtinfo", */ T:1 }, 0x014F: { /* n:"BrtMdtinfo", */ f:parse_BrtMdtinfo }, 0x0150: { /* n:"BrtEndEsmdtinfo", */ T:-1 }, -0x0151: { /* n:"BrtBeginEsmdb", */ T:1 }, +0x0151: { /* n:"BrtBeginEsmdb", */ f:parse_BrtBeginEsmdb, T:1 }, 0x0152: { /* n:"BrtEndEsmdb", */ T:-1 }, 0x0153: { /* n:"BrtBeginEsfmd", */ T:1 }, 0x0154: { /* n:"BrtEndEsfmd", */ T:-1 }, @@ -20597,7 +20658,7 @@ function write_ws_biff8_hlinks(ba, ws) { delete ws['!links']; } -function write_ws_cols_biff8(ba, cols, ws) { +function write_ws_cols_biff8(ba, cols) { if(!cols) return; var cnt = 0; cols.forEach(function(col, idx) { @@ -20670,7 +20731,7 @@ function write_ws_biff8(idx, opts, wb) { write_biff_rec(ba, 0x0083 /* HCenter */, writebool(false)); write_biff_rec(ba, 0x0084 /* VCenter */, writebool(false)); /* ... */ - if(b8) write_ws_cols_biff8(ba, ws["!cols"], ws); + if(b8) write_ws_cols_biff8(ba, ws["!cols"]); /* ... */ write_biff_rec(ba, 0x200, write_Dimensions(range, opts)); /* ... */ @@ -20821,7 +20882,7 @@ function write_biff_buf(wb, opts) { if(!ws || !ws["!ref"]) continue; var range = decode_range(ws["!ref"]); if(range.e.c > 255) { // note: 255 is IV - if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); + if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); } } @@ -21934,674 +21995,591 @@ function write_ods(wb, opts) { return zip; } -var NUMBERS = !Object.defineProperty ? (void 0) :(function() { - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __markAsModule = function(target) { - return __defProp(target, "__esModule", { value: true }); - }; - var __export = function(target, all) { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); - }; - var __reExport = function(target, module, copyDefault, desc) { - if (module && typeof module === "object" || typeof module === "function") - for (var keys = __getOwnPropNames(module), i = 0, n = keys.length, key; i < n; i++) { - key = keys[i]; - if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) - __defProp(target, key, { get: function(k) { - return module[k]; - }.bind(null, key), enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); - } - return target; - }; - var __toCommonJS = /* @__PURE__ */ function(cache) { - return function(module, temp) { - return cache && cache.get(module) || (temp = __reExport(__markAsModule({}), module, 1), cache && cache.set(module, temp), temp); - }; - }(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); - - // 83_numbers.ts - var numbers_exports = {}; - __export(numbers_exports, { - parse_numbers: function() { - return numbers_default; - } +/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ +var u8_to_dataview = function(array) { + return new DataView(array.buffer, array.byteOffset, array.byteLength); +}; +var u8str = function(u8) { + return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); +}; +var u8concat = function(u8a) { + var len = u8a.reduce(function(acc, x) { + return acc + x.length; + }, 0); + var out = new Uint8Array(len); + var off = 0; + u8a.forEach(function(u8) { + out.set(u8, off); + off += u8.length; }); - - // src/util.ts - var u8_to_dataview = function(array) { - return new DataView(array.buffer, array.byteOffset, array.byteLength); - }; - var u8str = function(u8) { - return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); - }; - var u8concat = function(u8a) { - var len = u8a.reduce(function(acc, x) { - return acc + x.length; - }, 0); - var out = new Uint8Array(len); - var off = 0; - u8a.forEach(function(u8) { - out.set(u8, off); - off += u8.length; - }); - return out; - }; - var popcnt = function(x) { - x -= x >> 1 & 1431655765; - x = (x & 858993459) + (x >> 2 & 858993459); - return (x + (x >> 4) & 252645135) * 16843009 >>> 24; - }; - var readDecimal128LE = function(buf, offset) { - var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; - var mantissa = buf[offset + 14] & 1; - for (var j = offset + 13; j >= offset; --j) - mantissa = mantissa * 256 + buf[j]; - return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); - }; - - // src/proto.ts - function parse_varint49(buf, ptr) { - var l = ptr ? ptr[0] : 0; - var usz = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - usz |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 28); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 35); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 42); - ++l; - if (buf[l++] < 128) - break varint; - } - if (ptr) - ptr[0] = l; - return usz; - } - function varint_to_i32(buf) { - var l = 0, i32 = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - i32 |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 28; - } - return i32; - } - function parse_shallow(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var off = ptr[0]; - var num = parse_varint49(buf, ptr); - var type = num & 7; - num = Math.floor(num / 8); - var len = 0; - var res; - if (num == 0) - break; - switch (type) { - case 0: - { - var l = ptr[0]; - while (buf[ptr[0]++] >= 128) - ; - res = buf.slice(l, ptr[0]); - } - break; - case 5: - len = 4; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 1: - len = 8; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 2: - len = parse_varint49(buf, ptr); - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 3: - case 4: - default: - throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); - } - var v = { offset: off, data: res, type: type }; - if (out[num] == null) - out[num] = [v]; - else - out[num].push(v); + return out; +}; +var popcnt = function(x) { + x -= x >> 1 & 1431655765; + x = (x & 858993459) + (x >> 2 & 858993459); + return (x + (x >> 4) & 252645135) * 16843009 >>> 24; +}; +var readDecimal128LE = function(buf, offset) { + var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; + var mantissa = buf[offset + 14] & 1; + for (var j = offset + 13; j >= offset; --j) + mantissa = mantissa * 256 + buf[j]; + return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); +}; +function parse_varint49(buf, ptr) { + var l = ptr ? ptr[0] : 0; + var usz = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + usz |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 28); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 35); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 42); + ++l; + if (buf[l++] < 128) + break varint; } - return out; - } - function mappa(data, cb) { - if (!data) - return []; - return data.map(function(d) { - var _a; - try { - return cb(d.data); - } catch (e) { - var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); - if (m) - e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); - throw e; - } - }); - } - - // src/frame.ts - function deframe(buf) { - var out = []; - var l = 0; - while (l < buf.length) { - var t = buf[l++]; - var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; - l += 3; - out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); - l += len; + if (ptr) + ptr[0] = l; + return usz; +} +function varint_to_i32(buf) { + var l = 0, i32 = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 28; } - if (l !== buf.length) - throw new Error("data is not a valid framed stream!"); - return u8concat(out); - } - function parse_snappy_chunk(type, buf) { - if (type != 0) - throw new Error("Unexpected Snappy chunk type ".concat(type)); - var ptr = [0]; - var usz = parse_varint49(buf, ptr); - var chunks = []; - while (ptr[0] < buf.length) { - var tag = buf[ptr[0]] & 3; - if (tag == 0) { - var len = buf[ptr[0]++] >> 2; - if (len < 60) - ++len; - else { - var c = len - 59; - len = buf[ptr[0]]; - if (c > 1) - len |= buf[ptr[0] + 1] << 8; - if (c > 2) - len |= buf[ptr[0] + 2] << 16; - if (c > 3) - len |= buf[ptr[0] + 3] << 24; - len >>>= 0; - len++; - ptr[0] += c; + return i32; +} +function parse_shallow(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var off = ptr[0]; + var num = parse_varint49(buf, ptr); + var type = num & 7; + num = Math.floor(num / 8); + var len = 0; + var res; + if (num == 0) + break; + switch (type) { + case 0: + { + var l = ptr[0]; + while (buf[ptr[0]++] >= 128) + ; + res = buf.slice(l, ptr[0]); } - chunks.push(buf.slice(ptr[0], ptr[0] + len)); + break; + case 5: + len = 4; + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; + break; + case 1: + len = 8; + res = buf.slice(ptr[0], ptr[0] + len); ptr[0] += len; - continue; - } else { - var offset = 0, length = 0; - if (tag == 1) { - length = (buf[ptr[0]] >> 2 & 7) + 4; - offset = (buf[ptr[0]++] & 224) << 3; - offset |= buf[ptr[0]++]; - } else { - length = (buf[ptr[0]++] >> 2) + 1; - if (tag == 2) { - offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; - ptr[0] += 2; - } else { - offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; - ptr[0] += 4; - } - } - chunks = [u8concat(chunks)]; - if (offset == 0) - throw new Error("Invalid offset 0"); - if (offset > chunks[0].length) - throw new Error("Invalid offset beyond length"); - if (length >= offset) { - chunks.push(chunks[0].slice(-offset)); - length -= offset; - while (length >= chunks[chunks.length - 1].length) { - chunks.push(chunks[chunks.length - 1]); - length -= chunks[chunks.length - 1].length; - } - } - chunks.push(chunks[0].slice(-offset, -offset + length)); - } - } - var o = u8concat(chunks); - if (o.length != usz) - throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); - return o; - } - - // src/iwa.ts - function parse_iwa(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var len = parse_varint49(buf, ptr); - var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); - ptr[0] += len; - var res = { - id: varint_to_i32(ai[1][0].data), - messages: [] - }; - ai[2].forEach(function(b) { - var mi = parse_shallow(b.data); - var fl = varint_to_i32(mi[3][0].data); - res.messages.push({ - meta: mi, - data: buf.slice(ptr[0], ptr[0] + fl) - }); - ptr[0] += fl; - }); - out.push(res); - } - return out; - } - - // src/cell.ts - function parse_old_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[buf[0] == 4 ? 1 : 2]; - var flags = dv.getUint32(4, true); - var data_offset = 12 + popcnt(flags & 3470) * 4; - var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 512) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - data_offset += popcnt(flags & 12288) * 4; - if (flags & 16) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 32) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - var ret; - switch (ctype) { - case 0: break; case 2: - ret = { t: "n", v: ieee }; + len = parse_varint49(buf, ptr); + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else if (sidx > -1) - ret = { t: "s", v: sst[sidx] }; - else if (!isNaN(ieee)) - ret = { t: "n", v: ieee }; - else - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - break; - default: - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - return ret; - } - function parse_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[1]; - var flags = dv.getUint32(8, true); - var data_offset = 12; - var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 1) { - d128 = readDecimal128LE(buf, data_offset); - data_offset += 16; - } - if (flags & 2) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - if (flags & 8) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 16) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - var ret; - switch (ctype) { - case 0: - break; - case 2: - ret = { t: "n", v: d128 }; - break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - break; - case 10: - ret = { t: "n", v: d128 }; - break; - default: - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - return ret; - } - function parse(buf, sst, rsst) { - switch (buf[0]) { case 3: case 4: - return parse_old_storage(buf, sst, rsst); - case 5: - return parse_storage(buf, sst, rsst); default: - throw new Error("Unsupported payload version ".concat(buf[0])); + throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); } + var v = { offset: off, data: res, type: type }; + if (out[num] == null) + out[num] = [v]; + else + out[num].push(v); } - - // src/numbers.ts - var encode_col = function(C) { - var s = ""; - for (++C; C; C = Math.floor((C - 1) / 26)) - s = String.fromCharCode((C - 1) % 26 + 65) + s; - return s; - }; - var encode_cell = function(c) { - return "".concat(encode_col(c.c)).concat(c.r + 1); - }; - var encode_range = function(r) { - return encode_cell(r.s) + ":" + encode_cell(r.e); - }; - var book_new = function() { - return { Sheets: {}, SheetNames: [] }; - }; - var book_append_sheet = function(wb, ws, name) { - var i = 1; - if (!name) - for (; i < 9999; ++i) { - if (wb.SheetNames.indexOf(name = "Sheet ".concat(i)) == -1) - break; - } - else if (wb.SheetNames.indexOf(name) > -1) - for (; i < 9999; ++i) { - if (wb.SheetNames.indexOf("".concat(name, "_").concat(i)) == -1) { - name = "".concat(name, "_").concat(i); - break; - } - } - wb.SheetNames.push(name); - wb.Sheets[name] = ws; - }; - function parse_numbers(cfb) { - var out = []; - cfb.FullPaths.forEach(function(p) { - if (p.match(/\.iwpv2/)) - throw new Error("Unsupported password protection"); - }); - cfb.FileIndex.forEach(function(s) { - if (!s.name.match(/\.iwa$/)) - return; - var o; - try { - o = deframe(s.content); - } catch (e) { - return console.log("?? " + s.content.length + " " + (e.message || e)); - } - var packets; - try { - packets = parse_iwa(o); - } catch (e) { - return console.log("## " + (e.message || e)); - } - packets.forEach(function(packet) { - out[+packet.id] = packet.messages; - }); - }); - if (!out.length) - throw new Error("File has no messages"); - var docroot; - out.forEach(function(iwams) { - iwams.forEach(function(iwam) { - var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; - if (mtype == 1) { - if (!docroot) - docroot = iwam; - else - throw new Error("Document has multiple roots"); - } - }); - }); - if (!docroot) - throw new Error("Cannot find Document root"); - return parse_docroot(out, docroot); - } - var numbers_default = parse_numbers; - function parse_Reference(buf) { - var pb = parse_shallow(buf); - return parse_varint49(pb[1][0].data); - } - function parse_TST_TableDataList(M, root) { - var pb = parse_shallow(root.data); - var type = varint_to_i32(pb[1][0].data); - var entries = pb[3]; - var data = []; - (entries || []).forEach(function(entry) { - var le = parse_shallow(entry.data); - var key = varint_to_i32(le[1][0].data) >>> 0; - switch (type) { - case 1: - data[key] = u8str(le[3][0].data); - break; - case 8: - { - var rt = M[parse_Reference(le[9][0].data)][0]; - var rtp = parse_shallow(rt.data); - var rtpref = M[parse_Reference(rtp[1][0].data)][0]; - var mtype = varint_to_i32(rtpref.meta[1][0].data); - if (mtype != 2001) - throw new Error("2000 unexpected reference to ".concat(mtype)); - var tswpsa = parse_shallow(rtpref.data); - data[key] = tswpsa[3].map(function(x) { - return u8str(x.data); - }).join(""); - } - break; - } - }); - return data; - } - function parse_TST_TileRowInfo(u8) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; - var pb = parse_shallow(u8); - var R = varint_to_i32(pb[1][0].data) >>> 0; - var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; - var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); - var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; - var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); - var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; - var width = wide_offsets ? 4 : 1; - var cells = []; - var off = 0; - for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { - if (storage && storage_offsets) { - off = storage_offsets.getUint16(C * 2, true) * width; - if (off < storage.length) { - cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); - continue; - } - } - if (pre_bnc && pre_bnc_offsets) { - off = pre_bnc_offsets.getUint16(C * 2, true) * width; - if (off < pre_bnc.length) - cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); - } - } - return { R: R, cells: cells }; - } - function parse_TST_Tile(M, root) { - var pb = parse_shallow(root.data); - var ri = mappa(pb[5], parse_TST_TileRowInfo); - return ri.reduce(function(acc, x) { - if (!acc[x.R]) - acc[x.R] = []; - x.cells.forEach(function(cell, C) { - if (acc[x.R][C]) - throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); - acc[x.R][C] = cell; - }); - return acc; - }, []); - } - function parse_TST_TableModelArchive(M, root, ws) { + return out; +} +function mappa(data, cb) { + if (!data) + return []; + return data.map(function(d) { var _a; - var pb = parse_shallow(root.data); - var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; - range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; - if (range.e.r < 0) - throw new Error("Invalid row varint ".concat(pb[6][0].data)); - range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; - if (range.e.c < 0) - throw new Error("Invalid col varint ".concat(pb[7][0].data)); - ws["!ref"] = encode_range(range); - { - var store = parse_shallow(pb[4][0].data); - var sst = parse_TST_TableDataList(M, M[parse_Reference(store[4][0].data)][0]); - var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_Reference(store[17][0].data)][0]) : []; - { - var tile = parse_shallow(store[3][0].data); - var tiles = []; - tile[1].forEach(function(t) { - var tl = parse_shallow(t.data); - var ref = M[parse_Reference(tl[2][0].data)][0]; - var mtype = varint_to_i32(ref.meta[1][0].data); - if (mtype != 6002) - throw new Error("6001 unexpected reference to ".concat(mtype)); - tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); - }); - tiles.forEach(function(tile2) { - tile2.ref.forEach(function(row, R) { - row.forEach(function(buf, C) { - var addr = encode_cell({ r: R, c: C }); - var res = parse(buf, sst, rsst); - if (res) - ws[addr] = res; - }); - }); - }); - } + try { + return cb(d.data); + } catch (e) { + var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); + if (m) + e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); + throw e; } - } - function parse_TST_TableInfoArchive(M, root) { - var pb = parse_shallow(root.data); - var out = { "!ref": "A1" }; - var tableref = M[parse_Reference(pb[2][0].data)]; - var mtype = varint_to_i32(tableref[0].meta[1][0].data); - if (mtype != 6001) - throw new Error("6000 unexpected reference to ".concat(mtype)); - parse_TST_TableModelArchive(M, tableref[0], out); - return out; - } - function parse_sheetroot(M, root) { - var _a; - var pb = parse_shallow(root.data); - var out = { - name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", - sheets: [] + }); +} +function parse_iwa_file(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var len = parse_varint49(buf, ptr); + var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + var res = { + id: varint_to_i32(ai[1][0].data), + messages: [] }; - var shapeoffs = mappa(pb[2], parse_Reference); - shapeoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 6e3) - out.sheets.push(parse_TST_TableInfoArchive(M, m)); + ai[2].forEach(function(b) { + var mi = parse_shallow(b.data); + var fl = varint_to_i32(mi[3][0].data); + res.messages.push({ + meta: mi, + data: buf.slice(ptr[0], ptr[0] + fl) }); + ptr[0] += fl; }); - return out; + out.push(res); } - function parse_docroot(M, root) { - var out = book_new(); - var pb = parse_shallow(root.data); - var sheetoffs = mappa(pb[1], parse_Reference); - sheetoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 2) { - var root2 = parse_sheetroot(M, m); - root2.sheets.forEach(function(sheet) { - book_append_sheet(out, sheet, root2.name); - }); + return out; +} +function parse_snappy_chunk(type, buf) { + if (type != 0) + throw new Error("Unexpected Snappy chunk type ".concat(type)); + var ptr = [0]; + var usz = parse_varint49(buf, ptr); + var chunks = []; + while (ptr[0] < buf.length) { + var tag = buf[ptr[0]] & 3; + if (tag == 0) { + var len = buf[ptr[0]++] >> 2; + if (len < 60) + ++len; + else { + var c = len - 59; + len = buf[ptr[0]]; + if (c > 1) + len |= buf[ptr[0] + 1] << 8; + if (c > 2) + len |= buf[ptr[0] + 2] << 16; + if (c > 3) + len |= buf[ptr[0] + 3] << 24; + len >>>= 0; + len++; + ptr[0] += c; + } + chunks.push(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + continue; + } else { + var offset = 0, length = 0; + if (tag == 1) { + length = (buf[ptr[0]] >> 2 & 7) + 4; + offset = (buf[ptr[0]++] & 224) << 3; + offset |= buf[ptr[0]++]; + } else { + length = (buf[ptr[0]++] >> 2) + 1; + if (tag == 2) { + offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; + ptr[0] += 2; + } else { + offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; + ptr[0] += 4; } - }); - }); - if (out.SheetNames.length == 0) - throw new Error("Empty NUMBERS file"); - return out; + } + chunks = [u8concat(chunks)]; + if (offset == 0) + throw new Error("Invalid offset 0"); + if (offset > chunks[0].length) + throw new Error("Invalid offset beyond length"); + if (length >= offset) { + chunks.push(chunks[0].slice(-offset)); + length -= offset; + while (length >= chunks[chunks.length - 1].length) { + chunks.push(chunks[chunks.length - 1]); + length -= chunks[chunks.length - 1].length; + } + } + chunks.push(chunks[0].slice(-offset, -offset + length)); + } } - return __toCommonJS(numbers_exports); -})(); -/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ + var o = u8concat(chunks); + if (o.length != usz) + throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); + return o; +} +function deframe(buf) { + var out = []; + var l = 0; + while (l < buf.length) { + var t = buf[l++]; + var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; + l += 3; + out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); + l += len; + } + if (l !== buf.length) + throw new Error("data is not a valid framed stream!"); + return u8concat(out); +} +function parse_old_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[buf[0] == 4 ? 1 : 2]; + var flags = dv.getUint32(4, true); + var data_offset = 12 + popcnt(flags & 3470) * 4; + var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 512) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + data_offset += popcnt(flags & 12288) * 4; + if (flags & 16) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 32) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 64) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: ieee }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else if (sidx > -1) + ret = { t: "s", v: sst[sidx] }; + else if (!isNaN(ieee)) + ret = { t: "n", v: ieee }; + else + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + break; + default: + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + return ret; +} +function parse_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[1]; + var flags = dv.getUint32(8, true); + var data_offset = 12; + var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 1) { + d128 = readDecimal128LE(buf, data_offset); + data_offset += 16; + } + if (flags & 2) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 4) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + if (flags & 8) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 16) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: d128 }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + break; + case 10: + ret = { t: "n", v: d128 }; + break; + default: + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + return ret; +} +function parse_cell_storage(buf, sst, rsst) { + switch (buf[0]) { + case 3: + case 4: + return parse_old_storage(buf, sst, rsst); + case 5: + return parse_storage(buf, sst, rsst); + default: + throw new Error("Unsupported payload version ".concat(buf[0])); + } +} +function parse_TSP_Reference(buf) { + var pb = parse_shallow(buf); + return parse_varint49(pb[1][0].data); +} +function parse_TST_TableDataList(M, root) { + var pb = parse_shallow(root.data); + var type = varint_to_i32(pb[1][0].data); + var entries = pb[3]; + var data = []; + (entries || []).forEach(function(entry) { + var le = parse_shallow(entry.data); + var key = varint_to_i32(le[1][0].data) >>> 0; + switch (type) { + case 1: + data[key] = u8str(le[3][0].data); + break; + case 8: + { + var rt = M[parse_TSP_Reference(le[9][0].data)][0]; + var rtp = parse_shallow(rt.data); + var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0]; + var mtype = varint_to_i32(rtpref.meta[1][0].data); + if (mtype != 2001) + throw new Error("2000 unexpected reference to ".concat(mtype)); + var tswpsa = parse_shallow(rtpref.data); + data[key] = tswpsa[3].map(function(x) { + return u8str(x.data); + }).join(""); + } + break; + } + }); + return data; +} +function parse_TST_TileRowInfo(u8) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var pb = parse_shallow(u8); + var R = varint_to_i32(pb[1][0].data) >>> 0; + var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; + var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); + var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; + var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); + var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; + var width = wide_offsets ? 4 : 1; + var cells = []; + var off = 0; + for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { + if (storage && storage_offsets) { + off = storage_offsets.getUint16(C * 2, true) * width; + if (off < storage.length) { + cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); + continue; + } + } + if (pre_bnc && pre_bnc_offsets) { + off = pre_bnc_offsets.getUint16(C * 2, true) * width; + if (off < pre_bnc.length) + cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); + } + } + return { R: R, cells: cells }; +} +function parse_TST_Tile(M, root) { + var pb = parse_shallow(root.data); + var ri = mappa(pb[5], parse_TST_TileRowInfo); + return ri.reduce(function(acc, x) { + if (!acc[x.R]) + acc[x.R] = []; + x.cells.forEach(function(cell, C) { + if (acc[x.R][C]) + throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); + acc[x.R][C] = cell; + }); + return acc; + }, []); +} +function parse_TST_TableModelArchive(M, root, ws) { + var _a; + var pb = parse_shallow(root.data); + var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; + range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; + if (range.e.r < 0) + throw new Error("Invalid row varint ".concat(pb[6][0].data)); + range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; + if (range.e.c < 0) + throw new Error("Invalid col varint ".concat(pb[7][0].data)); + ws["!ref"] = encode_range(range); + { + var store = parse_shallow(pb[4][0].data); + var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); + var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : []; + { + var tile = parse_shallow(store[3][0].data); + var tiles = []; + tile[1].forEach(function(t) { + var tl = parse_shallow(t.data); + var ref = M[parse_TSP_Reference(tl[2][0].data)][0]; + var mtype = varint_to_i32(ref.meta[1][0].data); + if (mtype != 6002) + throw new Error("6001 unexpected reference to ".concat(mtype)); + tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); + }); + tiles.forEach(function(tile2) { + tile2.ref.forEach(function(row, R) { + row.forEach(function(buf, C) { + var addr = encode_cell({ r: R, c: C }); + var res = parse_cell_storage(buf, sst, rsst); + if (res) + ws[addr] = res; + }); + }); + }); + } + } +} +function parse_TST_TableInfoArchive(M, root) { + var pb = parse_shallow(root.data); + var out = { "!ref": "A1" }; + var tableref = M[parse_TSP_Reference(pb[2][0].data)]; + var mtype = varint_to_i32(tableref[0].meta[1][0].data); + if (mtype != 6001) + throw new Error("6000 unexpected reference to ".concat(mtype)); + parse_TST_TableModelArchive(M, tableref[0], out); + return out; +} +function parse_TN_SheetArchive(M, root) { + var _a; + var pb = parse_shallow(root.data); + var out = { + name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", + sheets: [] + }; + var shapeoffs = mappa(pb[2], parse_TSP_Reference); + shapeoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 6e3) + out.sheets.push(parse_TST_TableInfoArchive(M, m)); + }); + }); + return out; +} +function parse_TN_DocumentArchive(M, root) { + var out = book_new(); + var pb = parse_shallow(root.data); + var sheetoffs = mappa(pb[1], parse_TSP_Reference); + sheetoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 2) { + var root2 = parse_TN_SheetArchive(M, m); + root2.sheets.forEach(function(sheet) { + book_append_sheet(out, sheet, root2.name); + }); + } + }); + }); + if (out.SheetNames.length == 0) + throw new Error("Empty NUMBERS file"); + return out; +} +function parse_numbers_iwa(cfb) { + var out = []; + cfb.FullPaths.forEach(function(p) { + if (p.match(/\.iwpv2/)) + throw new Error("Unsupported password protection"); + }); + cfb.FileIndex.forEach(function(s) { + if (!s.name.match(/\.iwa$/)) + return; + var o; + try { + o = deframe(s.content); + } catch (e) { + return console.log("?? " + s.content.length + " " + (e.message || e)); + } + var packets; + try { + packets = parse_iwa_file(o); + } catch (e) { + return console.log("## " + (e.message || e)); + } + packets.forEach(function(packet) { + out[+packet.id] = packet.messages; + }); + }); + if (!out.length) + throw new Error("File has no messages"); + var docroot; + out.forEach(function(iwams) { + iwams.forEach(function(iwam) { + var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; + if (mtype == 1) { + if (!docroot) + docroot = iwam; + else + throw new Error("Document has multiple roots"); + } + }); + }); + if (!docroot) + throw new Error("Cannot find Document root"); + return parse_TN_DocumentArchive(out, docroot); +} function fix_opts_func(defaults) { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { @@ -22612,7 +22590,7 @@ function fix_opts_func(defaults) { }; } -var fix_read_opts = function(opts) { +function fix_read_opts(opts) { fix_opts_func([ ['cellNF', false], /* emit cell number format string as .z */ ['cellHTML', true], /* emit html string as .h */ @@ -22633,9 +22611,10 @@ fix_opts_func([ ['password',''], /* password */ ['WTF', false] /* WTF mode (throws errors) */ ])(opts); -}; +} -var fix_write_opts = fix_opts_func([ +function fix_write_opts(opts) { +fix_opts_func([ ['cellDates', false], /* write date cells with type `d` */ ['bookSST', false], /* Generate Shared String Table */ @@ -22645,7 +22624,8 @@ var fix_write_opts = fix_opts_func([ ['compression', false], /* Use file compression */ ['WTF', false] /* WTF mode (throws errors) */ -]); +])(opts); +} function get_sheet_type(n) { if(RELS.WS.indexOf(n) > -1) return "sheet"; if(RELS.CS && n == RELS.CS) return "chart"; @@ -22683,16 +22663,22 @@ function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, st } sheets[sheet] = _ws; - /* scan rels for comments */ - var comments = []; + /* scan rels for comments and threaded comments */ + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { + var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { - var dfile = resolve_path(sheetRels[sheet][n].Target, path); - comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); + dfile = resolve_path(sheetRels[sheet][n].Target, path); + var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments); + sheet_insert_comments(_ws, comments, false); + } + if(sheetRels[sheet][n].Type == RELS.TCMNT) { + dfile = resolve_path(sheetRels[sheet][n].Target, path); + tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); } }); + if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); } catch(e) { if(opts.WTF) throw e; } } @@ -22710,11 +22696,11 @@ function parse_zip(zip, opts) { /* Numbers */ if(safegetzipfile(zip, 'Index/Document.iwa')) { if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof NUMBERS != "undefined") { - if(zip.FileIndex) return NUMBERS.parse_numbers(zip); + if(typeof parse_numbers_iwa != "undefined") { + if(zip.FileIndex) return parse_numbers_iwa(zip); var _zip = CFB.utils.cfb_new(); zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return NUMBERS.parse_numbers(_zip); + return parse_numbers_iwa(_zip); } throw new Error('Unsupported NUMBERS file'); } @@ -22816,8 +22802,11 @@ function parse_zip(zip, opts) { opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); } - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); + if((dir.people || []).length >= 1) { + opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); + } + if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; @@ -22928,9 +22917,14 @@ if(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std7 function write_zip(wb, opts) { if(opts.bookType == "ods") return write_ods(wb, opts); - return write_zip_xlsxb(wb, opts); + if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); + return write_zip_xlsx(wb, opts); } +/* XLSX and XLSB writing are very similar. Originally they were unified in one + export function. This is horrible for tree shaking in the common case (most + applications need to export files in one format) so this function supports + both formats while write_zip_xlsx only handles XLSX */ function write_zip_xlsxb(wb, opts) { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23001,8 +22995,9 @@ f = "docProps/app.xml"; if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23064,7 +23059,6 @@ f = "docProps/app.xml"; return zip; } -/* this version does not reference XLSB write functions */ function write_zip_xlsx(wb, opts) { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23118,6 +23112,9 @@ f = "docProps/app.xml"; add_rels(opts.rels, 4, f, RELS.CUST_PROPS); } + var people = ["SheetJ5"]; + opts.tcid = 0; + for(rId=1;rId <= wb.SheetNames.length; ++rId) { var wsrels = {'!id':{}}; var ws = wb.Sheets[wb.SheetNames[rId-1]]; @@ -23135,8 +23132,20 @@ f = "docProps/app.xml"; if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + var needtc = false; + comments.forEach(function(carr) { + carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); + }); + if(needtc) { + cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); + } + + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23190,6 +23199,13 @@ f = "docProps/app.xml"; ct.metadata.push(f); add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); + if(people.length > 1) { + f = "xl/persons/person.xml"; + zip_add_file(zip, f, write_people_xml(people, opts)); + ct.people.push(f); + add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); + } + zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); diff --git a/xlsx.mini.flow.js b/xlsx.mini.flow.js index af4a620..1ce3ac3 100644 --- a/xlsx.mini.flow.js +++ b/xlsx.mini.flow.js @@ -1,14 +1,13 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */ +/*global exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; var current_codepage = 1200, current_ansi = 1252; -var VALID_ANSI = [ 874, 932, 936, 949, 950, 10000 ]; -for(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i); +var VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ]; /* ECMA-376 Part I 18.4.1 charset to codepage mapping */ var CS2CP = ({ /*::[*/0/*::]*/: 1252, /* ANSI */ @@ -240,7 +239,7 @@ type WriteObjStrFactory = {from_sheet(ws:Worksheet, o:any, wb:?Workbook):string} /* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W041 */ var SSF/*:SSFModule*/ = ({}/*:any*/); -var make_ssf = function make_ssf(SSF/*:SSFModule*/){ +function make_ssf(SSF/*:SSFModule*/){ SSF.version = '0.11.2'; function _strrev(x/*:string*/)/*:string*/ { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; } @@ -348,25 +347,36 @@ for(defi = 79; defi <= 81; ++defi) default_map[defi] = defi - 34; // 82 -> 0 ... 65536 -> 0 (omitted) /* These formats technically refer to Accounting formats with no equivalent */ -var default_str/*:Array*/ = []; +var default_str = { + // 5 -- Currency, 0 decimal, black negative + 5: '"$"#,##0_);\\("$"#,##0\\)', + 63: '"$"#,##0_);\\("$"#,##0\\)', -// 5 -- Currency, 0 decimal, black negative -default_str[5] = default_str[63] = '"$"#,##0_);\\("$"#,##0\\)'; -// 6 -- Currency, 0 decimal, red negative -default_str[6] = default_str[64] = '"$"#,##0_);[Red]\\("$"#,##0\\)'; -// 7 -- Currency, 2 decimal, black negative -default_str[7] = default_str[65] = '"$"#,##0.00_);\\("$"#,##0.00\\)'; -// 8 -- Currency, 2 decimal, red negative -default_str[8] = default_str[66] = '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)'; + // 6 -- Currency, 0 decimal, red negative + 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', + 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', + + // 7 -- Currency, 2 decimal, black negative + 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', + 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', + + // 8 -- Currency, 2 decimal, red negative + 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + + // 41 -- Accounting, 0 decimal, No Symbol + 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', + + // 42 -- Accounting, 0 decimal, $ Symbol + 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', + + // 43 -- Accounting, 2 decimal, No Symbol + 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', + + // 44 -- Accounting, 2 decimal, $ Symbol + 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' +}; -// 41 -- Accounting, 0 decimal, No Symbol -default_str[41] = '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)'; -// 42 -- Accounting, 0 decimal, $ Symbol -default_str[42] = '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)'; -// 43 -- Accounting, 2 decimal, No Symbol -default_str[43] = '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)'; -// 44 -- Accounting, 2 decimal, $ Symbol -default_str[44] = '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'; function frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ { var sgn = x < 0 ? -1 : 1; var B = x * sgn; @@ -1211,7 +1221,7 @@ SSF.load_table = function load_table(tbl/*:SSFTable*/)/*:void*/ { }; SSF.init_table = init_table; SSF.format = format; -}; +} make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap/*{[string]:string}*/ = ({ @@ -1300,7 +1310,6 @@ function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/ return datestr + "T" + timestr; } -var DO_NOT_EXPORT_CFB = true; /*:: declare var Base64:any; declare var ReadShift:any; @@ -1324,10 +1333,9 @@ declare var Buffer_from:any; /* vim: set ts=2: */ /*jshint eqnull:true */ /*exported CFB */ -/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */ +/*global Uint8Array:false, Uint16Array:false */ /*:: -declare var DO_NOT_EXPORT_CFB:?boolean; type SectorEntry = { name?:string; nodes?:Array; @@ -1344,14 +1352,8 @@ type CFBFiles = {[n:string]:CFBEntry}; /* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported CRC32 */ -var CRC32; -(function (factory) { - /*jshint ignore:start */ - /*eslint-disable */ - factory(CRC32 = {}); - /*eslint-enable */ - /*jshint ignore:end */ -}(function(CRC32) { +var CRC32 = /*#__PURE__*/(function() { +var CRC32 = {}; CRC32.version = '1.2.0'; /* see perf/crc32table.js */ /*global Int32Array */ @@ -1439,9 +1441,10 @@ CRC32.table = T0; CRC32.bstr = crc32_bstr; CRC32.buf = crc32_buf; CRC32.str = crc32_str; -})); +return CRC32; +})(); /* [MS-CFB] v20171201 */ -var CFB = (function _CFB(){ +var CFB = /*#__PURE__*/(function _CFB(){ var exports/*:CFBModule*/ = /*::(*/{}/*:: :any)*/; exports.version = '1.2.1'; /* [MS-CFB] 2.6.4 */ @@ -2374,7 +2377,7 @@ if(!use_typed_arrays) { for(; i<=279; i++) clens.push(7); for(; i<=287; i++) clens.push(8); build_tree(clens, fix_lmap, 288); -})();var _deflateRaw = (function _deflateRawIIFE() { +})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() { var DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : []; var j = 0, k = 0; for(; j < DST_LN.length - 1; ++j) { @@ -3151,7 +3154,6 @@ exports.utils = { return exports; })(); -if(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; } var _fs; if(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {} @@ -3355,8 +3357,7 @@ function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length /* TODO: stress test */ function fuzzynum(s/*:string*/)/*:number*/ { var v/*:number*/ = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); @@ -3541,7 +3542,7 @@ var rencoding = evert(encodings); //var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) -var unescapexml/*:StringConv*/ = (function() { +var unescapexml/*:StringConv*/ = /*#__PURE__*/(function() { /* 22.4.2.4 bstr (Basic String) */ var encregex = /&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/ig, coderegex = /_x([\da-fA-F]{4})_/ig; return function unescapexml(text/*:string*/)/*:string*/ { @@ -3571,14 +3572,12 @@ function escapexlml(text/*:string*/)/*:string*/{ } /* TODO: handle codepages */ -var xlml_fixstr/*:StringConv*/ = (function() { +var xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() { var entregex = /&#(\d+);/g; function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; })(); -var xlml_unfixstr/*:StringConv*/ = (function() { - return function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; -})(); +function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value/*:any*/)/*:boolean*/ { switch(value) { @@ -3657,7 +3656,7 @@ if(has_buf) { } // matches ... extracts content -var matchtag = (function() { +var matchtag = /*#__PURE__*/(function() { var mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/); return function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ { var t = f+"|"+(g||""); @@ -3666,7 +3665,7 @@ var matchtag = (function() { }; })(); -var htmldecode/*:{(s:string):string}*/ = (function() { +var htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() { var entities/*:Array<[RegExp, string]>*/ = [ ['nbsp', ' '], ['middot', '·'], ['quot', '"'], ['apos', "'"], ['gt', '>'], ['lt', '<'], ['amp', '&'] @@ -3690,7 +3689,7 @@ var htmldecode/*:{(s:string):string}*/ = (function() { }; })(); -var vtregex = (function(){ var vt_cache = {}; +var vtregex = /*#__PURE__*/(function(){ var vt_cache = {}; return function vt_regex(bt) { if(vt_cache[bt] !== undefined) return vt_cache[bt]; return (vt_cache[bt] = new RegExp("<(?:vt:)?" + bt + ">([\\s\\S]*?)", 'g') ); @@ -3745,6 +3744,12 @@ var xlmlregex = /<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/mg; //var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; var XMLNS = ({ + CORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties', + CUST_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties", + EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", + CT: 'http://schemas.openxmlformats.org/package/2006/content-types', + RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', + TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -3756,7 +3761,7 @@ var XMLNS = ({ 'xsd': 'http://www.w3.org/2001/XMLSchema' }/*:any*/); -XMLNS.main = [ +var XMLNS_main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', 'http://purl.oclc.org/ooxml/spreadsheetml/main', 'http://schemas.microsoft.com/office/excel/2006/main', @@ -3838,15 +3843,15 @@ if(has_buf/*:: && typeof Buffer !== 'undefined'*/) { /* from js-xls */ function cpdoit() { - __utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; - __utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return cptable.utils.decode(65001, b.slice(s,e)); }; - __lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; - __cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; - __lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; - __lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; - __8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; + __utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; + __utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); }; + __lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; + __cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; + __lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; + __lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; + __8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; } -if(typeof cptable !== 'undefined') cpdoit(); +if(typeof $cptable !== 'undefined') cpdoit(); var __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; }; var __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; }; @@ -3869,7 +3874,7 @@ function ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ { case 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break; case 'wstr': - if(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); + if(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); else return ReadShift.call(this, size, 'dbcs'); size = 2 * size; break; @@ -3904,8 +3909,8 @@ function ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ { } o = oo.join(""); size *= 2; break; case 'cpstr': - if(typeof cptable !== 'undefined') { - o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); + if(typeof $cptable !== 'undefined') { + o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); break; } /* falls through */ @@ -3951,11 +3956,11 @@ function WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; } else if(f === 'sbcs') { - if(typeof cptable !== 'undefined' && current_ansi == 874) { + if(typeof $cptable !== 'undefined' && current_ansi == 874) { /* TODO: use tables directly, don't encode */ /*:: if(typeof val !== "string") throw new Error("unreachable"); */ for(i = 0; i != val.length; ++i) { - var cppayload = cptable.utils.encode(current_ansi, val.charAt(i)); + var cppayload = $cptable.utils.encode(current_ansi, val.charAt(i)); this[this.l + i] = cppayload[0]; } } else { @@ -4030,7 +4035,7 @@ function recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) { tgt = data.l + length; var d = R.f && R.f(data, length, opts); data.l = tgt; - if(cb(d, R.n, RT)) return; + if(cb(d, R, RT)) return; } } @@ -4068,9 +4073,8 @@ function buf_array()/*:BufArray*/ { return ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/); } -function write_record(ba/*:BufArray*/, type/*:string*/, payload, length/*:?number*/) { - if(!XLSBRE) make_XLSBRE(); - var t/*:number*/ = +XLSBRE[type], l; +function write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) { + var t/*:number*/ = +type, l; if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/; @@ -4405,9 +4409,6 @@ var SummaryPIDSI = { /*::[*/0x72627262/*::]*/: {} }; -var DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, "n"); -var SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, "n"); - /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { /*::[*/0x0001/*::]*/: "US", // United States @@ -4603,14 +4604,38 @@ var RBErr = evert_num(BErr); var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", + "application/vnd.ms-excel.addin.macroEnabled.main+xml": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "workbooks", /* Worksheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", + "application/vnd.ms-excel.worksheet": "sheets", "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ + /* Chartsheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "charts", + "application/vnd.ms-excel.chartsheet": "charts", + /* Macrosheet */ + "application/vnd.ms-excel.macrosheet+xml": "macros", + "application/vnd.ms-excel.macrosheet": "macros", "application/vnd.ms-excel.intlmacrosheet": "TODO", "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ + /* Dialogsheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "dialogs", + "application/vnd.ms-excel.dialogsheet": "dialogs", + + /* Shared Strings */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", + "application/vnd.ms-excel.sharedStrings": "strs", + + /* Styles */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", + "application/vnd.ms-excel.styles": "styles", + /* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", @@ -4620,6 +4645,16 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO", + /* Comments */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", + "application/vnd.ms-excel.comments": "comments", + "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", + "application/vnd.ms-excel.person+xml": "people", + + /* Metadata (Stock/Geography and Dynamic Array) */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", + "application/vnd.ms-excel.sheetMetadata": "metadata", + /* PivotTable */ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", @@ -4658,10 +4693,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", @@ -4744,8 +4775,7 @@ var ct2type/*{[string]:string}*/ = ({ "sheet": "js" }/*:any*/); -var CT_LIST = (function(){ - var o = { +var CT_LIST = { workbooks: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", xlsm: "application/vnd.ms-excel.sheet.macroEnabled.main+xml", @@ -4785,22 +4815,14 @@ var CT_LIST = (function(){ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", xlsb: "application/vnd.ms-excel.styles" } - }; - keys(o).forEach(function(k) { ["xlsm", "xlam"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); }); - keys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); }); - return o; -})(); - -var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); - -XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; +}; function new_ct()/*:any*/ { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], links:[], + rels:[], strs:[], comments:[], threadedcomments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], + calcchains:[], vba: [], drawings: [], metadata: [], people:[], TODO:[], xmlns: "" }/*:any*/); } @@ -4834,30 +4856,30 @@ var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns:xsi': XMLNS.xsi }); -var CTYPE_DEFAULTS = [ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', type2ct.rels[0]] -].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); -}); - function write_ct(ct, opts)/*:string*/ { + var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); + var o/*:Array*/ = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); - o = o.concat(CTYPE_DEFAULTS); + o = o.concat([ + ['xml', 'application/xml'], + ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], + ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], + ['data', 'application/vnd.openxmlformats-officedocument.model+data'], + /* from test files */ + ['bmp', 'image/bmp'], + ['png', 'image/png'], + ['gif', 'image/gif'], + ['emf', 'image/x-emf'], + ['wmf', 'image/x-wmf'], + ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], + ['tif', 'image/tiff'], ['tiff', 'image/tiff'], + ['pdf', 'application/pdf'], + ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] + ].map(function(x) { + return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); + })); /* only write first instance */ var f1 = function(w) { @@ -4865,7 +4887,7 @@ function write_ct(ct, opts)/*:string*/ { v = ct[w][0]; o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] + 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] })); } }; @@ -4875,7 +4897,7 @@ function write_ct(ct, opts)/*:string*/ { (ct[w]||[]).forEach(function(v) { o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] + 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] })); }); }; @@ -4898,8 +4920,10 @@ function write_ct(ct, opts)/*:string*/ { ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); + f3('threadedcomments'); f3('drawings'); f2('metadata'); + f3('people'); if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } @@ -4914,9 +4938,31 @@ var RELS = ({ XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", + CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", + EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", + STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", + WS: [ + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", + "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" + ], + DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", + MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", + IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", + DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", + XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", + TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", + PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" }/*:any*/); + /* 9.3.3 Representing Relationships */ function get_rels_path(file/*:string*/)/*:string*/ { var n = file.lastIndexOf("/"); @@ -4945,7 +4991,6 @@ function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { return rels; } -XMLNS.RELS = 'http://schemas.openxmlformats.org/package/2006/relationships'; var RELS_ROOT = writextag('Relationships', null, { //'xmlns:ns0': XMLNS.RELS, @@ -5037,12 +5082,9 @@ function write_rdf(rdf) { return o.join(""); } /* TODO: pull properties */ -var write_meta_ods/*:{(wb:Workbook, opts:any):string}*/ = (function() { - var payload = 'Sheet' + 'JS ' + XLSX.version + ''; - return function wmo(/*:: wb: Workbook, opts: any*/)/*:string*/ { - return payload; - }; -})(); +function write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ { + return 'Sheet' + 'JS ' + XLSX.version + ''; +} /* ECMA-376 Part II 11.1 Core Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ @@ -5064,10 +5106,7 @@ var CORE_PROPS/*:Array >*/ = [ ["dcterms:modified", "ModifiedDate", 'date'] ]; -XMLNS.CORE_PROPS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"; -RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; - -var CORE_PROPS_REGEX/*:Array*/ = (function() { +var CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { var f = CORE_PROPS[i]; @@ -5090,15 +5129,6 @@ function parse_core_props(data) { return p; } -var CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi -}); - function cp_doit(f, g, h, o, p) { if(p[f] != null || g == null || g === "") return; p[f] = g; @@ -5108,7 +5138,14 @@ function cp_doit(f, g, h, o, p) { function write_core_props(cp, _opts) { var opts = _opts || {}; - var o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {}; + var o = [XML_HEADER, writextag('cp:coreProperties', null, { + //'xmlns': XMLNS.CORE_PROPS, + 'xmlns:cp': XMLNS.CORE_PROPS, + 'xmlns:dc': XMLNS.dc, + 'xmlns:dcterms': XMLNS.dcterms, + 'xmlns:dcmitype': XMLNS.dcmitype, + 'xmlns:xsi': XMLNS.xsi + })], p = {}; if(!cp && !opts.Props) return o.join(""); if(cp) { @@ -5143,9 +5180,6 @@ var EXT_PROPS/*:Array >*/ = [ ["TitlesOfParts", "TitlesOfParts", "raw"] ]; -XMLNS.EXT_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"; -RELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'; - var PseudoPropsPairs = [ "Worksheets", "SheetNames", "NamedRanges", "DefinedNames", @@ -5219,17 +5253,15 @@ function parse_ext_props(data, p, opts) { return p; } -var EXT_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_ext_props(cp/*::, opts*/)/*:string*/ { var o/*:Array*/ = [], W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; o[o.length] = (XML_HEADER); - o[o.length] = (EXT_PROPS_XML_ROOT); + o[o.length] = (writextag('Properties', null, { + 'xmlns': XMLNS.EXT_PROPS, + 'xmlns:vt': XMLNS.vt + })); EXT_PROPS.forEach(function(f) { if(cp[f[1]] === undefined) return; @@ -5248,9 +5280,6 @@ function write_ext_props(cp/*::, opts*/)/*:string*/ { return o.join(""); } /* 15.2.12.2 Custom File Properties Part */ -XMLNS.CUST_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"; -RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; - var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data/*:string*/, opts) { var p = {}, name = ""; @@ -5296,13 +5325,11 @@ function parse_cust_props(data/*:string*/, opts) { return p; } -var CUST_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.CUST_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_cust_props(cp/*::, opts*/)/*:string*/ { - var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; + var o = [XML_HEADER, writextag('Properties', null, { + 'xmlns': XMLNS.CUST_PROPS, + 'xmlns:vt': XMLNS.vt + })]; if(!cp) return o.join(""); var pid = 1; keys(cp).forEach(function custprop(k) { ++pid; @@ -5316,7 +5343,8 @@ function write_cust_props(cp/*::, opts*/)/*:string*/ { return o.join(""); } /* from js-harb (C) 2014-present SheetJS */ -var DBF = (function() { +var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; +var DBF = /*#__PURE__*/(function() { var dbf_codepage_map = { /* Code Pages Supported by Visual FoxPro */ /*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850, @@ -5374,7 +5402,6 @@ var dbf_reverse_map = evert({ /*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253, /*::[*/0x00/*::]*/: 20127 }); -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; /* TODO: find an actual specification */ function dbf_to_aoa(buf, opts)/*:AOA*/ { var out/*:AOA*/ = []; @@ -5436,7 +5463,7 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { var ww = l7 ? 32 : 11; while(d.l < hend && d[d.l] != 0x0d) { field = ({}/*:any*/); - field.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); + field.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); d.l += ww; field.type = String.fromCharCode(d.read_shift(1)); if(ft != 0x02 && !l7) field.offset = d.read_shift(4); @@ -5490,7 +5517,7 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { for(C = 0; C != fields.length; ++C) { var dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len; prep_blob(dd, 0); - var s = cptable.utils.decode(current_cp, dd); + var s = $cptable.utils.decode(current_cp, dd); switch(fields[C].type) { case 'C': // NOTE: it is conventional to write ' / / ' for empty dates @@ -5521,7 +5548,7 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break; case 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break; - case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break; + case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break; case 'O': out[R][C] = -dd.read_shift(-8, 'f'); break; case 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; } /* falls through */ @@ -5535,13 +5562,20 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { } if(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error("DBF EOF Marker missing " + (d.l-1) + " of " + d.length + " " + d[d.l-1].toString(16)); if(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows); + opts.DBF = fields; return out; } function dbf_to_sheet(buf, opts)/*:Worksheet*/ { var o = opts || {}; if(!o.dateNF) o.dateNF = "yyyymmdd"; - return aoa_to_sheet(dbf_to_aoa(buf, o), o); + var ws = aoa_to_sheet(dbf_to_aoa(buf, o), o); + ws["!cols"] = o.DBF.map(function(field) { return { + wch: field.len, + DBF: field + };}); + delete o.DBF; + return ws; } function dbf_to_workbook(buf, opts)/*:Workbook*/ { @@ -5557,10 +5591,11 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { if(o.type == "string") throw new Error("Cannot write DBF to JS string"); var ba = buf_array(); var aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true}); - var headers = aoa[0], data = aoa.slice(1); + var headers = aoa[0], data = aoa.slice(1), cols = ws["!cols"] || []; var i = 0, j = 0, hcnt = 0, rlen = 1; for(i = 0; i < headers.length; ++i) { - if(i == null) continue; + if(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; } + if(headers[i] == null) continue; ++hcnt; if(typeof headers[i] === 'number') headers[i] = headers[i].toString(10); if(typeof headers[i] !== 'string') throw new Error("DBF Invalid column name " + headers[i] + " |" + (typeof headers[i]) + "|"); @@ -5569,13 +5604,15 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { } var range = safe_decode_range(ws['!ref']); var coltypes/*:Array*/ = []; + var colwidths/*:Array*/ = []; + var coldecimals/*:Array*/ = []; for(i = 0; i <= range.e.c - range.s.c; ++i) { + var guess = '', _guess = '', maxlen = 0; var col/*:Array*/ = []; for(j=0; j < data.length; ++j) { if(data[j][i] != null) col.push(data[j][i]); } if(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; } - var guess = '', _guess = ''; for(j = 0; j < col.length; ++j) { switch(typeof col[j]) { /* TODO: check if L2 compat is desired */ @@ -5585,10 +5622,23 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { case 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break; default: _guess = 'C'; } + maxlen = Math.max(maxlen, String(col[j]).length); guess = guess && guess != _guess ? 'C' : _guess; - if(guess == 'C') break; + //if(guess == 'C') break; } - rlen += _RLEN[guess] || 0; + if(maxlen > 250) maxlen = 250; + _guess = ((cols[i]||{}).DBF||{}).type; + /* TODO: more fine grained control over DBF type resolution */ + if(_guess == 'C') { + if(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len; + } + if(guess == 'B' && _guess == 'N') { + guess = 'N'; + coldecimals[i] = cols[i].DBF.dec; + maxlen = cols[i].DBF.len; + } + colwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0); + rlen += colwidths[i]; coltypes[i] = guess; } @@ -5607,14 +5657,14 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { hf.write_shift(1, _f, "sbcs"); hf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], "sbcs"); hf.write_shift(4, j); - hf.write_shift(1, _RLEN[coltypes[i]] || 0); - hf.write_shift(1, 0); + hf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0); + hf.write_shift(1, coldecimals[i] || 0); hf.write_shift(1, 0x02); hf.write_shift(4, 0); hf.write_shift(1, 0); hf.write_shift(4, 0); hf.write_shift(4, 0); - j += _RLEN[coltypes[i]] || 0; + j += (colwidths[i] || _RLEN[coltypes[i]] || 0); } var hb = ba.next(264); @@ -5628,6 +5678,12 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { switch(coltypes[j]) { case 'L': rout.write_shift(1, data[i][j] == null ? 0x3F : data[i][j] ? 0x54 : 0x46); break; case 'B': rout.write_shift(8, data[i][j]||0, 'f'); break; + case 'N': + var _n = "0"; + if(typeof data[i][j] == "number") _n = data[i][j].toFixed(coldecimals[j]||0); + for(hcnt=0; hcnt < colwidths[j]-_n.length; ++hcnt) rout.write_shift(1, 0x20); + rout.write_shift(1, _n, "sbcs"); + break; case 'D': if(!data[i][j]) rout.write_shift(8, "00000000", "sbcs"); else { @@ -5636,9 +5692,9 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { rout.write_shift(2, ("00"+data[i][j].getDate()).slice(-2), "sbcs"); } break; case 'C': - var _s = String(data[i][j]||""); + var _s = String(data[i][j] != null ? data[i][j] : "").slice(0, colwidths[j]); rout.write_shift(1, _s, "sbcs"); - for(hcnt=0; hcnt < 250-_s.length; ++hcnt) rout.write_shift(1, 0x20); break; + for(hcnt=0; hcnt < colwidths[j]-_s.length; ++hcnt) rout.write_shift(1, 0x20); break; } } // data @@ -5647,14 +5703,13 @@ function sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) { return ba.end(); } return { - versions: DBF_SUPPORTED_VERSIONS, to_workbook: dbf_to_workbook, to_sheet: dbf_to_sheet, from_sheet: sheet_to_dbf }; })(); -var SYLK = (function() { +var SYLK = /*#__PURE__*/(function() { /* TODO: stress test sequences */ var sylk_escapes = ({ AA:'À', BA:'Á', CA:'Â', DA:195, HA:'Ä', JA:197, @@ -5732,7 +5787,7 @@ var SYLK = (function() { } else if(!isNaN(fuzzydate(val).getDate())) { val = parseDate(val); } - if(typeof cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = cptable.utils.decode(opts.codepage, val); + if(typeof $cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = $cptable.utils.decode(opts.codepage, val); C_seen_K = true; break; case 'E': @@ -5883,7 +5938,7 @@ var SYLK = (function() { }; })(); -var DIF = (function() { +var DIF = /*#__PURE__*/(function() { function dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ { switch(opts.type) { case 'base64': return dif_to_aoa_str(Base64.decode(d), opts); @@ -5932,7 +5987,7 @@ var DIF = (function() { function dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); } function dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); } - var sheet_to_dif = (function() { + var sheet_to_dif = /*#__PURE__*/(function() { var push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) { o.push(topic); o.push(v + "," + n); @@ -5995,7 +6050,7 @@ var DIF = (function() { }; })(); -var ETH = (function() { +var ETH = /*#__PURE__*/(function() { function decode(s/*:string*/)/*:string*/ { return s.replace(/\\b/g,"\\").replace(/\\c/g,":").replace(/\\n/g,"\n"); } function encode(s/*:string*/)/*:string*/ { return s.replace(/\\/g, "\\b").replace(/:/g, "\\c").replace(/\n/g,"\\n"); } @@ -6095,7 +6150,7 @@ var ETH = (function() { }; })(); -var PRN = (function() { +var PRN = /*#__PURE__*/(function() { function set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) { if(o.raw) arr[R][C] = data; else if(data === ""){/* empty */} @@ -6256,7 +6311,7 @@ var PRN = (function() { case 'binary': str = d; break; case 'buffer': if(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf - else if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d); + else if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d); else str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d); break; case 'array': str = cc2str(d); break; @@ -6265,7 +6320,7 @@ var PRN = (function() { } if(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3)); else if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str); - else if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(28591,str)); + else if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str)); if(str.slice(0,19) == "socialcalc:version:") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts); return prn_to_sheet_str(str, opts); } @@ -6420,7 +6475,7 @@ function parse_rpr(rpr) { return font; } -var parse_rs = (function() { +var parse_rs = /*#__PURE__*/(function() { var tregex = matchtag("t"), rpregex = matchtag("rPr"); /* 18.4.4 r CT_RElt */ function parse_r(r) { @@ -6441,7 +6496,7 @@ var parse_rs = (function() { /* Parse a list of tags */ -var rs_to_html = (function parse_rs_factory() { +var rs_to_html = /*#__PURE__*/(function parse_rs_factory() { var nlregex = /(\r\n|\n)/g; function parse_rpr2(font, intro, outro) { var style/*:Array*/ = []; @@ -6527,13 +6582,12 @@ function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { return s; } -RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { if(!opts.bookSST) return ""; var o = [XML_HEADER]; o[o.length] = (writextag('sst', null, { - xmlns: XMLNS.main[0], + xmlns: XMLNS_main[0], count: sst.Count, uniqueCount: sst.Unique })); @@ -7042,7 +7096,7 @@ function write_cellXfs(cellXfs)/*:string*/ { } /* 18.8 Styles CT_Stylesheet*/ -var parse_sty_xml= (function make_pstyx() { +var parse_sty_xml= /*#__PURE__*/(function make_pstyx() { var numFmtRegex = /<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/; var cellXfRegex = /<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/; var fillsRegex = /<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/; @@ -7083,15 +7137,11 @@ return function parse_sty_xml(data, themes, opts) { }; })(); -var STYLES_XML_ROOT = writextag('styleSheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:vt': XMLNS.vt -}); - -RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; - function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { - var o = [XML_HEADER, STYLES_XML_ROOT], w; + var o = [XML_HEADER, writextag('styleSheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:vt': XMLNS.vt + })], w; if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); o[o.length] = (''); @@ -7105,8 +7155,6 @@ function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; - /* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ var XLSXThemeClrScheme = [ '', '', '', '', @@ -7203,7 +7251,7 @@ var themeltregex = /]*)>[\s\S]*<\/a:themeElements>/; /* 14.2.7 Theme Part */ function parse_theme_xml(data/*:string*/, opts) { /* 20.1.6.9 theme CT_OfficeStyleSheet */ - if(!data || data.length === 0) return parse_theme_xml(write_theme()); + if(!data || data.length === 0) data = write_theme(); var t; var themes = {}; @@ -7386,13 +7434,13 @@ function write_theme(Themes, opts)/*:string*/ { o[o.length] = ''; return o.join(""); } -RELS.XLMETA = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata"; function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [] }; + var out = { Types: [], Cell: [], Value: [] }; if (!data) return out; var pass = false; - data.replace(tagregex, function(x, idx) { + var metatype = 2; + data.replace(tagregex, function(x) { var y = parsexmltag(x); switch (strip_ns(y[0])) { case "": + break; case "": @@ -7415,15 +7465,24 @@ function parse_xlmeta_xml(data, name, opts) { case "": break; case "": break; case "": + metatype = 2; break; case "": + metatype = 2; break; case "": @@ -7462,7 +7521,7 @@ function parse_xlink_bin(data, rel, name/*:string*/, _opts) { var pass = false, end = false; - recordhopper(data, function xlink_parse(val, R_n, RT) { + recordhopper(data, function xlink_parse(val, R, RT) { if(end) return; switch(RT) { case 0x0167: /* 'BrtSupTabs' */ @@ -7494,16 +7553,12 @@ function parse_xlink_bin(data, rel, name/*:string*/, _opts) { pass = false; break; default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT.toString(16) + " " + R_n); + if(R.T){/* empty */} + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); } /* 20.5 DrawingML - SpreadsheetML Drawing */ -RELS.IMG = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -RELS.DRAW = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"; - /* 20.5.2.35 wsDr CT_Drawing */ function parse_drawing(data, rels/*:any*/) { if(!data) return "??"; @@ -7576,9 +7631,7 @@ function write_comments_vml(rId/*:number*/, comments) { o.push(''); return o.join(""); } -RELS.CMNT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; - -function sheet_insert_comments(sheet, comments/*:Array*/) { +function sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) { var dense = Array.isArray(sheet); var cell/*:Cell*/; comments.forEach(function(comment) { @@ -7601,8 +7654,17 @@ function sheet_insert_comments(sheet, comments/*:Array*/) { } if (!cell.c) cell.c = []; - var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r}); + var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); if(comment.h) o.h = comment.h; + + /* threaded comments always override */ + for(var i = cell.c.length - 1; i >= 0; --i) { + if(!threaded && cell.c[i].T) return; + if(threaded && !cell.c[i].T) cell.c.splice(i, 1); + } + if(threaded && people) for(i = 0; i < people.length; ++i) { + if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } + } cell.c.push(o); }); } @@ -7639,31 +7701,153 @@ function parse_comments_xml(data/*:string*/, opts)/*:Array*/ { return commentList; } -var CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] }); function write_comments_xml(data/*::, opts*/) { - var o = [XML_HEADER, CMNT_XML_ROOT]; + var o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })]; var iauthor/*:Array*/ = []; o.push(""); data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) > -1) return; - iauthor.push(a); - o.push("" + a + ""); + if(iauthor.indexOf(a) == -1) { + iauthor.push(a); + o.push("" + a + ""); + } + if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { + iauthor.push("tc=" + w.ID); + o.push("" + "tc=" + w.ID + ""); + } }); }); + if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } o.push(""); o.push(""); data.forEach(function(d) { - d[1].forEach(function(c) { - /* 18.7.3 CT_Comment */ - o.push(''); - o.push(writetag("t", c.t == null ? "" : escapexml(c.t))); - o.push(''); + /* 18.7.3 CT_Comment */ + var lastauthor = 0, ts = []; + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); + else d[1].forEach(function(c) { + if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); + ts.push(c.t||""); }); + o.push(''); + if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); + else { + /* based on Threaded Comments -> Comments projection */ + var t = "Comment:\n " + (ts[0]) + "\n"; + for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; + o.push(writetag("t", escapexml(t))); + } + o.push(''); }); o.push(""); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } + +/* [MS-XLSX] 2.1.17 */ +function parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ { + var out = []; + var pass = false, comment = {}, tidx = 0; + data.replace(tagregex, function xml_tcmnt(x, idx) { + var y/*:any*/ = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.205 threadedComment CT_ThreadedComment */ + case '': if(comment.t != null) out.push(comment); break; + + case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; + + /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ + case '': pass = true; break; + case '': pass = false; break; + + /* 2.6.202 mention CT_Mention TODO */ + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} + +function write_tcmnt_xml(comments, people, opts) { + var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; + comments.forEach(function(carr) { + var rootid = ""; + (carr[1] || []).forEach(function(c, idx) { + if(!c.T) { delete c.ID; return; } + if(c.a && people.indexOf(c.a) == -1) people.push(c.a); + var tcopts = { + ref: carr[0], + id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" + }; + if(idx == 0) rootid = tcopts.id; + else tcopts.parentId = rootid; + c.ID = tcopts.id; + if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; + o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); + }); + }); + o.push(''); + return o.join(""); +} + +/* [MS-XLSX] 2.1.18 */ +function parse_people_xml(data/*:string*/, opts) { + var out = []; + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { + var y/*:any*/ = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.203 person CT_Person TODO: providers */ + case '': break; + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} +function write_people_xml(people/*, opts*/) { + var o = [XML_HEADER, writextag('personList', null, { + 'xmlns': XMLNS.TCMNT, + 'xmlns:x': XMLNS_main[0] + }).replace(/[\/]>/, ">")]; + people.forEach(function(person, idx) { + o.push(writextag('person', null, { + displayName: person, + id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", + userId: person, + providerId: "None" + })); + }); + o.push(""); + return o.join(""); +} var CT_VBA = "application/vnd.ms-office.vbaProject"; function make_vba_xls(cfb) { var newcfb = CFB.utils.cfb_new({ root: "R" }); @@ -7685,16 +7869,13 @@ function fill_vba_xls(cfb, vba) { }); } var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -RELS.DS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"; -RELS.MS = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet"; - /* macro and dialog sheet stubs */ function parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } function parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } function parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; } function parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; } /* TODO: it will be useful to parse the function str */ -var rc_to_a1 = (function(){ +var rc_to_a1 = /*#__PURE__*/(function(){ var rcregex = /(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g; var rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/); function rcfunc($$,$1,$2,$3) { @@ -7719,7 +7900,7 @@ var rc_to_a1 = (function(){ })(); var crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g; -var a1_to_rc =(function(){ +var a1_to_rc = /*#__PURE__*/(function(){ return function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) { return fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) { var c = decode_col($3) - ($2 ? 0 : base.c); @@ -7788,10 +7969,6 @@ function csf_to_ods_3D(r/*:string*/)/*:string*/ { var strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options -RELS.WS = [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" -]; /*global Map */ var browser_has_Map = typeof Map !== 'undefined'; @@ -8025,7 +8202,7 @@ function parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:num if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); } -function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/, styles, themes) { +function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) { parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { @@ -8176,7 +8353,8 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { } function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z') return ""; + if(cell.c) ws['!comments'].push([ref, cell.c]); + if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { @@ -8218,12 +8396,11 @@ function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); } if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.c) ws['!comments'].push([ref, cell.c]); if(cell.D) o.cm = 1; return writextag('c', v, o); } -var parse_ws_xml_data = (function() { +var parse_ws_xml_data = /*#__PURE__*/(function() { var cellregex = /<(?:\w+:)?c[ \/>]/, rowregex = /<\/(?:\w+:)?row>/; var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; var refregex = /ref=["']([^"']*)["']/; @@ -8397,8 +8574,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th safe_format(p, fmtid, fillid, opts, themes, styles); if(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Types||[])[+tag.cm-1]; - if(cm && cm.name == 'XLDAPR') p.D = true; + var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; + if(cm && cm.type == 'XLDAPR') p.D = true; } if(dense) { var _r = decode_cell(tag.r); @@ -8454,13 +8631,11 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook return o.join(""); } -var WS_XML_ROOT = writextag('worksheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { - var o = [XML_HEADER, WS_XML_ROOT]; + var o = [XML_HEADER, writextag('worksheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:r': XMLNS.r + })]; var s = wb.SheetNames[idx], sidx = 0, rdata = ""; var ws = wb.Sheets[s]; if(ws == null) ws = {}; @@ -8574,9 +8749,6 @@ function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { if(o.length>1) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -RELS.CHART = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"; -RELS.CHARTEX = "http://schemas.microsoft.com/office/2014/relationships/chartEx"; - function parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ { var col/*:Array*/ = []; var num = data.match(/^/); @@ -8624,11 +8796,6 @@ function parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) } RELS.CS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"; -var CS_XML_ROOT = writextag('chartsheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - /* 18.3 Worksheets also covers Chartsheets */ function parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ { if(!data) return data; @@ -8648,7 +8815,10 @@ function parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, them return s; } function write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { - var o = [XML_HEADER, CS_XML_ROOT]; + var o = [XML_HEADER, writextag('chartsheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:r': XMLNS.r + })]; o[o.length] = writextag("drawing", null, {"r:id": "rId1"}); add_rels(rels, -1, "../drawings/drawing" + (idx+1) + ".xml", RELS.DRAW); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } @@ -8951,23 +9121,21 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ { } return x; }); - if(XMLNS.main.indexOf(wb.xmlns) === -1) throw new Error("Unknown Namespace: " + wb.xmlns); + if(XMLNS_main.indexOf(wb.xmlns) === -1) throw new Error("Unknown Namespace: " + wb.xmlns); parse_wb_defaults(wb); return wb; } -var WB_XML_ROOT = writextag('workbook', null, { - 'xmlns': XMLNS.main[0], - //'xmlns:mx': XMLNS.mx, - //'xmlns:s': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - function write_wb_xml(wb/*:Workbook*//*::, opts:?WriteOpts*/)/*:string*/ { var o = [XML_HEADER]; - o[o.length] = WB_XML_ROOT; + o[o.length] = writextag('workbook', null, { + 'xmlns': XMLNS_main[0], + //'xmlns:mx': XMLNS.mx, + //'xmlns:s': XMLNS_main[0], + 'xmlns:r': XMLNS.r + }); var write_names = (wb.Workbook && (wb.Workbook.Names||[]).length > 0); @@ -9140,7 +9308,7 @@ function write_xlmeta(name/*:string*/) { return (name.slice(-4)===".bin" ? write_xlmeta_bin : write_xlmeta_xml)(); } /* note: browser DOM element cannot see mso- style attrs, must parse */ -var HTML_ = (function() { +var HTML_ = /*#__PURE__*/(function() { function html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ { var opts = _opts || {}; if(DENSE != null && opts.dense == null) opts.dense = DENSE; @@ -9179,7 +9347,7 @@ var HTML_ = (function() { m = htmldecode(m); if(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R; if(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C; - if(!m.length) continue; + if(!m.length) { C += CS; continue; } var o/*:Cell*/ = {t:'s', v:m}; if(opts.raw || !m.trim().length || _t == 's'){} else if(m === 'TRUE') o = {t:'b', v:true}; @@ -9203,8 +9371,8 @@ var HTML_ = (function() { var mtch = str.match(/[\s\S]*?<\/table>/gi); if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find "); if(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts); - var wb = utils.book_new(); - mtch.forEach(function(s, idx) { utils.book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); + var wb = book_new(); + mtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); return wb; } function make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ { @@ -9378,37 +9546,36 @@ function get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ return null; } /* OpenDocument */ -var parse_content_xml = (function() { +function parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ { + /* 6.1.2 White Space Characters */ + var fixed = text + .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") + .replace(//g," ") + .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) + .replace(/]*\/>/g,"\t") + .replace(//g,"\n"); + var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); - var parse_text_p = function(text/*:string*//*::, tag*/)/*:Array*/ { - /* 6.1.2 White Space Characters */ - var fixed = text - .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") - .replace(//g," ") - .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) - .replace(/]*\/>/g,"\t") - .replace(//g,"\n"); - var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); + return [v]; +} - return [v]; - }; +var number_formats_ods = { + /* ods name: [short ssf fmt, long ssf fmt] */ + day: ["d", "dd"], + month: ["m", "mm"], + year: ["y", "yy"], + hours: ["h", "hh"], + minutes: ["m", "mm"], + seconds: ["s", "ss"], + "am-pm": ["A/P", "AM/PM"], + "day-of-week": ["ddd", "dddd"], + era: ["e", "ee"], + /* there is no native representation of LO "Q" format */ + quarter: ["\\Qm", "m\\\"th quarter\""] +}; - var number_formats = { - /* ods name: [short ssf fmt, long ssf fmt] */ - day: ["d", "dd"], - month: ["m", "mm"], - year: ["y", "yy"], - hours: ["h", "hh"], - minutes: ["m", "mm"], - seconds: ["s", "ss"], - "am-pm": ["A/P", "AM/PM"], - "day-of-week": ["ddd", "dddd"], - era: ["e", "ee"], - /* there is no native representation of LO "Q" format */ - quarter: ["\\Qm", "m\\\"th quarter\""] - }; - return function pcx(d/*:string*/, _opts)/*:Workbook*/ { +function parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ { var opts = _opts || {}; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var str = xlml_normalize(d); @@ -9687,7 +9854,7 @@ var parse_content_xml = (function() { case 'time-style': case 'date-style': tag = parsexmltag(Rn[0], false); - NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; } break; case 'fraction': break; // TODO 16.27.6 @@ -9707,7 +9874,7 @@ var parse_content_xml = (function() { case 'time-style': case 'date-style': tag = parsexmltag(Rn[0], false); - NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; } break; case 'boolean-style': break; // 16.27.23 @@ -9931,8 +10098,7 @@ var parse_content_xml = (function() { }/*:any*/); if(opts.bookSheets) delete /*::(*/out/*:: :any)*/.Sheets; return out; - }; -})(); +} function parse_ods(zip/*:ZIPFile*/, opts/*:?ParseOpts*/)/*:Workbook*/ { opts = opts || ({}/*:any*/); @@ -9948,7 +10114,7 @@ function parse_fods(data/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ { } /* OpenDocument */ -var write_styles_ods/*:{(wb:any, opts:any):string}*/ = (function() { +var write_styles_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() { var master_styles = [ '', '', @@ -9979,7 +10145,7 @@ var write_styles_ods/*:{(wb:any, opts:any):string}*/ = (function() { return XML_HEADER + payload; }; })(); -var write_content_ods/*:{(wb:any, opts:any):string}*/ = (function() { +var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() { /* 6.1.2 White Space Characters */ var write_text_p = function(text/*:string*/)/*:string*/ { return escapexml(text) @@ -10253,7 +10419,7 @@ function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { }; } -var fix_read_opts = function(opts) { +function fix_read_opts(opts) { fix_opts_func([ ['cellNF', false], /* emit cell number format string as .z */ ['cellHTML', true], /* emit html string as .h */ @@ -10274,9 +10440,10 @@ fix_opts_func([ ['password',''], /* password */ ['WTF', false] /* WTF mode (throws errors) */ ])(opts); -}; +} -var fix_write_opts = fix_opts_func([ +function fix_write_opts(opts) { +fix_opts_func([ ['cellDates', false], /* write date cells with type `d` */ ['bookSST', false], /* Generate Shared String Table */ @@ -10286,7 +10453,8 @@ var fix_write_opts = fix_opts_func([ ['compression', false], /* Use file compression */ ['WTF', false] /* WTF mode (throws errors) */ -]); +])(opts); +} function get_sheet_type(n/*:string*/)/*:string*/ { if(RELS.WS.indexOf(n) > -1) return "sheet"; if(RELS.CS && n == RELS.CS) return "chart"; @@ -10324,16 +10492,22 @@ function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/ } sheets[sheet] = _ws; - /* scan rels for comments */ - var comments = []; + /* scan rels for comments and threaded comments */ + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { + var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { - var dfile = resolve_path(sheetRels[sheet][n].Target, path); - comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); + dfile = resolve_path(sheetRels[sheet][n].Target, path); + var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments); + sheet_insert_comments(_ws, comments, false); + } + if(sheetRels[sheet][n].Type == RELS.TCMNT) { + dfile = resolve_path(sheetRels[sheet][n].Target, path); + tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); } }); + if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); } catch(e) { if(opts.WTF) throw e; } } @@ -10351,11 +10525,11 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { /* Numbers */ if(safegetzipfile(zip, 'Index/Document.iwa')) { if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof NUMBERS != "undefined") { - if(zip.FileIndex) return NUMBERS.parse_numbers(zip); + if(typeof parse_numbers_iwa != "undefined") { + if(zip.FileIndex) return parse_numbers_iwa(zip); var _zip = CFB.utils.cfb_new(); zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return NUMBERS.parse_numbers(_zip); + return parse_numbers_iwa(_zip); } throw new Error('Unsupported NUMBERS file'); } @@ -10457,8 +10631,11 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); } - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); + if((dir.people || []).length >= 1) { + opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); + } + if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; @@ -10571,9 +10748,14 @@ function parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ { function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(opts.bookType == "ods") return write_ods(wb, opts); - return write_zip_xlsxb(wb, opts); + if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); + return write_zip_xlsx(wb, opts); } +/* XLSX and XLSB writing are very similar. Originally they were unified in one + export function. This is horrible for tree shaking in the common case (most + applications need to export files in one format) so this function supports + both formats while write_zip_xlsx only handles XLSX */ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { _shapeid = 1024; if(wb && !wb.SSF) { @@ -10645,8 +10827,9 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -10708,7 +10891,6 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { return zip; } -/* this version does not reference XLSB write functions */ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { _shapeid = 1024; if(wb && !wb.SSF) { @@ -10763,6 +10945,9 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { add_rels(opts.rels, 4, f, RELS.CUST_PROPS); } + var people = ["SheetJ5"]; + opts.tcid = 0; + for(rId=1;rId <= wb.SheetNames.length; ++rId) { var wsrels = {'!id':{}}; var ws = wb.Sheets[wb.SheetNames[rId-1]]; @@ -10780,8 +10965,20 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + var needtc = false; + comments.forEach(function(carr) { + carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); + }); + if(needtc) { + cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); + } + + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -10835,6 +11032,13 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { ct.metadata.push(f); add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); + if(people.length > 1) { + f = "xl/persons/person.xml"; + zip_add_file(zip, f, write_people_xml(people, opts)); + ct.people.push(f); + add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); + } + zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); @@ -10895,7 +11099,7 @@ function read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ { function read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ { var d = data; if(o.type == 'base64') d = Base64.decode(d); - d = cptable.utils.decode(1200, d.slice(2), 'str'); + d = $cptable.utils.decode(1200, d.slice(2), 'str'); o.type = "binary"; return read_plaintext(d, o); } @@ -10953,7 +11157,7 @@ function readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o); case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break; } - if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); + if(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); return read_prn(data, d, o, str); } @@ -10961,29 +11165,6 @@ function readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ { var o = opts||{}; o.type = 'file'; return readSync(filename, o); } -function write_obj_str(factory/*:WriteObjStrFactory*/) { - return function write_str(wb/*:Workbook*/, o/*:WriteOpts*/)/*:string*/ { - var idx = 0; - if(o.sheet) { - if(typeof o.sheet == "number") idx = o.sheet; - else idx = wb.SheetNames.indexOf(o.sheet); - if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); - } - return factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb); - }; -} - -var write_htm_str = write_obj_str(HTML_); -var write_csv_str = write_obj_str({from_sheet:sheet_to_csv}); -var write_slk_str = write_obj_str(typeof SYLK !== "undefined" ? SYLK : {}); -var write_dif_str = write_obj_str(typeof DIF !== "undefined" ? DIF : {}); -var write_prn_str = write_obj_str(typeof PRN !== "undefined" ? PRN : {}); -var write_rtf_str = write_obj_str(typeof RTF !== "undefined" ? RTF : {}); -var write_txt_str = write_obj_str({from_sheet:sheet_to_txt}); -var write_dbf_buf = write_obj_str(typeof DBF !== "undefined" ? DBF : {}); -var write_eth_str = write_obj_str(typeof ETH !== "undefined" ? ETH : {}); -var write_wk1_buf = write_obj_str(typeof WK_ !== "undefined" ? {from_sheet:WK_.sheet_to_wk1} : {}); - function write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ { switch(o.type) { case "base64": case "binary": break; @@ -11101,22 +11282,28 @@ function writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) { var o = dup(opts||{}); if(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; } if(o.type == "array") { o.type = "binary"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = "array"; return s2ab(out); } + var idx = 0; + if(o.sheet) { + if(typeof o.sheet == "number") idx = o.sheet; + else idx = wb.SheetNames.indexOf(o.sheet); + if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); + } switch(o.bookType || 'xlsb') { case 'xml': case 'xlml': return write_string_type(write_xlml(wb, o), o); case 'slk': - case 'sylk': return write_string_type(write_slk_str(wb, o), o); + case 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); case 'htm': - case 'html': return write_string_type(write_htm_str(wb, o), o); - case 'txt': return write_stxt_type(write_txt_str(wb, o), o); - case 'csv': return write_string_type(write_csv_str(wb, o), o, "\ufeff"); - case 'dif': return write_string_type(write_dif_str(wb, o), o); - case 'dbf': return write_binary_type(write_dbf_buf(wb, o), o); - case 'prn': return write_string_type(write_prn_str(wb, o), o); - case 'rtf': return write_string_type(write_rtf_str(wb, o), o); - case 'eth': return write_string_type(write_eth_str(wb, o), o); + case 'html': return write_string_type(HTML_.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, "\ufeff"); + case 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); case 'fods': return write_string_type(write_ods(wb, o), o); - case 'wk1': return write_binary_type(write_wk1_buf(wb, o), o); + case 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o); case 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o); case 'biff2': if(!o.biff) o.biff = 2; /* falls through */ case 'biff3': if(!o.biff) o.biff = 3; /* falls through */ @@ -11237,9 +11424,13 @@ function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) { var out/*:Array*/ = []; var outi = 0, counter = 0; var dense = Array.isArray(sheet); - var R = r.s.r, C = 0, CC = 0; + var R = r.s.r, C = 0; + var header_cnt = {}; if(dense && !sheet[R]) sheet[R] = []; + var colinfo/*:Array*/ = o.skipHidden && sheet["!cols"] || []; + var rowinfo/*:Array*/ = o.skipHidden && sheet["!rows"] || []; for(C = r.s.c; C <= r.e.c; ++C) { + if(((colinfo[C]||{}).hidden)) continue; cols[C] = encode_col(C); val = dense ? sheet[R][C] : sheet[cols[C] + rr]; switch(header) { @@ -11249,12 +11440,17 @@ function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) { default: if(val == null) val = {w: "__EMPTY", t: "s"}; vv = v = format_cell(val, null, o); - counter = 0; - for(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) { vv = v + "_" + (++counter); CC = -1; } + counter = header_cnt[v] || 0; + if(!counter) header_cnt[v] = 1; + else { + do { vv = v + "_" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter; + header_cnt[vv] = 1; + } hdr[C] = vv; } } for (R = r.s.r + offset; R <= r.e.r; ++R) { + if ((rowinfo[R]||{}).hidden) continue; var row = make_json_row(sheet, r, R, cols, header, hdr, dense, o); if((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row; } @@ -11314,8 +11510,8 @@ function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ { function sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { if(!opts) opts = {}; opts.FS = "\t"; opts.RS = "\n"; var s = sheet_to_csv(sheet, opts); - if(typeof cptable == 'undefined' || opts.type == 'string') return s; - var o = cptable.utils.encode(1200, s, 'str'); + if(typeof $cptable == 'undefined' || opts.type == 'string') return s; + var o = $cptable.utils.encode(1200, s, 'str'); return String.fromCharCode(255) + String.fromCharCode(254) + o; } @@ -11384,7 +11580,7 @@ function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet var t = 'z'; var z = ""; var ref = encode_cell({c:_C + C,r:_R + R + offset}); - cell = utils.sheet_get_cell(ws, ref); + cell = ws_get_cell_stub(ws, ref); if(v && typeof v === 'object' && !(v instanceof Date)){ ws[ref] = v; } else { @@ -11415,6 +11611,110 @@ function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet } function json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); } +/* get cell, creating a stub if necessary */ +function ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ { + /* A1 cell address */ + if(typeof R == "string") { + /* dense */ + if(Array.isArray(ws)) { + var RC = decode_cell(R); + if(!ws[RC.r]) ws[RC.r] = []; + return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); + } + return ws[R] || (ws[R] = {t:'z'}); + } + /* cell address object */ + if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); + /* R and C are 0-based indices */ + return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); +} + +/* find sheet index for given name / validate index */ +function wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) { + if(typeof sh == "number") { + if(sh >= 0 && wb.SheetNames.length > sh) return sh; + throw new Error("Cannot find sheet # " + sh); + } else if(typeof sh == "string") { + var idx = wb.SheetNames.indexOf(sh); + if(idx > -1) return idx; + throw new Error("Cannot find sheet name |" + sh + "|"); + } else throw new Error("Cannot find sheet |" + sh + "|"); +} + +/* simple blank workbook object */ +function book_new()/*:Workbook*/ { + return { SheetNames: [], Sheets: {} }; +} + +/* add a worksheet to the end of a given workbook */ +function book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/) { + if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; + if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); + check_ws_name(name); + if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); + + wb.SheetNames.push(name); + wb.Sheets[name] = ws; +} + +/* set sheet visibility (visible/hidden/very hidden) */ +function book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) { + if(!wb.Workbook) wb.Workbook = {}; + if(!wb.Workbook.Sheets) wb.Workbook.Sheets = []; + + var idx = wb_sheet_idx(wb, sh); + // $FlowIgnore + if(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {}; + + switch(vis) { + case 0: case 1: case 2: break; + default: throw new Error("Bad sheet visibility setting " + vis); + } + // $FlowIgnore + wb.Workbook.Sheets[idx].Hidden = vis; +} + +/* set number format */ +function cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) { + cell.z = fmt; + return cell; +} + +/* set cell hyperlink */ +function cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) { + if(!target) { + delete cell.l; + } else { + cell.l = ({ Target: target }/*:Hyperlink*/); + if(tooltip) cell.l.Tooltip = tooltip; + } + return cell; +} +function cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, "#" + range, tooltip); } + +/* add to cell comments */ +function cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) { + if(!cell.c) cell.c = []; + cell.c.push({t:text, a:author||"SheetJS"}); +} + +/* set array formula and flush related cells */ +function sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) { + var rng = typeof range != "string" ? range : safe_decode_range(range); + var rngstr = typeof range == "string" ? range : encode_range(range); + for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { + var cell = ws_get_cell_stub(ws, R, C); + cell.t = 'n'; + cell.F = rngstr; + delete cell.v; + if(R == rng.s.r && C == rng.s.c) { + cell.f = formula; + if(dynamic) cell.D = true; + } + } + return ws; +} + var utils/*:any*/ = { encode_col: encode_col, encode_row: encode_row, @@ -11438,128 +11738,23 @@ var utils/*:any*/ = { sheet_to_json: sheet_to_json, sheet_to_html: HTML_.from_sheet, sheet_to_formulae: sheet_to_formulae, - sheet_to_row_object_array: sheet_to_json -}; - -(function(utils) { -utils.consts = utils.consts || {}; -function add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); } - -function get_default(x/*:any*/, y/*:any*/, z/*:any*/)/*:any*/ { return x[y] != null ? x[y] : (x[y] = z); } - -/* get cell, creating a stub if necessary */ -function ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ { - /* A1 cell address */ - if(typeof R == "string") { - /* dense */ - if(Array.isArray(ws)) { - var RC = decode_cell(R); - if(!ws[RC.r]) ws[RC.r] = []; - return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); - } - return ws[R] || (ws[R] = {t:'z'}); + sheet_to_row_object_array: sheet_to_json, + sheet_get_cell: ws_get_cell_stub, + book_new: book_new, + book_append_sheet: book_append_sheet, + book_set_sheet_visibility: book_set_sheet_visibility, + cell_set_number_format: cell_set_number_format, + cell_set_hyperlink: cell_set_hyperlink, + cell_set_internal_link: cell_set_internal_link, + cell_add_comment: cell_add_comment, + sheet_set_array_formula: sheet_set_array_formula, + consts: { + SHEET_VISIBLE: 0, + SHEET_HIDDEN: 1, + SHEET_VERY_HIDDEN: 2 } - /* cell address object */ - if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); - /* R and C are 0-based indices */ - return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); -} -utils.sheet_get_cell = ws_get_cell_stub; - -/* find sheet index for given name / validate index */ -function wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) { - if(typeof sh == "number") { - if(sh >= 0 && wb.SheetNames.length > sh) return sh; - throw new Error("Cannot find sheet # " + sh); - } else if(typeof sh == "string") { - var idx = wb.SheetNames.indexOf(sh); - if(idx > -1) return idx; - throw new Error("Cannot find sheet name |" + sh + "|"); - } else throw new Error("Cannot find sheet |" + sh + "|"); -} - -/* simple blank workbook object */ -utils.book_new = function()/*:Workbook*/ { - return { SheetNames: [], Sheets: {} }; }; -/* add a worksheet to the end of a given workbook */ -utils.book_append_sheet = function(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/) { - if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; - if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); - check_ws_name(name); - if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); - - wb.SheetNames.push(name); - wb.Sheets[name] = ws; -}; - -/* set sheet visibility (visible/hidden/very hidden) */ -utils.book_set_sheet_visibility = function(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) { - get_default(wb,"Workbook",{}); - get_default(wb.Workbook,"Sheets",[]); - - var idx = wb_sheet_idx(wb, sh); - // $FlowIgnore - get_default(wb.Workbook.Sheets,idx, {}); - - switch(vis) { - case 0: case 1: case 2: break; - default: throw new Error("Bad sheet visibility setting " + vis); - } - // $FlowIgnore - wb.Workbook.Sheets[idx].Hidden = vis; -}; -add_consts([ - ["SHEET_VISIBLE", 0], - ["SHEET_HIDDEN", 1], - ["SHEET_VERY_HIDDEN", 2] -]); - -/* set number format */ -utils.cell_set_number_format = function(cell/*:Cell*/, fmt/*:string|number*/) { - cell.z = fmt; - return cell; -}; - -/* set cell hyperlink */ -utils.cell_set_hyperlink = function(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) { - if(!target) { - delete cell.l; - } else { - cell.l = ({ Target: target }/*:Hyperlink*/); - if(tooltip) cell.l.Tooltip = tooltip; - } - return cell; -}; -utils.cell_set_internal_link = function(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return utils.cell_set_hyperlink(cell, "#" + range, tooltip); }; - -/* add to cell comments */ -utils.cell_add_comment = function(cell/*:Cell*/, text/*:string*/, author/*:?string*/) { - if(!cell.c) cell.c = []; - cell.c.push({t:text, a:author||"SheetJS"}); -}; - -/* set array formula and flush related cells */ -utils.sheet_set_array_formula = function(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) { - var rng = typeof range != "string" ? range : safe_decode_range(range); - var rngstr = typeof range == "string" ? range : encode_range(range); - for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { - var cell = ws_get_cell_stub(ws, R, C); - cell.t = 'n'; - cell.F = rngstr; - delete cell.v; - if(R == rng.s.r && C == rng.s.c) { - cell.f = formula; - if(dynamic) cell.D = true; - } - } - return ws; -}; - -return utils; -})(utils); - if(typeof parse_xlscfb !== "undefined") XLSX.parse_xlscfb = parse_xlscfb; XLSX.parse_zip = parse_zip; XLSX.read = readSync; //xlsread diff --git a/xlsx.mini.js b/xlsx.mini.js index dce6462..71dc43e 100644 --- a/xlsx.mini.js +++ b/xlsx.mini.js @@ -1,14 +1,13 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */ +/*global exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; var current_codepage = 1200, current_ansi = 1252; -var VALID_ANSI = [ 874, 932, 936, 949, 950, 10000 ]; -for(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i); +var VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ]; /* ECMA-376 Part I 18.4.1 charset to codepage mapping */ var CS2CP = ({ 0: 1252, /* ANSI */ @@ -220,7 +219,7 @@ var chr0 = /\u0000/g, chr1 = /[\u0001-\u0006]/g; /* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W041 */ var SSF = ({}); -var make_ssf = function make_ssf(SSF){ +function make_ssf(SSF){ SSF.version = '0.11.2'; function _strrev(x) { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } @@ -325,25 +324,36 @@ for(defi = 79; defi <= 81; ++defi) default_map[defi] = defi - 34; // 82 -> 0 ... 65536 -> 0 (omitted) /* These formats technically refer to Accounting formats with no equivalent */ -var default_str = []; +var default_str = { + // 5 -- Currency, 0 decimal, black negative + 5: '"$"#,##0_);\\("$"#,##0\\)', + 63: '"$"#,##0_);\\("$"#,##0\\)', -// 5 -- Currency, 0 decimal, black negative -default_str[5] = default_str[63] = '"$"#,##0_);\\("$"#,##0\\)'; -// 6 -- Currency, 0 decimal, red negative -default_str[6] = default_str[64] = '"$"#,##0_);[Red]\\("$"#,##0\\)'; -// 7 -- Currency, 2 decimal, black negative -default_str[7] = default_str[65] = '"$"#,##0.00_);\\("$"#,##0.00\\)'; -// 8 -- Currency, 2 decimal, red negative -default_str[8] = default_str[66] = '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)'; + // 6 -- Currency, 0 decimal, red negative + 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', + 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', + + // 7 -- Currency, 2 decimal, black negative + 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', + 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', + + // 8 -- Currency, 2 decimal, red negative + 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + + // 41 -- Accounting, 0 decimal, No Symbol + 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', + + // 42 -- Accounting, 0 decimal, $ Symbol + 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', + + // 43 -- Accounting, 2 decimal, No Symbol + 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', + + // 44 -- Accounting, 2 decimal, $ Symbol + 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' +}; -// 41 -- Accounting, 0 decimal, No Symbol -default_str[41] = '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)'; -// 42 -- Accounting, 0 decimal, $ Symbol -default_str[42] = '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)'; -// 43 -- Accounting, 2 decimal, No Symbol -default_str[43] = '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)'; -// 44 -- Accounting, 2 decimal, $ Symbol -default_str[44] = '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'; function frac(x, D, mixed) { var sgn = x < 0 ? -1 : 1; var B = x * sgn; @@ -1178,7 +1188,7 @@ SSF.load_table = function load_table(tbl) { }; SSF.init_table = init_table; SSF.format = format; -}; +} make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap/*{[string]:string}*/ = ({ @@ -1267,24 +1277,17 @@ function dateNF_fix(str, dateNF, match) { return datestr + "T" + timestr; } -var DO_NOT_EXPORT_CFB = true; /* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*jshint eqnull:true */ /*exported CFB */ -/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */ +/*global Uint8Array:false, Uint16Array:false */ /* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported CRC32 */ -var CRC32; -(function (factory) { - /*jshint ignore:start */ - /*eslint-disable */ - factory(CRC32 = {}); - /*eslint-enable */ - /*jshint ignore:end */ -}(function(CRC32) { +var CRC32 = (function() { +var CRC32 = {}; CRC32.version = '1.2.0'; /* see perf/crc32table.js */ /*global Int32Array */ @@ -1372,7 +1375,8 @@ CRC32.table = T0; CRC32.bstr = crc32_bstr; CRC32.buf = crc32_buf; CRC32.str = crc32_str; -})); +return CRC32; +})(); /* [MS-CFB] v20171201 */ var CFB = (function _CFB(){ var exports = {}; @@ -3077,7 +3081,6 @@ exports.utils = { return exports; })(); -if(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; } var _fs; if(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {} @@ -3275,8 +3278,7 @@ function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } /* TODO: stress test */ function fuzzynum(s) { var v = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); @@ -3496,9 +3498,7 @@ var xlml_fixstr = (function() { function entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str) { return str.replace(entregex,entrepl); }; })(); -var xlml_unfixstr = (function() { - return function xlml_unfixstr(str) { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; -})(); +function xlml_unfixstr(str) { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value) { switch(value) { @@ -3665,6 +3665,12 @@ var xlmlregex = /<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/mg; //var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; var XMLNS = ({ + CORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties', + CUST_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties", + EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", + CT: 'http://schemas.openxmlformats.org/package/2006/content-types', + RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', + TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -3676,7 +3682,7 @@ var XMLNS = ({ 'xsd': 'http://www.w3.org/2001/XMLSchema' }); -XMLNS.main = [ +var XMLNS_main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', 'http://purl.oclc.org/ooxml/spreadsheetml/main', 'http://schemas.microsoft.com/office/excel/2006/main', @@ -3758,15 +3764,15 @@ if(has_buf) { /* from js-xls */ function cpdoit() { - __utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; - __utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); }; - __lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; - __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; - __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; - __lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; - __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; + __utf16le = function(b,s,e) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); }; + __utf8 = function(b,s,e) { return $cptable.utils.decode(65001, b.slice(s,e)); }; + __lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : "";}; + __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : "";}; + __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : "";}; + __lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : "";}; + __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : "";}; } -if(typeof cptable !== 'undefined') cpdoit(); +if(typeof $cptable !== 'undefined') cpdoit(); var __readUInt8 = function(b, idx) { return b[idx]; }; var __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; }; @@ -3789,7 +3795,7 @@ function ReadShift(size, t) { case 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break; case 'wstr': - if(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); + if(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); else return ReadShift.call(this, size, 'dbcs'); size = 2 * size; break; @@ -3824,8 +3830,8 @@ function ReadShift(size, t) { } o = oo.join(""); size *= 2; break; case 'cpstr': - if(typeof cptable !== 'undefined') { - o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); + if(typeof $cptable !== 'undefined') { + o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size)); break; } /* falls through */ @@ -3870,10 +3876,10 @@ function WriteShift(t, val, f) { for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; } else if(f === 'sbcs') { - if(typeof cptable !== 'undefined' && current_ansi == 874) { + if(typeof $cptable !== 'undefined' && current_ansi == 874) { /* TODO: use tables directly, don't encode */ for(i = 0; i != val.length; ++i) { - var cppayload = cptable.utils.encode(current_ansi, val.charAt(i)); + var cppayload = $cptable.utils.encode(current_ansi, val.charAt(i)); this[this.l + i] = cppayload[0]; } } else { @@ -3944,7 +3950,7 @@ function recordhopper(data, cb, opts) { tgt = data.l + length; var d = R.f && R.f(data, length, opts); data.l = tgt; - if(cb(d, R.n, RT)) return; + if(cb(d, R, RT)) return; } } @@ -3983,8 +3989,7 @@ function buf_array() { } function write_record(ba, type, payload, length) { - if(!XLSBRE) make_XLSBRE(); - var t = +XLSBRE[type], l; + var t = +type, l; if(isNaN(t)) return; // TODO: throw something here? if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/; @@ -4314,9 +4319,6 @@ var SummaryPIDSI = { 0x72627262: {} }; -var DocSummaryRE = evert_key(DocSummaryPIDDSI, "n"); -var SummaryRE = evert_key(SummaryPIDSI, "n"); - /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { 0x0001: "US", // United States @@ -4512,14 +4514,38 @@ var RBErr = evert_num(BErr); var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", + "application/vnd.ms-excel.addin.macroEnabled.main+xml": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "workbooks", /* Worksheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", + "application/vnd.ms-excel.worksheet": "sheets", "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ + /* Chartsheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "charts", + "application/vnd.ms-excel.chartsheet": "charts", + /* Macrosheet */ + "application/vnd.ms-excel.macrosheet+xml": "macros", + "application/vnd.ms-excel.macrosheet": "macros", "application/vnd.ms-excel.intlmacrosheet": "TODO", "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ + /* Dialogsheet */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "dialogs", + "application/vnd.ms-excel.dialogsheet": "dialogs", + + /* Shared Strings */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", + "application/vnd.ms-excel.sharedStrings": "strs", + + /* Styles */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", + "application/vnd.ms-excel.styles": "styles", + /* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", @@ -4529,6 +4555,16 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO", + /* Comments */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", + "application/vnd.ms-excel.comments": "comments", + "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", + "application/vnd.ms-excel.person+xml": "people", + + /* Metadata (Stock/Geography and Dynamic Array) */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", + "application/vnd.ms-excel.sheetMetadata": "metadata", + /* PivotTable */ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", @@ -4567,10 +4603,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", @@ -4653,8 +4685,7 @@ var ct2type/*{[string]:string}*/ = ({ "sheet": "js" }); -var CT_LIST = (function(){ - var o = { +var CT_LIST = { workbooks: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", xlsm: "application/vnd.ms-excel.sheet.macroEnabled.main+xml", @@ -4694,22 +4725,14 @@ var CT_LIST = (function(){ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", xlsb: "application/vnd.ms-excel.styles" } - }; - keys(o).forEach(function(k) { ["xlsm", "xlam"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); }); - keys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); }); - return o; -})(); - -var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); - -XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; +}; function new_ct() { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], links:[], + rels:[], strs:[], comments:[], threadedcomments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], + calcchains:[], vba: [], drawings: [], metadata: [], people:[], TODO:[], xmlns: "" }); } @@ -4743,30 +4766,30 @@ var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns:xsi': XMLNS.xsi }); -var CTYPE_DEFAULTS = [ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', type2ct.rels[0]] -].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); -}); - function write_ct(ct, opts) { + var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); + var o = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); - o = o.concat(CTYPE_DEFAULTS); + o = o.concat([ + ['xml', 'application/xml'], + ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], + ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], + ['data', 'application/vnd.openxmlformats-officedocument.model+data'], + /* from test files */ + ['bmp', 'image/bmp'], + ['png', 'image/png'], + ['gif', 'image/gif'], + ['emf', 'image/x-emf'], + ['wmf', 'image/x-wmf'], + ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], + ['tif', 'image/tiff'], ['tiff', 'image/tiff'], + ['pdf', 'application/pdf'], + ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] + ].map(function(x) { + return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); + })); /* only write first instance */ var f1 = function(w) { @@ -4774,7 +4797,7 @@ function write_ct(ct, opts) { v = ct[w][0]; o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] + 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] })); } }; @@ -4784,7 +4807,7 @@ function write_ct(ct, opts) { (ct[w]||[]).forEach(function(v) { o[o.length] = (writextag('Override', null, { 'PartName': (v[0] == '/' ? "":"/") + v, - 'ContentType': CT_LIST[w][opts.bookType || 'xlsx'] + 'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx'] })); }); }; @@ -4807,8 +4830,10 @@ function write_ct(ct, opts) { ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); + f3('threadedcomments'); f3('drawings'); f2('metadata'); + f3('people'); if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } @@ -4823,9 +4848,31 @@ var RELS = ({ XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", + CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", + EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", + STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", + WS: [ + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", + "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" + ], + DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", + MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", + IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", + DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", + XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", + TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", + PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" }); + /* 9.3.3 Representing Relationships */ function get_rels_path(file) { var n = file.lastIndexOf("/"); @@ -4854,7 +4901,6 @@ function parse_rels(data, currentFilePath) { return rels; } -XMLNS.RELS = 'http://schemas.openxmlformats.org/package/2006/relationships'; var RELS_ROOT = writextag('Relationships', null, { //'xmlns:ns0': XMLNS.RELS, @@ -4946,12 +4992,9 @@ function write_rdf(rdf) { return o.join(""); } /* TODO: pull properties */ -var write_meta_ods = (function() { - var payload = 'Sheet' + 'JS ' + XLSX.version + ''; - return function wmo() { - return payload; - }; -})(); +function write_meta_ods() { + return 'Sheet' + 'JS ' + XLSX.version + ''; +} /* ECMA-376 Part II 11.1 Core Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ @@ -4973,9 +5016,6 @@ var CORE_PROPS = [ ["dcterms:modified", "ModifiedDate", 'date'] ]; -XMLNS.CORE_PROPS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"; -RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; - var CORE_PROPS_REGEX = (function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { @@ -4999,15 +5039,6 @@ function parse_core_props(data) { return p; } -var CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi -}); - function cp_doit(f, g, h, o, p) { if(p[f] != null || g == null || g === "") return; p[f] = g; @@ -5017,7 +5048,14 @@ function cp_doit(f, g, h, o, p) { function write_core_props(cp, _opts) { var opts = _opts || {}; - var o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {}; + var o = [XML_HEADER, writextag('cp:coreProperties', null, { + //'xmlns': XMLNS.CORE_PROPS, + 'xmlns:cp': XMLNS.CORE_PROPS, + 'xmlns:dc': XMLNS.dc, + 'xmlns:dcterms': XMLNS.dcterms, + 'xmlns:dcmitype': XMLNS.dcmitype, + 'xmlns:xsi': XMLNS.xsi + })], p = {}; if(!cp && !opts.Props) return o.join(""); if(cp) { @@ -5052,9 +5090,6 @@ var EXT_PROPS = [ ["TitlesOfParts", "TitlesOfParts", "raw"] ]; -XMLNS.EXT_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"; -RELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'; - var PseudoPropsPairs = [ "Worksheets", "SheetNames", "NamedRanges", "DefinedNames", @@ -5128,17 +5163,15 @@ function parse_ext_props(data, p, opts) { return p; } -var EXT_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_ext_props(cp) { var o = [], W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; o[o.length] = (XML_HEADER); - o[o.length] = (EXT_PROPS_XML_ROOT); + o[o.length] = (writextag('Properties', null, { + 'xmlns': XMLNS.EXT_PROPS, + 'xmlns:vt': XMLNS.vt + })); EXT_PROPS.forEach(function(f) { if(cp[f[1]] === undefined) return; @@ -5157,9 +5190,6 @@ function write_ext_props(cp) { return o.join(""); } /* 15.2.12.2 Custom File Properties Part */ -XMLNS.CUST_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"; -RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; - var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data, opts) { var p = {}, name = ""; @@ -5205,13 +5235,11 @@ function parse_cust_props(data, opts) { return p; } -var CUST_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.CUST_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_cust_props(cp) { - var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; + var o = [XML_HEADER, writextag('Properties', null, { + 'xmlns': XMLNS.CUST_PROPS, + 'xmlns:vt': XMLNS.vt + })]; if(!cp) return o.join(""); var pid = 1; keys(cp).forEach(function custprop(k) { ++pid; @@ -5225,6 +5253,7 @@ function write_cust_props(cp) { return o.join(""); } /* from js-harb (C) 2014-present SheetJS */ +var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; var DBF = (function() { var dbf_codepage_map = { /* Code Pages Supported by Visual FoxPro */ @@ -5283,7 +5312,6 @@ var dbf_reverse_map = evert({ 0xCA: 1254, 0xCB: 1253, 0x00: 20127 }); -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; /* TODO: find an actual specification */ function dbf_to_aoa(buf, opts) { var out = []; @@ -5344,7 +5372,7 @@ var fields = [], field = ({}); var ww = l7 ? 32 : 11; while(d.l < hend && d[d.l] != 0x0d) { field = ({}); - field.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); + field.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\u0000\r\n].*$/g,""); d.l += ww; field.type = String.fromCharCode(d.read_shift(1)); if(ft != 0x02 && !l7) field.offset = d.read_shift(4); @@ -5398,7 +5426,7 @@ var fields = [], field = ({}); for(C = 0; C != fields.length; ++C) { var dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len; prep_blob(dd, 0); - var s = cptable.utils.decode(current_cp, dd); + var s = $cptable.utils.decode(current_cp, dd); switch(fields[C].type) { case 'C': // NOTE: it is conventional to write ' / / ' for empty dates @@ -5429,7 +5457,7 @@ var fields = [], field = ({}); out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break; case 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break; - case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break; + case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break; case 'O': out[R][C] = -dd.read_shift(-8, 'f'); break; case 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; } /* falls through */ @@ -5443,13 +5471,20 @@ var fields = [], field = ({}); } if(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error("DBF EOF Marker missing " + (d.l-1) + " of " + d.length + " " + d[d.l-1].toString(16)); if(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows); + opts.DBF = fields; return out; } function dbf_to_sheet(buf, opts) { var o = opts || {}; if(!o.dateNF) o.dateNF = "yyyymmdd"; - return aoa_to_sheet(dbf_to_aoa(buf, o), o); + var ws = aoa_to_sheet(dbf_to_aoa(buf, o), o); + ws["!cols"] = o.DBF.map(function(field) { return { + wch: field.len, + DBF: field + };}); + delete o.DBF; + return ws; } function dbf_to_workbook(buf, opts) { @@ -5465,10 +5500,11 @@ function sheet_to_dbf(ws, opts) { if(o.type == "string") throw new Error("Cannot write DBF to JS string"); var ba = buf_array(); var aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true}); - var headers = aoa[0], data = aoa.slice(1); + var headers = aoa[0], data = aoa.slice(1), cols = ws["!cols"] || []; var i = 0, j = 0, hcnt = 0, rlen = 1; for(i = 0; i < headers.length; ++i) { - if(i == null) continue; + if(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; } + if(headers[i] == null) continue; ++hcnt; if(typeof headers[i] === 'number') headers[i] = headers[i].toString(10); if(typeof headers[i] !== 'string') throw new Error("DBF Invalid column name " + headers[i] + " |" + (typeof headers[i]) + "|"); @@ -5477,13 +5513,15 @@ function sheet_to_dbf(ws, opts) { } var range = safe_decode_range(ws['!ref']); var coltypes = []; + var colwidths = []; + var coldecimals = []; for(i = 0; i <= range.e.c - range.s.c; ++i) { + var guess = '', _guess = '', maxlen = 0; var col = []; for(j=0; j < data.length; ++j) { if(data[j][i] != null) col.push(data[j][i]); } if(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; } - var guess = '', _guess = ''; for(j = 0; j < col.length; ++j) { switch(typeof col[j]) { /* TODO: check if L2 compat is desired */ @@ -5493,10 +5531,23 @@ function sheet_to_dbf(ws, opts) { case 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break; default: _guess = 'C'; } + maxlen = Math.max(maxlen, String(col[j]).length); guess = guess && guess != _guess ? 'C' : _guess; - if(guess == 'C') break; + //if(guess == 'C') break; } - rlen += _RLEN[guess] || 0; + if(maxlen > 250) maxlen = 250; + _guess = ((cols[i]||{}).DBF||{}).type; + /* TODO: more fine grained control over DBF type resolution */ + if(_guess == 'C') { + if(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len; + } + if(guess == 'B' && _guess == 'N') { + guess = 'N'; + coldecimals[i] = cols[i].DBF.dec; + maxlen = cols[i].DBF.len; + } + colwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0); + rlen += colwidths[i]; coltypes[i] = guess; } @@ -5515,14 +5566,14 @@ function sheet_to_dbf(ws, opts) { hf.write_shift(1, _f, "sbcs"); hf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], "sbcs"); hf.write_shift(4, j); - hf.write_shift(1, _RLEN[coltypes[i]] || 0); - hf.write_shift(1, 0); + hf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0); + hf.write_shift(1, coldecimals[i] || 0); hf.write_shift(1, 0x02); hf.write_shift(4, 0); hf.write_shift(1, 0); hf.write_shift(4, 0); hf.write_shift(4, 0); - j += _RLEN[coltypes[i]] || 0; + j += (colwidths[i] || _RLEN[coltypes[i]] || 0); } var hb = ba.next(264); @@ -5536,6 +5587,12 @@ function sheet_to_dbf(ws, opts) { switch(coltypes[j]) { case 'L': rout.write_shift(1, data[i][j] == null ? 0x3F : data[i][j] ? 0x54 : 0x46); break; case 'B': rout.write_shift(8, data[i][j]||0, 'f'); break; + case 'N': + var _n = "0"; + if(typeof data[i][j] == "number") _n = data[i][j].toFixed(coldecimals[j]||0); + for(hcnt=0; hcnt < colwidths[j]-_n.length; ++hcnt) rout.write_shift(1, 0x20); + rout.write_shift(1, _n, "sbcs"); + break; case 'D': if(!data[i][j]) rout.write_shift(8, "00000000", "sbcs"); else { @@ -5544,9 +5601,9 @@ function sheet_to_dbf(ws, opts) { rout.write_shift(2, ("00"+data[i][j].getDate()).slice(-2), "sbcs"); } break; case 'C': - var _s = String(data[i][j]||""); + var _s = String(data[i][j] != null ? data[i][j] : "").slice(0, colwidths[j]); rout.write_shift(1, _s, "sbcs"); - for(hcnt=0; hcnt < 250-_s.length; ++hcnt) rout.write_shift(1, 0x20); break; + for(hcnt=0; hcnt < colwidths[j]-_s.length; ++hcnt) rout.write_shift(1, 0x20); break; } } // data @@ -5555,7 +5612,6 @@ function sheet_to_dbf(ws, opts) { return ba.end(); } return { - versions: DBF_SUPPORTED_VERSIONS, to_workbook: dbf_to_workbook, to_sheet: dbf_to_sheet, from_sheet: sheet_to_dbf @@ -5640,7 +5696,7 @@ var SYLK = (function() { } else if(!isNaN(fuzzydate(val).getDate())) { val = parseDate(val); } - if(typeof cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = cptable.utils.decode(opts.codepage, val); + if(typeof $cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = $cptable.utils.decode(opts.codepage, val); C_seen_K = true; break; case 'E': @@ -6164,7 +6220,7 @@ var PRN = (function() { case 'binary': str = d; break; case 'buffer': if(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf - else if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d); + else if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d); else str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d); break; case 'array': str = cc2str(d); break; @@ -6173,7 +6229,7 @@ var PRN = (function() { } if(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3)); else if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str); - else if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(28591,str)); + else if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str)); if(str.slice(0,19) == "socialcalc:version:") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts); return prn_to_sheet_str(str, opts); } @@ -6435,13 +6491,12 @@ function parse_sst_xml(data, opts) { return s; } -RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; function write_sst_xml(sst, opts) { if(!opts.bookSST) return ""; var o = [XML_HEADER]; o[o.length] = (writextag('sst', null, { - xmlns: XMLNS.main[0], + xmlns: XMLNS_main[0], count: sst.Count, uniqueCount: sst.Unique })); @@ -6991,15 +7046,11 @@ return function parse_sty_xml(data, themes, opts) { }; })(); -var STYLES_XML_ROOT = writextag('styleSheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:vt': XMLNS.vt -}); - -RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; - function write_sty_xml(wb, opts) { - var o = [XML_HEADER, STYLES_XML_ROOT], w; + var o = [XML_HEADER, writextag('styleSheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:vt': XMLNS.vt + })], w; if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); o[o.length] = (''); @@ -7013,8 +7064,6 @@ function write_sty_xml(wb, opts) { if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; - /* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ var XLSXThemeClrScheme = [ '', '', '', '', @@ -7111,7 +7160,7 @@ var themeltregex = /]*)>[\s\S]*<\/a:themeElements>/; /* 14.2.7 Theme Part */ function parse_theme_xml(data, opts) { /* 20.1.6.9 theme CT_OfficeStyleSheet */ - if(!data || data.length === 0) return parse_theme_xml(write_theme()); + if(!data || data.length === 0) data = write_theme(); var t; var themes = {}; @@ -7294,13 +7343,13 @@ function write_theme(Themes, opts) { o[o.length] = ''; return o.join(""); } -RELS.XLMETA = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata"; function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [] }; + var out = { Types: [], Cell: [], Value: [] }; if (!data) return out; var pass = false; - data.replace(tagregex, function(x, idx) { + var metatype = 2; + data.replace(tagregex, function(x) { var y = parsexmltag(x); switch (strip_ns(y[0])) { case "": + break; case "": @@ -7323,15 +7374,24 @@ function parse_xlmeta_xml(data, name, opts) { case "": break; case "": break; case "": + metatype = 2; break; case "": + metatype = 2; break; case "": @@ -7370,7 +7430,7 @@ function parse_xlink_bin(data, rel, name, _opts) { var pass = false, end = false; - recordhopper(data, function xlink_parse(val, R_n, RT) { + recordhopper(data, function xlink_parse(val, R, RT) { if(end) return; switch(RT) { case 0x0167: /* 'BrtSupTabs' */ @@ -7402,16 +7462,12 @@ function parse_xlink_bin(data, rel, name, _opts) { pass = false; break; default: - if((R_n||"").indexOf("Begin") > 0){/* empty */} - else if((R_n||"").indexOf("End") > 0){/* empty */} - else if(!pass || opts.WTF) throw new Error("Unexpected record " + RT.toString(16) + " " + R_n); + if(R.T){/* empty */} + else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); } /* 20.5 DrawingML - SpreadsheetML Drawing */ -RELS.IMG = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -RELS.DRAW = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"; - /* 20.5.2.35 wsDr CT_Drawing */ function parse_drawing(data, rels) { if(!data) return "??"; @@ -7484,9 +7540,7 @@ function write_comments_vml(rId, comments) { o.push(''); return o.join(""); } -RELS.CMNT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; - -function sheet_insert_comments(sheet, comments) { +function sheet_insert_comments(sheet, comments, threaded, people) { var dense = Array.isArray(sheet); var cell; comments.forEach(function(comment) { @@ -7509,8 +7563,17 @@ function sheet_insert_comments(sheet, comments) { } if (!cell.c) cell.c = []; - var o = ({a: comment.author, t: comment.t, r: comment.r}); + var o = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); if(comment.h) o.h = comment.h; + + /* threaded comments always override */ + for(var i = cell.c.length - 1; i >= 0; --i) { + if(!threaded && cell.c[i].T) return; + if(threaded && !cell.c[i].T) cell.c.splice(i, 1); + } + if(threaded && people) for(i = 0; i < people.length; ++i) { + if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } + } cell.c.push(o); }); } @@ -7547,31 +7610,153 @@ function parse_comments_xml(data, opts) { return commentList; } -var CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] }); function write_comments_xml(data) { - var o = [XML_HEADER, CMNT_XML_ROOT]; + var o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })]; var iauthor = []; o.push(""); data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) > -1) return; - iauthor.push(a); - o.push("" + a + ""); + if(iauthor.indexOf(a) == -1) { + iauthor.push(a); + o.push("" + a + ""); + } + if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { + iauthor.push("tc=" + w.ID); + o.push("" + "tc=" + w.ID + ""); + } }); }); + if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } o.push(""); o.push(""); data.forEach(function(d) { - d[1].forEach(function(c) { - /* 18.7.3 CT_Comment */ - o.push(''); - o.push(writetag("t", c.t == null ? "" : escapexml(c.t))); - o.push(''); + /* 18.7.3 CT_Comment */ + var lastauthor = 0, ts = []; + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); + else d[1].forEach(function(c) { + if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); + ts.push(c.t||""); }); + o.push(''); + if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); + else { + /* based on Threaded Comments -> Comments projection */ + var t = "Comment:\n " + (ts[0]) + "\n"; + for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; + o.push(writetag("t", escapexml(t))); + } + o.push(''); }); o.push(""); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } + +/* [MS-XLSX] 2.1.17 */ +function parse_tcmnt_xml(data, opts) { + var out = []; + var pass = false, comment = {}, tidx = 0; + data.replace(tagregex, function xml_tcmnt(x, idx) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.205 threadedComment CT_ThreadedComment */ + case '': if(comment.t != null) out.push(comment); break; + + case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; + + /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ + case '': pass = true; break; + case '': pass = false; break; + + /* 2.6.202 mention CT_Mention TODO */ + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} + +function write_tcmnt_xml(comments, people, opts) { + var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; + comments.forEach(function(carr) { + var rootid = ""; + (carr[1] || []).forEach(function(c, idx) { + if(!c.T) { delete c.ID; return; } + if(c.a && people.indexOf(c.a) == -1) people.push(c.a); + var tcopts = { + ref: carr[0], + id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" + }; + if(idx == 0) rootid = tcopts.id; + else tcopts.parentId = rootid; + c.ID = tcopts.id; + if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; + o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); + }); + }); + o.push(''); + return o.join(""); +} + +/* [MS-XLSX] 2.1.18 */ +function parse_people_xml(data, opts) { + var out = []; + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.203 person CT_Person TODO: providers */ + case '': break; + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} +function write_people_xml(people/*, opts*/) { + var o = [XML_HEADER, writextag('personList', null, { + 'xmlns': XMLNS.TCMNT, + 'xmlns:x': XMLNS_main[0] + }).replace(/[\/]>/, ">")]; + people.forEach(function(person, idx) { + o.push(writextag('person', null, { + displayName: person, + id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", + userId: person, + providerId: "None" + })); + }); + o.push(""); + return o.join(""); +} var CT_VBA = "application/vnd.ms-office.vbaProject"; function make_vba_xls(cfb) { var newcfb = CFB.utils.cfb_new({ root: "R" }); @@ -7593,9 +7778,6 @@ function fill_vba_xls(cfb, vba) { }); } var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -RELS.DS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"; -RELS.MS = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet"; - /* macro and dialog sheet stubs */ function parse_ds_bin() { return {'!type':'dialog'}; } function parse_ds_xml() { return {'!type':'dialog'}; } @@ -7627,7 +7809,7 @@ var rc_to_a1 = (function(){ })(); var crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g; -var a1_to_rc =(function(){ +var a1_to_rc = (function(){ return function a1_to_rc(fstr, base) { return fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) { var c = decode_col($3) - ($2 ? 0 : base.c); @@ -7696,10 +7878,6 @@ function csf_to_ods_3D(r) { var strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options -RELS.WS = [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" -]; /*global Map */ var browser_has_Map = typeof Map !== 'undefined'; @@ -7933,7 +8111,7 @@ function parse_ws_xml_sheetpr(sheetPr, s, wb, idx) { if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); } -function parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx, styles, themes) { +function parse_ws_xml_sheetpr2(sheetPr, body, s, wb, idx) { parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { @@ -8084,7 +8262,8 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb) { } function write_ws_xml_cell(cell, ref, ws, opts) { - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z') return ""; + if(cell.c) ws['!comments'].push([ref, cell.c]); + if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { @@ -8126,7 +8305,6 @@ function write_ws_xml_cell(cell, ref, ws, opts) { v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); } if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.c) ws['!comments'].push([ref, cell.c]); if(cell.D) o.cm = 1; return writextag('c', v, o); } @@ -8305,8 +8483,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { safe_format(p, fmtid, fillid, opts, themes, styles); if(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Types||[])[+tag.cm-1]; - if(cm && cm.name == 'XLDAPR') p.D = true; + var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; + if(cm && cm.type == 'XLDAPR') p.D = true; } if(dense) { var _r = decode_cell(tag.r); @@ -8362,13 +8540,11 @@ function write_ws_xml_data(ws, opts, idx, wb) { return o.join(""); } -var WS_XML_ROOT = writextag('worksheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - function write_ws_xml(idx, opts, wb, rels) { - var o = [XML_HEADER, WS_XML_ROOT]; + var o = [XML_HEADER, writextag('worksheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:r': XMLNS.r + })]; var s = wb.SheetNames[idx], sidx = 0, rdata = ""; var ws = wb.Sheets[s]; if(ws == null) ws = {}; @@ -8482,9 +8658,6 @@ ws['!links'].forEach(function(l) { if(o.length>1) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -RELS.CHART = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"; -RELS.CHARTEX = "http://schemas.microsoft.com/office/2014/relationships/chartEx"; - function parse_Cache(data) { var col = []; var num = data.match(/^/); @@ -8532,11 +8705,6 @@ function parse_chart(data, name, opts, rels, wb, csheet) { } RELS.CS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"; -var CS_XML_ROOT = writextag('chartsheet', null, { - 'xmlns': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - /* 18.3 Worksheets also covers Chartsheets */ function parse_cs_xml(data, opts, idx, rels, wb) { if(!data) return data; @@ -8556,7 +8724,10 @@ function parse_cs_xml(data, opts, idx, rels, wb) { return s; } function write_cs_xml(idx, opts, wb, rels) { - var o = [XML_HEADER, CS_XML_ROOT]; + var o = [XML_HEADER, writextag('chartsheet', null, { + 'xmlns': XMLNS_main[0], + 'xmlns:r': XMLNS.r + })]; o[o.length] = writextag("drawing", null, {"r:id": "rId1"}); add_rels(rels, -1, "../drawings/drawing" + (idx+1) + ".xml", RELS.DRAW); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } @@ -8859,23 +9030,21 @@ function parse_wb_xml(data, opts) { } return x; }); - if(XMLNS.main.indexOf(wb.xmlns) === -1) throw new Error("Unknown Namespace: " + wb.xmlns); + if(XMLNS_main.indexOf(wb.xmlns) === -1) throw new Error("Unknown Namespace: " + wb.xmlns); parse_wb_defaults(wb); return wb; } -var WB_XML_ROOT = writextag('workbook', null, { - 'xmlns': XMLNS.main[0], - //'xmlns:mx': XMLNS.mx, - //'xmlns:s': XMLNS.main[0], - 'xmlns:r': XMLNS.r -}); - function write_wb_xml(wb) { var o = [XML_HEADER]; - o[o.length] = WB_XML_ROOT; + o[o.length] = writextag('workbook', null, { + 'xmlns': XMLNS_main[0], + //'xmlns:mx': XMLNS.mx, + //'xmlns:s': XMLNS_main[0], + 'xmlns:r': XMLNS.r + }); var write_names = (wb.Workbook && (wb.Workbook.Names||[]).length > 0); @@ -9085,7 +9254,7 @@ var HTML_ = (function() { m = htmldecode(m); if(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R; if(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C; - if(!m.length) continue; + if(!m.length) { C += CS; continue; } var o = {t:'s', v:m}; if(opts.raw || !m.trim().length || _t == 's'){} else if(m === 'TRUE') o = {t:'b', v:true}; @@ -9109,8 +9278,8 @@ var HTML_ = (function() { var mtch = str.match(/[\s\S]*?<\/table>/gi); if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find
"); if(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts); - var wb = utils.book_new(); - mtch.forEach(function(s, idx) { utils.book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); + var wb = book_new(); + mtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), "Sheet" + (idx+1)); }); return wb; } function make_html_row(ws, r, R, o) { @@ -9284,37 +9453,36 @@ function get_get_computed_style_function(element) { return null; } /* OpenDocument */ -var parse_content_xml = (function() { +function parse_text_p(text) { + /* 6.1.2 White Space Characters */ + var fixed = text + .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") + .replace(//g," ") + .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) + .replace(/]*\/>/g,"\t") + .replace(//g,"\n"); + var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); - var parse_text_p = function(text) { - /* 6.1.2 White Space Characters */ - var fixed = text - .replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ") - .replace(//g," ") - .replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(" "); }) - .replace(/]*\/>/g,"\t") - .replace(//g,"\n"); - var v = unescapexml(fixed.replace(/<[^>]*>/g,"")); + return [v]; +} - return [v]; - }; +var number_formats_ods = { + /* ods name: [short ssf fmt, long ssf fmt] */ + day: ["d", "dd"], + month: ["m", "mm"], + year: ["y", "yy"], + hours: ["h", "hh"], + minutes: ["m", "mm"], + seconds: ["s", "ss"], + "am-pm": ["A/P", "AM/PM"], + "day-of-week": ["ddd", "dddd"], + era: ["e", "ee"], + /* there is no native representation of LO "Q" format */ + quarter: ["\\Qm", "m\\\"th quarter\""] +}; - var number_formats = { - /* ods name: [short ssf fmt, long ssf fmt] */ - day: ["d", "dd"], - month: ["m", "mm"], - year: ["y", "yy"], - hours: ["h", "hh"], - minutes: ["m", "mm"], - seconds: ["s", "ss"], - "am-pm": ["A/P", "AM/PM"], - "day-of-week": ["ddd", "dddd"], - era: ["e", "ee"], - /* there is no native representation of LO "Q" format */ - quarter: ["\\Qm", "m\\\"th quarter\""] - }; - return function pcx(d, _opts) { +function parse_content_xml(d, _opts) { var opts = _opts || {}; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var str = xlml_normalize(d); @@ -9593,7 +9761,7 @@ var parse_content_xml = (function() { case 'time-style': case 'date-style': tag = parsexmltag(Rn[0], false); - NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; } break; case 'fraction': break; // TODO 16.27.6 @@ -9613,7 +9781,7 @@ var parse_content_xml = (function() { case 'time-style': case 'date-style': tag = parsexmltag(Rn[0], false); - NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + NF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break; } break; case 'boolean-style': break; // 16.27.23 @@ -9837,8 +10005,7 @@ var parse_content_xml = (function() { }); if(opts.bookSheets) delete out.Sheets; return out; - }; -})(); +} function parse_ods(zip, opts) { opts = opts || ({}); @@ -9854,7 +10021,7 @@ function parse_fods(data, opts) { } /* OpenDocument */ -var write_styles_ods = (function() { +var write_styles_ods = /* @__PURE__ */(function() { var master_styles = [ '', '', @@ -9885,7 +10052,7 @@ var write_styles_ods = (function() { return XML_HEADER + payload; }; })(); -var write_content_ods = (function() { +var write_content_ods = /* @__PURE__ */(function() { /* 6.1.2 White Space Characters */ var write_text_p = function(text) { return escapexml(text) @@ -10159,7 +10326,7 @@ function fix_opts_func(defaults) { }; } -var fix_read_opts = function(opts) { +function fix_read_opts(opts) { fix_opts_func([ ['cellNF', false], /* emit cell number format string as .z */ ['cellHTML', true], /* emit html string as .h */ @@ -10180,9 +10347,10 @@ fix_opts_func([ ['password',''], /* password */ ['WTF', false] /* WTF mode (throws errors) */ ])(opts); -}; +} -var fix_write_opts = fix_opts_func([ +function fix_write_opts(opts) { +fix_opts_func([ ['cellDates', false], /* write date cells with type `d` */ ['bookSST', false], /* Generate Shared String Table */ @@ -10192,7 +10360,8 @@ var fix_write_opts = fix_opts_func([ ['compression', false], /* Use file compression */ ['WTF', false] /* WTF mode (throws errors) */ -]); +])(opts); +} function get_sheet_type(n) { if(RELS.WS.indexOf(n) > -1) return "sheet"; if(RELS.CS && n == RELS.CS) return "chart"; @@ -10230,16 +10399,22 @@ function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, st } sheets[sheet] = _ws; - /* scan rels for comments */ - var comments = []; + /* scan rels for comments and threaded comments */ + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { + var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { - var dfile = resolve_path(sheetRels[sheet][n].Target, path); - comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); + dfile = resolve_path(sheetRels[sheet][n].Target, path); + var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments); + sheet_insert_comments(_ws, comments, false); + } + if(sheetRels[sheet][n].Type == RELS.TCMNT) { + dfile = resolve_path(sheetRels[sheet][n].Target, path); + tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); } }); + if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); } catch(e) { if(opts.WTF) throw e; } } @@ -10257,11 +10432,11 @@ function parse_zip(zip, opts) { /* Numbers */ if(safegetzipfile(zip, 'Index/Document.iwa')) { if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof NUMBERS != "undefined") { - if(zip.FileIndex) return NUMBERS.parse_numbers(zip); + if(typeof parse_numbers_iwa != "undefined") { + if(zip.FileIndex) return parse_numbers_iwa(zip); var _zip = CFB.utils.cfb_new(); zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return NUMBERS.parse_numbers(_zip); + return parse_numbers_iwa(_zip); } throw new Error('Unsupported NUMBERS file'); } @@ -10363,8 +10538,11 @@ function parse_zip(zip, opts) { opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); } - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); + if((dir.people || []).length >= 1) { + opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); + } + if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; @@ -10475,9 +10653,14 @@ if(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std7 function write_zip(wb, opts) { if(opts.bookType == "ods") return write_ods(wb, opts); - return write_zip_xlsxb(wb, opts); + if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); + return write_zip_xlsx(wb, opts); } +/* XLSX and XLSB writing are very similar. Originally they were unified in one + export function. This is horrible for tree shaking in the common case (most + applications need to export files in one format) so this function supports + both formats while write_zip_xlsx only handles XLSX */ function write_zip_xlsxb(wb, opts) { _shapeid = 1024; if(wb && !wb.SSF) { @@ -10548,8 +10731,9 @@ f = "docProps/app.xml"; if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -10611,7 +10795,6 @@ f = "docProps/app.xml"; return zip; } -/* this version does not reference XLSB write functions */ function write_zip_xlsx(wb, opts) { _shapeid = 1024; if(wb && !wb.SSF) { @@ -10665,6 +10848,9 @@ f = "docProps/app.xml"; add_rels(opts.rels, 4, f, RELS.CUST_PROPS); } + var people = ["SheetJ5"]; + opts.tcid = 0; + for(rId=1;rId <= wb.SheetNames.length; ++rId) { var wsrels = {'!id':{}}; var ws = wb.Sheets[wb.SheetNames[rId-1]]; @@ -10682,8 +10868,20 @@ f = "docProps/app.xml"; if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + var needtc = false; + comments.forEach(function(carr) { + carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); + }); + if(needtc) { + cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); + } + + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -10737,6 +10935,13 @@ f = "docProps/app.xml"; ct.metadata.push(f); add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); + if(people.length > 1) { + f = "xl/persons/person.xml"; + zip_add_file(zip, f, write_people_xml(people, opts)); + ct.people.push(f); + add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); + } + zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels)); @@ -10797,7 +11002,7 @@ function read_plaintext_raw(data, o) { function read_utf16(data, o) { var d = data; if(o.type == 'base64') d = Base64.decode(d); - d = cptable.utils.decode(1200, d.slice(2), 'str'); + d = $cptable.utils.decode(1200, d.slice(2), 'str'); o.type = "binary"; return read_plaintext(d, o); } @@ -10855,7 +11060,7 @@ function readSync(data, opts) { case 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o); case 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break; } - if(DBF.versions.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); + if(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o); return read_prn(data, d, o, str); } @@ -10863,29 +11068,6 @@ function readFileSync(filename, opts) { var o = opts||{}; o.type = 'file'; return readSync(filename, o); } -function write_obj_str(factory) { - return function write_str(wb, o) { - var idx = 0; - if(o.sheet) { - if(typeof o.sheet == "number") idx = o.sheet; - else idx = wb.SheetNames.indexOf(o.sheet); - if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); - } - return factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb); - }; -} - -var write_htm_str = write_obj_str(HTML_); -var write_csv_str = write_obj_str({from_sheet:sheet_to_csv}); -var write_slk_str = write_obj_str(typeof SYLK !== "undefined" ? SYLK : {}); -var write_dif_str = write_obj_str(typeof DIF !== "undefined" ? DIF : {}); -var write_prn_str = write_obj_str(typeof PRN !== "undefined" ? PRN : {}); -var write_rtf_str = write_obj_str(typeof RTF !== "undefined" ? RTF : {}); -var write_txt_str = write_obj_str({from_sheet:sheet_to_txt}); -var write_dbf_buf = write_obj_str(typeof DBF !== "undefined" ? DBF : {}); -var write_eth_str = write_obj_str(typeof ETH !== "undefined" ? ETH : {}); -var write_wk1_buf = write_obj_str(typeof WK_ !== "undefined" ? {from_sheet:WK_.sheet_to_wk1} : {}); - function write_cfb_ctr(cfb, o) { switch(o.type) { case "base64": case "binary": break; @@ -11002,22 +11184,28 @@ function writeSync(wb, opts) { var o = dup(opts||{}); if(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; } if(o.type == "array") { o.type = "binary"; var out = (writeSync(wb, o)); o.type = "array"; return s2ab(out); } + var idx = 0; + if(o.sheet) { + if(typeof o.sheet == "number") idx = o.sheet; + else idx = wb.SheetNames.indexOf(o.sheet); + if(!wb.SheetNames[idx]) throw new Error("Sheet not found: " + o.sheet + " : " + (typeof o.sheet)); + } switch(o.bookType || 'xlsb') { case 'xml': case 'xlml': return write_string_type(write_xlml(wb, o), o); case 'slk': - case 'sylk': return write_string_type(write_slk_str(wb, o), o); + case 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); case 'htm': - case 'html': return write_string_type(write_htm_str(wb, o), o); - case 'txt': return write_stxt_type(write_txt_str(wb, o), o); - case 'csv': return write_string_type(write_csv_str(wb, o), o, "\ufeff"); - case 'dif': return write_string_type(write_dif_str(wb, o), o); - case 'dbf': return write_binary_type(write_dbf_buf(wb, o), o); - case 'prn': return write_string_type(write_prn_str(wb, o), o); - case 'rtf': return write_string_type(write_rtf_str(wb, o), o); - case 'eth': return write_string_type(write_eth_str(wb, o), o); + case 'html': return write_string_type(HTML_.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, "\ufeff"); + case 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); + case 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o); case 'fods': return write_string_type(write_ods(wb, o), o); - case 'wk1': return write_binary_type(write_wk1_buf(wb, o), o); + case 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o); case 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o); case 'biff2': if(!o.biff) o.biff = 2; /* falls through */ case 'biff3': if(!o.biff) o.biff = 3; /* falls through */ @@ -11132,9 +11320,13 @@ function sheet_to_json(sheet, opts) { var out = []; var outi = 0, counter = 0; var dense = Array.isArray(sheet); - var R = r.s.r, C = 0, CC = 0; + var R = r.s.r, C = 0; + var header_cnt = {}; if(dense && !sheet[R]) sheet[R] = []; + var colinfo = o.skipHidden && sheet["!cols"] || []; + var rowinfo = o.skipHidden && sheet["!rows"] || []; for(C = r.s.c; C <= r.e.c; ++C) { + if(((colinfo[C]||{}).hidden)) continue; cols[C] = encode_col(C); val = dense ? sheet[R][C] : sheet[cols[C] + rr]; switch(header) { @@ -11144,12 +11336,17 @@ function sheet_to_json(sheet, opts) { default: if(val == null) val = {w: "__EMPTY", t: "s"}; vv = v = format_cell(val, null, o); - counter = 0; - for(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) { vv = v + "_" + (++counter); CC = -1; } + counter = header_cnt[v] || 0; + if(!counter) header_cnt[v] = 1; + else { + do { vv = v + "_" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter; + header_cnt[vv] = 1; + } hdr[C] = vv; } } for (R = r.s.r + offset; R <= r.e.r; ++R) { + if ((rowinfo[R]||{}).hidden) continue; var row = make_json_row(sheet, r, R, cols, header, hdr, dense, o); if((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row; } @@ -11209,8 +11406,8 @@ function sheet_to_csv(sheet, opts) { function sheet_to_txt(sheet, opts) { if(!opts) opts = {}; opts.FS = "\t"; opts.RS = "\n"; var s = sheet_to_csv(sheet, opts); - if(typeof cptable == 'undefined' || opts.type == 'string') return s; - var o = cptable.utils.encode(1200, s, 'str'); + if(typeof $cptable == 'undefined' || opts.type == 'string') return s; + var o = $cptable.utils.encode(1200, s, 'str'); return String.fromCharCode(255) + String.fromCharCode(254) + o; } @@ -11279,7 +11476,7 @@ function sheet_add_json(_ws, js, opts) { var t = 'z'; var z = ""; var ref = encode_cell({c:_C + C,r:_R + R + offset}); - cell = utils.sheet_get_cell(ws, ref); + cell = ws_get_cell_stub(ws, ref); if(v && typeof v === 'object' && !(v instanceof Date)){ ws[ref] = v; } else { @@ -11310,6 +11507,110 @@ function sheet_add_json(_ws, js, opts) { } function json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); } +/* get cell, creating a stub if necessary */ +function ws_get_cell_stub(ws, R, C) { + /* A1 cell address */ + if(typeof R == "string") { + /* dense */ + if(Array.isArray(ws)) { + var RC = decode_cell(R); + if(!ws[RC.r]) ws[RC.r] = []; + return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); + } + return ws[R] || (ws[R] = {t:'z'}); + } + /* cell address object */ + if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); + /* R and C are 0-based indices */ + return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); +} + +/* find sheet index for given name / validate index */ +function wb_sheet_idx(wb, sh) { + if(typeof sh == "number") { + if(sh >= 0 && wb.SheetNames.length > sh) return sh; + throw new Error("Cannot find sheet # " + sh); + } else if(typeof sh == "string") { + var idx = wb.SheetNames.indexOf(sh); + if(idx > -1) return idx; + throw new Error("Cannot find sheet name |" + sh + "|"); + } else throw new Error("Cannot find sheet |" + sh + "|"); +} + +/* simple blank workbook object */ +function book_new() { + return { SheetNames: [], Sheets: {} }; +} + +/* add a worksheet to the end of a given workbook */ +function book_append_sheet(wb, ws, name) { + if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; + if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); + check_ws_name(name); + if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); + + wb.SheetNames.push(name); + wb.Sheets[name] = ws; +} + +/* set sheet visibility (visible/hidden/very hidden) */ +function book_set_sheet_visibility(wb, sh, vis) { + if(!wb.Workbook) wb.Workbook = {}; + if(!wb.Workbook.Sheets) wb.Workbook.Sheets = []; + + var idx = wb_sheet_idx(wb, sh); + // $FlowIgnore + if(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {}; + + switch(vis) { + case 0: case 1: case 2: break; + default: throw new Error("Bad sheet visibility setting " + vis); + } + // $FlowIgnore + wb.Workbook.Sheets[idx].Hidden = vis; +} + +/* set number format */ +function cell_set_number_format(cell, fmt) { + cell.z = fmt; + return cell; +} + +/* set cell hyperlink */ +function cell_set_hyperlink(cell, target, tooltip) { + if(!target) { + delete cell.l; + } else { + cell.l = ({ Target: target }); + if(tooltip) cell.l.Tooltip = tooltip; + } + return cell; +} +function cell_set_internal_link(cell, range, tooltip) { return cell_set_hyperlink(cell, "#" + range, tooltip); } + +/* add to cell comments */ +function cell_add_comment(cell, text, author) { + if(!cell.c) cell.c = []; + cell.c.push({t:text, a:author||"SheetJS"}); +} + +/* set array formula and flush related cells */ +function sheet_set_array_formula(ws, range, formula, dynamic) { + var rng = typeof range != "string" ? range : safe_decode_range(range); + var rngstr = typeof range == "string" ? range : encode_range(range); + for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { + var cell = ws_get_cell_stub(ws, R, C); + cell.t = 'n'; + cell.F = rngstr; + delete cell.v; + if(R == rng.s.r && C == rng.s.c) { + cell.f = formula; + if(dynamic) cell.D = true; + } + } + return ws; +} + var utils = { encode_col: encode_col, encode_row: encode_row, @@ -11333,128 +11634,23 @@ var utils = { sheet_to_json: sheet_to_json, sheet_to_html: HTML_.from_sheet, sheet_to_formulae: sheet_to_formulae, - sheet_to_row_object_array: sheet_to_json -}; - -(function(utils) { -utils.consts = utils.consts || {}; -function add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); } - -function get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); } - -/* get cell, creating a stub if necessary */ -function ws_get_cell_stub(ws, R, C) { - /* A1 cell address */ - if(typeof R == "string") { - /* dense */ - if(Array.isArray(ws)) { - var RC = decode_cell(R); - if(!ws[RC.r]) ws[RC.r] = []; - return ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'}); - } - return ws[R] || (ws[R] = {t:'z'}); + sheet_to_row_object_array: sheet_to_json, + sheet_get_cell: ws_get_cell_stub, + book_new: book_new, + book_append_sheet: book_append_sheet, + book_set_sheet_visibility: book_set_sheet_visibility, + cell_set_number_format: cell_set_number_format, + cell_set_hyperlink: cell_set_hyperlink, + cell_set_internal_link: cell_set_internal_link, + cell_add_comment: cell_add_comment, + sheet_set_array_formula: sheet_set_array_formula, + consts: { + SHEET_VISIBLE: 0, + SHEET_HIDDEN: 1, + SHEET_VERY_HIDDEN: 2 } - /* cell address object */ - if(typeof R != "number") return ws_get_cell_stub(ws, encode_cell(R)); - /* R and C are 0-based indices */ - return ws_get_cell_stub(ws, encode_cell({r:R,c:C||0})); -} -utils.sheet_get_cell = ws_get_cell_stub; - -/* find sheet index for given name / validate index */ -function wb_sheet_idx(wb, sh) { - if(typeof sh == "number") { - if(sh >= 0 && wb.SheetNames.length > sh) return sh; - throw new Error("Cannot find sheet # " + sh); - } else if(typeof sh == "string") { - var idx = wb.SheetNames.indexOf(sh); - if(idx > -1) return idx; - throw new Error("Cannot find sheet name |" + sh + "|"); - } else throw new Error("Cannot find sheet |" + sh + "|"); -} - -/* simple blank workbook object */ -utils.book_new = function() { - return { SheetNames: [], Sheets: {} }; }; -/* add a worksheet to the end of a given workbook */ -utils.book_append_sheet = function(wb, ws, name) { - if(!name) for(var i = 1; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break; - if(!name || wb.SheetNames.length >= 0xFFFF) throw new Error("Too many worksheets"); - check_ws_name(name); - if(wb.SheetNames.indexOf(name) >= 0) throw new Error("Worksheet with name |" + name + "| already exists!"); - - wb.SheetNames.push(name); - wb.Sheets[name] = ws; -}; - -/* set sheet visibility (visible/hidden/very hidden) */ -utils.book_set_sheet_visibility = function(wb, sh, vis) { - get_default(wb,"Workbook",{}); - get_default(wb.Workbook,"Sheets",[]); - - var idx = wb_sheet_idx(wb, sh); - // $FlowIgnore - get_default(wb.Workbook.Sheets,idx, {}); - - switch(vis) { - case 0: case 1: case 2: break; - default: throw new Error("Bad sheet visibility setting " + vis); - } - // $FlowIgnore - wb.Workbook.Sheets[idx].Hidden = vis; -}; -add_consts([ - ["SHEET_VISIBLE", 0], - ["SHEET_HIDDEN", 1], - ["SHEET_VERY_HIDDEN", 2] -]); - -/* set number format */ -utils.cell_set_number_format = function(cell, fmt) { - cell.z = fmt; - return cell; -}; - -/* set cell hyperlink */ -utils.cell_set_hyperlink = function(cell, target, tooltip) { - if(!target) { - delete cell.l; - } else { - cell.l = ({ Target: target }); - if(tooltip) cell.l.Tooltip = tooltip; - } - return cell; -}; -utils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, "#" + range, tooltip); }; - -/* add to cell comments */ -utils.cell_add_comment = function(cell, text, author) { - if(!cell.c) cell.c = []; - cell.c.push({t:text, a:author||"SheetJS"}); -}; - -/* set array formula and flush related cells */ -utils.sheet_set_array_formula = function(ws, range, formula, dynamic) { - var rng = typeof range != "string" ? range : safe_decode_range(range); - var rngstr = typeof range == "string" ? range : encode_range(range); - for(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) { - var cell = ws_get_cell_stub(ws, R, C); - cell.t = 'n'; - cell.F = rngstr; - delete cell.v; - if(R == rng.s.r && C == rng.s.c) { - cell.f = formula; - if(dynamic) cell.D = true; - } - } - return ws; -}; - -return utils; -})(utils); - if(typeof parse_xlscfb !== "undefined") XLSX.parse_xlscfb = parse_xlscfb; XLSX.parse_zip = parse_zip; XLSX.read = readSync; //xlsread diff --git a/xlsx.mjs b/xlsx.mjs index 82e08cf..6ba7173 100644 --- a/xlsx.mjs +++ b/xlsx.mjs @@ -1,9 +1,9 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*exported XLSX */ -/*global process:false, Buffer:false, ArrayBuffer:false, Deno:false */ +/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; -XLSX.version = '0.18.3'; +XLSX.version = '0.18.4'; var current_codepage = 1200, current_ansi = 1252; var VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ]; @@ -3376,8 +3376,7 @@ function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length /* TODO: stress test */ function fuzzynum(s/*:string*/)/*:number*/ { var v/*:number*/ = Number(s); - if(isFinite(v)) return v; - if(!isNaN(v)) return NaN; + if(!isNaN(v)) return isFinite(v) ? v : NaN; if(!/\d/.test(s)) return v; var wt = 1; var ss = s.replace(/([\d]),([\d])/g,"$1$2").replace(/[$]/g,"").replace(/[%]/g, function() { wt *= 100; return "";}); @@ -3597,7 +3596,7 @@ var xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() { function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; })(); -function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); }; +function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\ "); } function parsexmlbool(value/*:any*/)/*:boolean*/ { switch(value) { @@ -3769,6 +3768,7 @@ var XMLNS = ({ EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", CT: 'http://schemas.openxmlformats.org/package/2006/content-types', RELS: 'http://schemas.openxmlformats.org/package/2006/relationships', + TCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments', 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -4739,9 +4739,6 @@ var SummaryPIDSI = { /*::[*/0x72627262/*::]*/: {} }; -var DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, "n"); -var SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, "n"); - /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { /*::[*/0x0001/*::]*/: "US", // United States @@ -4981,6 +4978,8 @@ var ct2type/*{[string]:string}*/ = ({ /* Comments */ "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", "application/vnd.ms-excel.comments": "comments", + "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", + "application/vnd.ms-excel.person+xml": "people", /* Metadata (Stock/Geography and Dynamic Array) */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", @@ -5024,10 +5023,6 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", - /* Metadata */ - "application/vnd.ms-excel.sheetMetadata": "metadata", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", - /* PivotCache */ "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", @@ -5155,9 +5150,9 @@ var CT_LIST = { function new_ct()/*:any*/ { return ({ workbooks:[], sheets:[], charts:[], dialogs:[], macros:[], - rels:[], strs:[], comments:[], links:[], + rels:[], strs:[], comments:[], threadedcomments:[], links:[], coreprops:[], extprops:[], custprops:[], themes:[], styles:[], - calcchains:[], vba: [], drawings: [], metadata: [], + calcchains:[], vba: [], drawings: [], metadata: [], people:[], TODO:[], xmlns: "" }/*:any*/); } @@ -5191,32 +5186,30 @@ var CTYPE_XML_ROOT = writextag('Types', null, { 'xmlns:xsi': XMLNS.xsi }); -var CTYPE_DEFAULTS = [ - ['xml', 'application/xml'], - ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], - ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], - ['data', 'application/vnd.openxmlformats-officedocument.model+data'], - /* from test files */ - ['bmp', 'image/bmp'], - ['png', 'image/png'], - ['gif', 'image/gif'], - ['emf', 'image/x-emf'], - ['wmf', 'image/x-wmf'], - ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], - ['tif', 'image/tiff'], ['tiff', 'image/tiff'], - ['pdf', 'application/pdf'], - ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] -].map(function(x) { - return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); -}); - function write_ct(ct, opts)/*:string*/ { var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); var o/*:Array*/ = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); - o = o.concat(CTYPE_DEFAULTS); + o = o.concat([ + ['xml', 'application/xml'], + ['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'], + ['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'], + ['data', 'application/vnd.openxmlformats-officedocument.model+data'], + /* from test files */ + ['bmp', 'image/bmp'], + ['png', 'image/png'], + ['gif', 'image/gif'], + ['emf', 'image/x-emf'], + ['wmf', 'image/x-wmf'], + ['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'], + ['tif', 'image/tiff'], ['tiff', 'image/tiff'], + ['pdf', 'application/pdf'], + ['rels', 'application/vnd.openxmlformats-package.relationships+xml'] + ].map(function(x) { + return writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]}); + })); /* only write first instance */ var f1 = function(w) { @@ -5257,8 +5250,10 @@ function write_ct(ct, opts)/*:string*/ { ['coreprops', 'extprops', 'custprops'].forEach(f3); f3('vba'); f3('comments'); + f3('threadedcomments'); f3('drawings'); f2('metadata'); + f3('people'); if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } @@ -5273,9 +5268,31 @@ var RELS = ({ XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", + CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", + EXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + CUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", + STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", + CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", + CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", + WS: [ + "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", + "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" + ], + DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", + MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", + IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", + DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", + XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", + TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", + PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" }/*:any*/); + /* 9.3.3 Representing Relationships */ function get_rels_path(file/*:string*/)/*:string*/ { var n = file.lastIndexOf("/"); @@ -5419,8 +5436,6 @@ var CORE_PROPS/*:Array >*/ = [ ["dcterms:modified", "ModifiedDate", 'date'] ]; -RELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'; - var CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { @@ -5444,15 +5459,6 @@ function parse_core_props(data) { return p; } -var CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, { - //'xmlns': XMLNS.CORE_PROPS, - 'xmlns:cp': XMLNS.CORE_PROPS, - 'xmlns:dc': XMLNS.dc, - 'xmlns:dcterms': XMLNS.dcterms, - 'xmlns:dcmitype': XMLNS.dcmitype, - 'xmlns:xsi': XMLNS.xsi -}); - function cp_doit(f, g, h, o, p) { if(p[f] != null || g == null || g === "") return; p[f] = g; @@ -5462,7 +5468,14 @@ function cp_doit(f, g, h, o, p) { function write_core_props(cp, _opts) { var opts = _opts || {}; - var o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {}; + var o = [XML_HEADER, writextag('cp:coreProperties', null, { + //'xmlns': XMLNS.CORE_PROPS, + 'xmlns:cp': XMLNS.CORE_PROPS, + 'xmlns:dc': XMLNS.dc, + 'xmlns:dcterms': XMLNS.dcterms, + 'xmlns:dcmitype': XMLNS.dcmitype, + 'xmlns:xsi': XMLNS.xsi + })], p = {}; if(!cp && !opts.Props) return o.join(""); if(cp) { @@ -5497,8 +5510,6 @@ var EXT_PROPS/*:Array >*/ = [ ["TitlesOfParts", "TitlesOfParts", "raw"] ]; -RELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'; - var PseudoPropsPairs = [ "Worksheets", "SheetNames", "NamedRanges", "DefinedNames", @@ -5572,17 +5583,15 @@ function parse_ext_props(data, p, opts) { return p; } -var EXT_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.EXT_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_ext_props(cp/*::, opts*/)/*:string*/ { var o/*:Array*/ = [], W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; o[o.length] = (XML_HEADER); - o[o.length] = (EXT_PROPS_XML_ROOT); + o[o.length] = (writextag('Properties', null, { + 'xmlns': XMLNS.EXT_PROPS, + 'xmlns:vt': XMLNS.vt + })); EXT_PROPS.forEach(function(f) { if(cp[f[1]] === undefined) return; @@ -5601,8 +5610,6 @@ function write_ext_props(cp/*::, opts*/)/*:string*/ { return o.join(""); } /* 15.2.12.2 Custom File Properties Part */ -RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; - var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data/*:string*/, opts) { var p = {}, name = ""; @@ -5648,13 +5655,11 @@ function parse_cust_props(data/*:string*/, opts) { return p; } -var CUST_PROPS_XML_ROOT = writextag('Properties', null, { - 'xmlns': XMLNS.CUST_PROPS, - 'xmlns:vt': XMLNS.vt -}); - function write_cust_props(cp/*::, opts*/)/*:string*/ { - var o = [XML_HEADER, CUST_PROPS_XML_ROOT]; + var o = [XML_HEADER, writextag('Properties', null, { + 'xmlns': XMLNS.CUST_PROPS, + 'xmlns:vt': XMLNS.vt + })]; if(!cp) return o.join(""); var pid = 1; keys(cp).forEach(function custprop(k) { ++pid; @@ -5700,9 +5705,10 @@ var XLMLDocPropsMap = { Identifier: 'Identifier', /* NOTE: missing from schema */ Language: 'Language' /* NOTE: missing from schema */ }; -var evert_XLMLDPM = evert(XLMLDocPropsMap); +var evert_XLMLDPM; function xlml_set_prop(Props, tag/*:string*/, val) { + if(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap); tag = evert_XLMLDPM[tag] || tag; Props[tag] = val; } @@ -6008,7 +6014,7 @@ function parse_PropertySet(blob, PIDSI) { blob.l = start_addr + size; /* step ahead to skip padding */ return PropH; } -var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ].concat(PseudoPropsPairs); +var XLSPSSkip = [ "CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID" ]; //.concat(PseudoPropsPairs); function guess_property_type(val/*:any*/)/*:number*/ { switch(typeof val) { case "boolean": return 0x0B; @@ -6052,7 +6058,7 @@ function write_PropertySet(entries, RE, PIDSI) { for(i = 0; i < entries.length; ++i) { if(RE && !RE[entries[i][0]]) continue; - if(XLSPSSkip.indexOf(entries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue; if(entries[i][1] == null) continue; var val = entries[i][1], idx = 0; @@ -8895,10 +8901,10 @@ var WK_ = /*#__PURE__*/(function() { V = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V); return (rel ? "" : "$") + (col ? encode_col(V) : encode_row(V)); } - var oprec = [ + /* var oprec = [ 8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3, 3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8 - ]; + ]; */ /* TODO: flesh out */ var FuncTab = { 0x33: ["FALSE", 0], @@ -8912,10 +8918,10 @@ var WK_ = /*#__PURE__*/(function() { 0x6F: ["T", 1] }; var BinOpTab = [ - "", "", "", "", "", "", "", "", - "", "+", "-", "*", "/", "^", "=", "<>", - "<=", ">=", "<", ">", "", "", "", "", - "&", "", "", "", "", "", "", "" + "", "", "", "", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "", "+", "-", "*", "/", "^", "=", "<>", // eslint-disable-line no-mixed-spaces-and-tabs + "<=", ">=", "<", ">", "", "", "", "", // eslint-disable-line no-mixed-spaces-and-tabs + "&", "", "", "", "", "", "", "" // eslint-disable-line no-mixed-spaces-and-tabs ]; function wk1_fmla_to_csf(blob, o) { @@ -9114,7 +9120,7 @@ var WK_ = /*#__PURE__*/(function() { if(!opts.qpro || length < 21) return; var id = blob.read_shift(1); blob.l += 17; - var len = blob.read_shift(1); + blob.l += 1; //var len = blob.read_shift(1); blob.l += 2; var nm = blob.read_shift(length - 21, 'cstr'); return [id, nm]; @@ -9558,7 +9564,6 @@ function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { return s; } -RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { if(!opts.bookSST) return ""; @@ -10554,8 +10559,6 @@ return function parse_sty_xml(data, themes, opts) { }; })(); -RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; - function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { var o = [XML_HEADER, writextag('styleSheet', null, { 'xmlns': XMLNS_main[0], @@ -10678,11 +10681,12 @@ var XLSBFillPTNames = [ "gray125", "gray0625" ]; -var rev_XLSBFillPTNames/*:EvertNumType*/ = (evert(XLSBFillPTNames)/*:any*/); +var rev_XLSBFillPTNames/*:EvertNumType*/; /* TODO: gradient fill representation */ var parse_BrtFill = parsenoop; function write_BrtFill(fill, o) { if(!o) o = new_buf(4*3 + 8*7 + 16*1); + if(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/); var fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType]; if(fls == null) fls = 0x28; o.write_shift(4, fls); @@ -10966,8 +10970,6 @@ function write_sty_bin(wb, opts) { write_record(ba, 0x0117 /* BrtEndStyleSheet */); return ba.end(); } -RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; - /* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */ var XLSXThemeClrScheme = [ '', '', '', '', @@ -11338,69 +11340,6 @@ function update_xfext(xf, xfext) { }); } -RELS.XLMETA = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata"; -function parse_xlmeta_xml(data, name, opts) { - var out = { Types: [] }; - if (!data) - return out; - var pass = false; - data.replace(tagregex, function(x, idx) { - var y = parsexmltag(x); - switch (strip_ns(y[0])) { - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - break; - case "": - case "": - case "": - break; - case "": - pass = false; - break; - default: - if (!pass && opts.WTF) - throw new Error("unrecognized " + y[0] + " in metadata"); - } - return x; - }); - return out; -} -function write_xlmeta_xml() { - var o = [XML_HEADER]; - o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); - return o.join(""); -} function parse_BrtMdtinfo(data, length) { return { flags: data.read_shift(4), @@ -11415,6 +11354,13 @@ function write_BrtMdtinfo(data) { write_XLWideString(data.name, o); return o.slice(0, o.l); } +function parse_BrtMdb(data) { + var out = []; + var cnt = data.read_shift(4); + while (cnt-- > 0) + out.push([data.read_shift(4), data.read_shift(4)]); + return out; +} function write_BrtMdb(mdb) { var o = new_buf(4 + 8 * mdb.length); o.write_shift(4, mdb.length); @@ -11430,6 +11376,10 @@ function write_BrtBeginEsfmd(cnt, name) { write_XLWideString(name, o); return o.slice(0, o.l); } +function parse_BrtBeginEsmdb(data) { + data.l += 4; + return data.read_shift(4) != 0; +} function write_BrtBeginEsmdb(cnt, cm) { var o = new_buf(8); o.write_shift(4, cnt); @@ -11437,16 +11387,29 @@ function write_BrtBeginEsmdb(cnt, cm) { return o; } function parse_xlmeta_bin(data, name, _opts) { - var out = { Types: [] }; + var out = { Types: [], Cell: [], Value: [] }; var opts = _opts || {}; var state = []; var pass = false; + var metatype = 2; recordhopper(data, function(val, R, RT) { switch (RT) { case 335: out.Types.push({ name: val.name }); break; case 51: + val.forEach(function(r) { + if (metatype == 1) + out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + else if (metatype == 0) + out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] }); + }); + break; + case 337: + metatype = val ? 1 : 0; + break; + case 338: + metatype = 2; break; case 35: state.push(RT); @@ -11488,6 +11451,80 @@ function write_xlmeta_bin() { write_record(ba, 333); return ba.end(); } +function parse_xlmeta_xml(data, name, opts) { + var out = { Types: [], Cell: [], Value: [] }; + if (!data) + return out; + var pass = false; + var metatype = 2; + data.replace(tagregex, function(x) { + var y = parsexmltag(x); + switch (strip_ns(y[0])) { + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + break; + case "": + metatype = 2; + break; + case "": + metatype = 2; + break; + case "": + case "": + case "": + break; + case "": + pass = false; + break; + default: + if (!pass && opts.WTF) + throw new Error("unrecognized " + y[0] + " in metadata"); + } + return x; + }); + return out; +} +function write_xlmeta_xml() { + var o = [XML_HEADER]; + o.push('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'); + return o.join(""); +} /* 18.6 Calculation Chain */ function parse_cc_xml(data/*::, name, opts*/)/*:Array*/ { var d = []; @@ -11591,9 +11628,6 @@ function parse_xlink_bin(data, rel, name/*:string*/, _opts) { }, opts); } /* 20.5 DrawingML - SpreadsheetML Drawing */ -RELS.IMG = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; -RELS.DRAW = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"; - /* 20.5.2.35 wsDr CT_Drawing */ function parse_drawing(data, rels/*:any*/) { if(!data) return "??"; @@ -11666,9 +11700,7 @@ function write_comments_vml(rId/*:number*/, comments) { o.push(''); return o.join(""); } -RELS.CMNT = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; - -function sheet_insert_comments(sheet, comments/*:Array*/) { +function sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) { var dense = Array.isArray(sheet); var cell/*:Cell*/; comments.forEach(function(comment) { @@ -11691,8 +11723,17 @@ function sheet_insert_comments(sheet, comments/*:Array*/) { } if (!cell.c) cell.c = []; - var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r}); + var o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded}); if(comment.h) o.h = comment.h; + + /* threaded comments always override */ + for(var i = cell.c.length - 1; i >= 0; --i) { + if(!threaded && cell.c[i].T) return; + if(threaded && !cell.c[i].T) cell.c.splice(i, 1); + } + if(threaded && people) for(i = 0; i < people.length; ++i) { + if(o.a == people[i].id) { o.a = people[i].name || o.a; break; } + } cell.c.push(o); }); } @@ -11735,24 +11776,147 @@ function write_comments_xml(data/*::, opts*/) { var iauthor/*:Array*/ = []; o.push(""); data.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a); - if(iauthor.indexOf(a) > -1) return; - iauthor.push(a); - o.push("" + a + ""); + if(iauthor.indexOf(a) == -1) { + iauthor.push(a); + o.push("" + a + ""); + } + if(w.T && w.ID && iauthor.indexOf("tc=" + w.ID) == -1) { + iauthor.push("tc=" + w.ID); + o.push("" + "tc=" + w.ID + ""); + } }); }); + if(iauthor.length == 0) { iauthor.push("SheetJ5"); o.push("SheetJ5"); } o.push(""); o.push(""); data.forEach(function(d) { - d[1].forEach(function(c) { - /* 18.7.3 CT_Comment */ - o.push(''); - o.push(writetag("t", c.t == null ? "" : escapexml(c.t))); - o.push(''); + /* 18.7.3 CT_Comment */ + var lastauthor = 0, ts = []; + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); + else d[1].forEach(function(c) { + if(c.a) lastauthor = iauthor.indexOf(escapexml(c.a)); + ts.push(c.t||""); }); + o.push(''); + if(ts.length <= 1) o.push(writetag("t", escapexml(ts[0]||""))); + else { + /* based on Threaded Comments -> Comments projection */ + var t = "Comment:\n " + (ts[0]) + "\n"; + for(var i = 1; i < ts.length; ++i) t += "Reply:\n " + ts[i] + "\n"; + o.push(writetag("t", escapexml(t))); + } + o.push(''); }); o.push(""); if(o.length>2) { o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } + +/* [MS-XLSX] 2.1.17 */ +function parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ { + var out = []; + var pass = false, comment = {}, tidx = 0; + data.replace(tagregex, function xml_tcmnt(x, idx) { + var y/*:any*/ = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.205 threadedComment CT_ThreadedComment */ + case '': if(comment.t != null) out.push(comment); break; + + case '': case '': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break; + + /* 2.6.206 mentions CT_ThreadedCommentMentions TODO */ + case '': pass = true; break; + case '': pass = false; break; + + /* 2.6.202 mention CT_Mention TODO */ + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} + +function write_tcmnt_xml(comments, people, opts) { + var o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\/]>/, ">")]; + comments.forEach(function(carr) { + var rootid = ""; + (carr[1] || []).forEach(function(c, idx) { + if(!c.T) { delete c.ID; return; } + if(c.a && people.indexOf(c.a) == -1) people.push(c.a); + var tcopts = { + ref: carr[0], + id: "{54EE7951-7262-4200-6969-" + ("000000000000" + opts.tcid++).slice(-12) + "}" + }; + if(idx == 0) rootid = tcopts.id; + else tcopts.parentId = rootid; + c.ID = tcopts.id; + if(c.a) tcopts.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + people.indexOf(c.a)).slice(-12) + "}"; + o.push(writextag('threadedComment', writetag('text', c.t||""), tcopts)); + }); + }); + o.push(''); + return o.join(""); +} + +/* [MS-XLSX] 2.1.18 */ +function parse_people_xml(data/*:string*/, opts) { + var out = []; + var pass = false; + data.replace(tagregex, function xml_tcmnt(x) { + var y/*:any*/ = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': break; + + /* 2.6.203 person CT_Person TODO: providers */ + case '': break; + + /* 18.2.10 extLst CT_ExtensionList ? */ + case '': case '': case '': break; + /* 18.2.7 ext CT_Extension + */ + case '': pass=false; break; + + default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments'); + } + return x; + }); + return out; +} +function write_people_xml(people/*, opts*/) { + var o = [XML_HEADER, writextag('personList', null, { + 'xmlns': XMLNS.TCMNT, + 'xmlns:x': XMLNS_main[0] + }).replace(/[\/]>/, ">")]; + people.forEach(function(person, idx) { + o.push(writextag('person', null, { + displayName: person, + id: "{54EE7950-7262-4200-6969-" + ("000000000000" + idx).slice(-12) + "}", + userId: person, + providerId: "None" + })); + }); + o.push(""); + return o.join(""); +} /* [MS-XLSB] 2.4.28 BrtBeginComment */ function parse_BrtBeginComment(data) { var out = {}; @@ -11870,9 +12034,6 @@ function fill_vba_xls(cfb, vba) { }); } var VBAFMTS = ["xlsb", "xlsm", "xlam", "biff8", "xla"]; -RELS.DS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"; -RELS.MS = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet"; - /* macro and dialog sheet stubs */ function parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } function parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; } @@ -12536,12 +12697,12 @@ var Ptg19 = { /*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, /*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum }, /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, + /*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, /*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, /*::[*/0xFF/*::]*/: {} }; -Ptg19[0x21] = Ptg19[0x20]; /* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { @@ -14276,10 +14437,6 @@ function csf_to_ods_3D(r/*:string*/)/*:string*/ { var strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options -RELS.WS = [ - "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", - "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet" -]; /*global Map */ var browser_has_Map = typeof Map !== 'undefined'; @@ -14513,7 +14670,7 @@ function parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:num if(!wb.Sheets[idx]) wb.Sheets[idx] = {}; if(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName)); } -function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/, styles, themes) { +function parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) { parse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(">")), s, wb, idx); } function write_ws_xml_sheetpr(ws, wb, idx, opts, o) { @@ -14664,7 +14821,8 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { } function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { - if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z') return ""; + if(cell.c) ws['!comments'].push([ref, cell.c]); + if(cell.v === undefined && typeof cell.f !== "string" || cell.t === 'z' && !cell.f) return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { @@ -14706,7 +14864,6 @@ function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string v = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : ""); } if(cell.l) ws['!links'].push([ref, cell.l]); - if(cell.c) ws['!comments'].push([ref, cell.c]); if(cell.D) o.cm = 1; return writextag('c', v, o); } @@ -14885,8 +15042,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th safe_format(p, fmtid, fillid, opts, themes, styles); if(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } if(tag.cm && opts.xlmeta) { - var cm = (opts.xlmeta.Types||[])[+tag.cm-1]; - if(cm && cm.name == 'XLDAPR') p.D = true; + var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; + if(cm && cm.type == 'XLDAPR') p.D = true; } if(dense) { var _r = decode_cell(tag.r); @@ -15602,7 +15759,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ var cm, vm; - recordhopper(data, function ws_parse(val, R, RT) { + recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; switch(RT) { case 0x0094: /* 'BrtWsDim' */ @@ -15668,7 +15825,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ var _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } } if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15686,7 +15843,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ if(refguess.e.r < row.r) refguess.e.r = row.r; if(refguess.e.c < C) refguess.e.c = C; if(cm) { - if(cm.name == 'XLDAPR') p.D = true; + if(cm.type == 'XLDAPR') p.D = true; cm = void 0; } if(vm) vm = void 0; @@ -15696,7 +15853,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ merges.push(val); break; case 0x0031: { /* 'BrtCellMeta' */ - cm = ((opts.xlmeta||{}).Types||[])[val-1]; + cm = ((opts.xlmeta||{}).Cell||[])[val-1]; } break; case 0x01EE: /* 'BrtHLink' */ @@ -15836,7 +15993,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ state.pop(); pass = false; break; default: - if(R.T){/* empty */} + if(RR.T){/* empty */} else if(!pass || opts.WTF) throw new Error("Unexpected record 0x" + RT.toString(16)); } }, opts); @@ -16092,9 +16249,6 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { write_record(ba, 0x0082 /* BrtEndSheet */); return ba.end(); } -RELS.CHART = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"; -RELS.CHARTEX = "http://schemas.microsoft.com/office/2014/relationships/chartEx"; - function parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ { var col/*:Array*/ = []; var num = data.match(/^/); @@ -16140,8 +16294,6 @@ function parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) if(C > 0) cs["!ref"] = encode_range(refguess); return cs; } -RELS.CS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"; - /* 18.3 Worksheets also covers Chartsheets */ function parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ { if(!data) return data; @@ -17206,7 +17358,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { var state = [], tmp; if(DENSE != null && opts.dense == null) opts.dense = DENSE; var sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = ""; - var table = {}, cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars + var cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars var dtag = xlml_parsexmltag(''), didx = 0; var c = 0, r = 0; var refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; @@ -17331,7 +17483,6 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} else if(Rn[0].slice(-2) == "/>") break; else { - table = xlml_parsexmltag(Rn[0]); state.push([Rn[3], false]); cstys = []; seencol = false; } @@ -18425,8 +18576,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var merges/*:Array*/ = []; var objects = []; var colinfo/*:Array*/ = [], rowinfo/*:Array*/ = []; - // eslint-disable-next-line no-unused-vars - var defwidth = 0, defheight = 0; // twips / MDW respectively var seencol = false; var supbooks = ([]/*:any*/); // 1-indexed, will hold extern names supbooks.SheetNames = opts.snames; @@ -18471,7 +18620,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { /*:: val = (val:any); */ if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue; switch(RecordType) { - /* Workbook Options */ case 0x0022 /* Date1904 */: /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; @@ -18484,7 +18632,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!val.valid) throw new Error("Password is incorrect"); break; case 0x005c /* WriteAccess */: opts.lastuser = val; break; - case 0x005b /* FileSharing */: break; //TODO case 0x0042 /* CodePage */: var cpval = Number(val); /* overrides based on test cases */ @@ -18498,10 +18645,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { break; case 0x013d /* RRTabId */: opts.rrtabid = val; break; case 0x0019 /* WinProtect */: opts.winlocked = val; break; - case 0x0060 /* Template */: break; // TODO - case 0x00da /* BookBool */: break; // TODO - case 0x0160 /* UsesELFs */: break; - case 0x089a /* MTRSettings */: break; case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break; case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break; case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break; @@ -18510,7 +18653,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break; case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break; case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1 - case 0x005e /* Uncalced */: break; case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break; case 0x0081 /* WsBool */: if(val.fDialog) out["!type"] = "dialog"; @@ -18519,11 +18661,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { break; // TODO case 0x00e0 /* XF */: XFs.push(val); break; - case 0x00ff /* ExtSST */: break; // TODO - case 0x0863 /* BookExt */: break; // TODO - case 0x08a6 /* RichTextStream */: break; - case 0x00e9 /* BkHim */: break; - case 0x01ae /* SupBook */: supbooks.push([val]); supbooks[supbooks.length-1].XTI = []; @@ -18531,7 +18668,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x0023: case 0x0223 /* ExternName */: supbooks[supbooks.length-1].push(val); break; - case 0x000b: case 0x020b /* Index */: break; // TODO case 0x0018: case 0x0218 /* Lbl */: last_lbl = ({ Name: val.Name, @@ -18554,11 +18690,8 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(opts.biff < 8) break; if(last_lbl != null) last_lbl.Comment = val[1]; break; - case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */ case 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break; - case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: break; /*TODO: Revision Control*/ - case 0x0085 /* BoundSheet8 */: { Directory[val.pos] = val; opts.snames.push(val.name); @@ -18624,11 +18757,9 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { objects = []; opts.arrayf = arrayf = []; colinfo = []; rowinfo = []; - defwidth = defheight = 0; seencol = false; wsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet }; } break; - case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); @@ -18782,8 +18913,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(cc && cc.l) cc.l.Tooltip = val[1]; } } break; - - /* Comments */ case 0x001c /* Note */: { if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ cc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; @@ -18804,13 +18933,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { cmnt = {a:val[1],t:noteobj.TxO.t}; cc.c.push(cmnt); } break; - - case 0x105c /* ClrtClient */: break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; - - case 0x0055 /* DefColWidth */: defwidth = val; break; - case 0x0225 /* DefaultRowHeight */: defheight = val[1]; break; // TODO: flags - case 0x007d /* ColInfo */: { if(!opts.cellStyles) break; while(val.e >= val.s) { @@ -18828,7 +18951,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { rowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt); } } break; - case 0x0026 /* LeftMargin */: case 0x0027 /* RightMargin */: case 0x0028 /* TopMargin */: @@ -18836,161 +18958,126 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'][({0x26: "left", 0x27:"right", 0x28:"top", 0x29:"bottom"})[RecordType]] = val; break; - - case 0x001d /* Selection */: break; - case 0x00a1 /* Setup */: // TODO if(!out['!margins']) default_margins(out['!margins'] = {}); out['!margins'].header = val.header; out['!margins'].footer = val.footer; break; - case 0x023e /* Window2 */: // TODO // $FlowIgnore if(val.RTL) Workbook.Views[0].RTL = true; break; - - case 0x0014 /* Header */: // TODO - case 0x0015 /* Footer */: // TODO - case 0x0083 /* HCenter */: // TODO - case 0x0084 /* VCenter */: // TODO - case 0x004d /* Pls */: // TODO - case 0x00ab /* GCW */: - case 0x0094 /* LHRecord */: - case 0x00d7 /* DBCell */: // TODO - case 0x01c2 /* EntExU2 */: // TODO - case 0x00b0 /* SxView */: // TODO - case 0x00b1 /* Sxvd */: // TODO - case 0x00b2 /* SXVI */: // TODO - case 0x0100 /* SXVDEx */: // TODO - case 0x00b4 /* SxIvd */: // TODO - case 0x00cd /* SXString */: // TODO - case 0x0097 /* Sync */: - case 0x0087 /* Addin */: - case 0x00c5 /* SXDI */: // TODO - case 0x00b5 /* SXLI */: // TODO - case 0x00f1 /* SXEx */: // TODO - case 0x0802 /* QsiSXTag */: // TODO - case 0x0868 /* Feat */: - case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: - case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: break; - case 0x008c /* Country */: country = val; break; - case 0x01c1 /* RecalcId */: - case 0x0099 /* DxGCol */: // TODO: htmlify - case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: - case 0x0031 /* Font */: // TODO - case 0x087c /* XFCRC */: // TODO - case 0x0293 /* Style */: // TODO - case 0x0892 /* StyleExt */: break; // TODO case 0x0092 /* Palette */: palette = val; break; case 0x0896 /* Theme */: themes = val; break; - /* Protection */ - case 0x00dd /* ScenarioProtect */: - case 0x0063 /* ObjProtect */: break; - - /* Conditional Formatting */ - case 0x0879 /* CondFmt12 */: - - /* Table */ - case 0x0236 /* Table */: // TODO - case 0x088e /* TableStyles */: // TODO - case 0x088f /* TableStyle */: // TODO - case 0x0890 /* TableStyleElement */: // TODO - - /* PivotTable */ - case 0x00d5 /* SXStreamID */: // TODO - case 0x00e3 /* SXVS */: // TODO - case 0x0051 /* DConRef */: // TODO - case 0x0864 /* SXAddl */: // TODO - case 0x01b5 /* DConBin */: // TODO - case 0x0052 /* DConName */: // TODO - case 0x00b6 /* SXPI */: // TODO - case 0x00fb /* SxFormat */: // TODO - case 0x00f7 /* SxSelect */: // TODO - case 0x00f0 /* SxRule */: // TODO - case 0x00f2 /* SxFilt */: // TODO - case 0x00f5 /* SxItm */: // TODO - case 0x00f4 /* SxDXF */: // TODO - - /* Scenario Manager */ - case 0x00ae /* ScenMan */: - - /* Data Consolidation */ - case 0x0050 /* DCon */: - - /* Watched Cell */ - case 0x086c /* CellWatch */: - - /* Print Settings */ - case 0x002a /* PrintRowCol */: - case 0x002b /* PrintGrid */: - case 0x0033 /* PrintSize */: - - case 0x0059 /* XCT */: - case 0x005a /* CRN */: - - case 0x00a0 /* Scl */: { - //console.log("Zoom Level:", val[0]/val[1],val); - } - case 0x0862 /* SheetExt */: { - /* empty */ - } - - /* VBA */ - case 0x01bd /* ObNoMacros */: { - /* empty */ - } - case 0x00d3 /* ObProj */: { - /* empty */ - } + case 0x008c /* Country */: country = val; break; case 0x01ba /* CodeName */: { /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; else wsprops.CodeName = val || wsprops.name; - } - case 0x0897 /* GUIDTypeLib */: { - /* empty */ - } - - case 0x080b /* WOpt */: // TODO: WTF? + } break; + case 0x0055 /* DefColWidth */: + case 0x0225 /* DefaultRowHeight */: + case 0x005e /* Uncalced */: + case 0x01af /* Prot4Rev */: case 0x01bc /* Prot4RevPass */: /*TODO: Revision Control*/ + case 0x005b /* FileSharing */: + case 0x00ff /* ExtSST */: + case 0x0863 /* BookExt */: + case 0x08a6 /* RichTextStream */: + case 0x00e9 /* BkHim */: + case 0x0060 /* Template */: + case 0x00da /* BookBool */: + case 0x0160 /* UsesELFs */: + case 0x089a /* MTRSettings */: + case 0x000b: case 0x020b /* Index */: + case 0x105c /* ClrtClient */: + case 0x001d /* Selection */: + case 0x0014 /* Header */: + case 0x0015 /* Footer */: + case 0x0083 /* HCenter */: + case 0x0084 /* VCenter */: + case 0x004d /* Pls */: + case 0x00ab /* GCW */: + case 0x0094 /* LHRecord */: + case 0x00d7 /* DBCell */: + case 0x01c2 /* EntExU2 */: + case 0x00b0 /* SxView */: + case 0x00b1 /* Sxvd */: + case 0x00b2 /* SXVI */: + case 0x0100 /* SXVDEx */: + case 0x00b4 /* SxIvd */: + case 0x00cd /* SXString */: + case 0x0097 /* Sync */: + case 0x0087 /* Addin */: + case 0x00c5 /* SXDI */: + case 0x00b5 /* SXLI */: + case 0x00f1 /* SXEx */: + case 0x0802 /* QsiSXTag */: + case 0x0868 /* Feat */: + case 0x0867 /* FeatHdr */: case 0x0871 /* FeatHdr11 */: + case 0x0872 /* Feature11 */: case 0x0878 /* Feature12 */: case 0x0877 /* List12 */: + case 0x01c1 /* RecalcId */: + case 0x0099 /* DxGCol */: + case 0x1060 /* Fbi */: case 0x1068 /* Fbi2 */: case 0x1066 /* GelFrame */: + case 0x0031 /* Font */: + case 0x087c /* XFCRC */: + case 0x0293 /* Style */: + case 0x0892 /* StyleExt */: + case 0x00dd /* ScenarioProtect */: + case 0x0063 /* ObjProtect */: + case 0x0879 /* CondFmt12 */: + case 0x0236 /* Table */: + case 0x088e /* TableStyles */: + case 0x088f /* TableStyle */: + case 0x0890 /* TableStyleElement */: + case 0x00d5 /* SXStreamID */: + case 0x00e3 /* SXVS */: + case 0x0051 /* DConRef */: + case 0x0864 /* SXAddl */: + case 0x01b5 /* DConBin */: + case 0x0052 /* DConName */: + case 0x00b6 /* SXPI */: + case 0x00fb /* SxFormat */: + case 0x00f7 /* SxSelect */: + case 0x00f0 /* SxRule */: + case 0x00f2 /* SxFilt */: + case 0x00f5 /* SxItm */: + case 0x00f4 /* SxDXF */: + case 0x00ae /* ScenMan */: + case 0x0050 /* DCon */: + case 0x086c /* CellWatch */: + case 0x002a /* PrintRowCol */: + case 0x002b /* PrintGrid */: + case 0x0033 /* PrintSize */: + case 0x0059 /* XCT */: + case 0x005a /* CRN */: + case 0x00a0 /* Scl */: + case 0x0862 /* SheetExt */: + case 0x01bd /* ObNoMacros */: + case 0x00d3 /* ObProj */: + case 0x0897 /* GUIDTypeLib */: + case 0x080b /* WOpt */: case 0x00ef /* PhoneticInfo */: - case 0x00de /* OleObjectSize */: - - /* Differential Formatting */ case 0x088d /* DXF */: - - /* Data Validation */ case 0x01be /* Dv */: case 0x01b2 /* DVal */: - - /* Data Series */ - case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: break; - - /* Data Connection */ + case 0x1051 /* BRAI */: case 0x1003 /* Series */: case 0x100d /* SeriesText */: case 0x0876 /* DConn */: case 0x00dc /* DbOrParamQry */: case 0x0803 /* DBQueryExt */: - case 0x080a /* OleDbConn */: case 0x0804 /* ExtString */: - - /* Formatting */ case 0x104e /* IFmtRecord */: case 0x01b0 /* CondFmt */: case 0x01b1 /* CF */: case 0x087a /* CF12 */: case 0x087b /* CFEx */: - - /* Explicitly Ignored */ case 0x01c0 /* Excel9File */: case 0x1001 /* Units */: case 0x00e1 /* InterfaceHdr' */: case 0x00c1 /* Mms */: case 0x00e2 /* InterfaceEnd */: case 0x0161 /* DSF */: case 0x009c /* BuiltInFnGroupCount */: /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break; - /* View Stuff */ case 0x003d /* Window1 */: case 0x008d /* HideObj */: case 0x0082 /* GridSet */: case 0x0080 /* Guts */: - case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01aa /* UserSViewEnd */: + case 0x01a9 /* UserBView */: case 0x01aa /* UserSViewBegin */: case 0x01ab /* UserSViewEnd */: case 0x0041 /* Pane */: - /* Chart */ case 0x1063 /* Dat */: - case 0x1033 /* Begin */: case 0x1033 /* End */: - case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: break; + case 0x1033 /* Begin */: case 0x1034 /* End */: + case 0x0852 /* StartBlock */: case 0x0853 /* EndBlock */: case 0x1032 /* Frame */: case 0x101a /* Area */: case 0x101d /* Axis */: case 0x1021 /* AxisLine */: case 0x101e /* Tick */: case 0x1046 /* AxesUsed */: @@ -19011,69 +19098,41 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x1050 /* AlRuns */: case 0x1027 /* ObjectLink */: case 0x1065 /* SIIndex */: case 0x100c /* AttachedLabel */: case 0x0857 /* YMult */: - - /* Chart Group */ case 0x1018 /* Line */: case 0x1017 /* Bar */: case 0x103f /* Surf */: - - /* Axis Group */ case 0x1041 /* AxisParent */: case 0x104f /* Pos */: case 0x101f /* ValueRange */: - - /* Pivot Chart */ - case 0x0810 /* SXViewEx9 */: // TODO + case 0x0810 /* SXViewEx9 */: case 0x0858 /* SXViewLink */: case 0x0859 /* PivotChartBits */: case 0x1048 /* SBaseRef */: case 0x08a5 /* TextPropsStream */: - - /* Chart Misc */ case 0x08c9 /* LnExt */: case 0x08ca /* MkrExt */: case 0x08cb /* CrtCoopt */: - - /* Query Table */ - case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0802 /* QsiSXTag */: + case 0x01ad /* Qsi */: case 0x0807 /* Qsif */: case 0x0806 /* Qsir */: case 0x0805 /* TxtQry */: - - /* Filter */ case 0x009b /* FilterMode */: case 0x009e /* AutoFilter */: case 0x009d /* AutoFilterInfo */: case 0x087e /* AutoFilter12 */: case 0x0874 /* DropDownObjIds */: case 0x0090 /* Sort */: case 0x0895 /* SortData */: - - /* Drawing */ case 0x08a4 /* ShapePropsStream */: case 0x00ec /* MsoDrawing */: case 0x00eb /* MsoDrawingGroup*/: case 0x00ed /* MsoDrawingSelection */: - /* Pub Stuff */ case 0x0801 /* WebPub */: case 0x08c0 /* AutoWebPub */: - - /* Print Stuff */ case 0x089c /* HeaderFooter */: case 0x0866 /* HFPicture */: case 0x088b /* PLV */: case 0x001b /* HorizontalPageBreaks */: case 0x001a /* VerticalPageBreaks */: - /* Behavioral */ case 0x0040 /* Backup */: case 0x089b /* CompressPictures */: case 0x088c /* Compat12 */: - - /* Should not Happen */ case 0x003c /* 'Continue' */: case 0x087f /* 'ContinueFrt12' */: - - /* Future Records */ case 0x085a /* FrtFontList */: case 0x0851 /* 'FrtWrapper' */: - - /* BIFF5 records */ case 0x00ea /* TabIdConf */: case 0x103e /* Radar */: case 0x1040 /* RadarArea */: case 0x103d /* DropBar */: case 'Intl': case 'CoordList': case 'SerAuxErrBar': - - /* BIFF2-4 records */ case 0x0045 /* BIFF2FONTCLR */: case 0x001f /* BIFF2FMTCNT */: case 0x0032 /* BIFF2FONTXTRA */: case 0x0043 /* BIFF2XF */: case 0x0243 /* BIFF3XF */: case 0x0443 /* BIFF4XF */: case 0x0044 /* BIFF2XFINDEX */: case 0x0056 /* BIFF4FMTCNT */: case 0x0008 /* BIFF2ROW */: case 0x003e /* BIFF2WINDOW2 */: - - /* Miscellaneous */ - case 0x00af /* SCENARIO */: case 0x01b5 /* DConBin */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: + case 0x00af /* SCENARIO */: case 0x103c /* PicF */: case 0x086a /* DataLabExt */: case 0x01b9 /* Lel */: case 0x1061 /* BopPop */: case 0x1067 /* BopPopCustom */: case 0x0813 /* RealTimeData */: case 0x0095 /* LHNGraph */: case 0x009a /* FnGroupName */: case 0x00c2 /* AddMenu */: case 0x0098 /* LPr */: case 0x08c1 /* ListObj */: case 0x08c2 /* ListField */: @@ -19135,6 +19194,8 @@ function parse_xls_props(cfb/*:CFBContainer*/, props, o) { function write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) { var DSEntries = [], SEntries = [], CEntries = []; var i = 0, Keys; + var DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, "n"); + var SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, "n"); if(wb.Props) { Keys = keys(wb.Props); // $FlowIgnore @@ -19147,7 +19208,7 @@ function write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) { } var CEntries2 = []; for(i = 0; i < CEntries.length; ++i) { - if(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue; + if(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue; if(CEntries[i][1] == null) continue; CEntries2.push(CEntries[i]); } @@ -19274,7 +19335,7 @@ var XLSBRecordEnum = { /*::[*/0x0030/*::]*/: { /* n:"BrtStyle" */ }, /*::[*/0x0031/*::]*/: { /* n:"BrtCellMeta", */ f:parse_Int32LE }, /*::[*/0x0032/*::]*/: { /* n:"BrtValueMeta" */ }, - /*::[*/0x0033/*::]*/: { /* n:"BrtMdb" */ }, + /*::[*/0x0033/*::]*/: { /* n:"BrtMdb" */ f:parse_BrtMdb }, /*::[*/0x0034/*::]*/: { /* n:"BrtBeginFmd", */ T:1 }, /*::[*/0x0035/*::]*/: { /* n:"BrtEndFmd", */ T:-1 }, /*::[*/0x0036/*::]*/: { /* n:"BrtBeginMdx", */ T:1 }, @@ -19500,7 +19561,7 @@ var XLSBRecordEnum = { /*::[*/0x014E/*::]*/: { /* n:"BrtBeginEsmdtinfo", */ T:1 }, /*::[*/0x014F/*::]*/: { /* n:"BrtMdtinfo", */ f:parse_BrtMdtinfo }, /*::[*/0x0150/*::]*/: { /* n:"BrtEndEsmdtinfo", */ T:-1 }, - /*::[*/0x0151/*::]*/: { /* n:"BrtBeginEsmdb", */ T:1 }, + /*::[*/0x0151/*::]*/: { /* n:"BrtBeginEsmdb", */ f:parse_BrtBeginEsmdb, T:1 }, /*::[*/0x0152/*::]*/: { /* n:"BrtEndEsmdb", */ T:-1 }, /*::[*/0x0153/*::]*/: { /* n:"BrtBeginEsfmd", */ T:1 }, /*::[*/0x0154/*::]*/: { /* n:"BrtEndEsfmd", */ T:-1 }, @@ -20711,7 +20772,7 @@ function write_ws_biff8_hlinks(ba/*:BufArray*/, ws) { delete ws['!links']; } -function write_ws_cols_biff8(ba, cols, ws) { +function write_ws_cols_biff8(ba, cols) { if(!cols) return; var cnt = 0; cols.forEach(function(col, idx) { @@ -20784,7 +20845,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { write_biff_rec(ba, 0x0083 /* HCenter */, writebool(false)); write_biff_rec(ba, 0x0084 /* VCenter */, writebool(false)); /* ... */ - if(b8) write_ws_cols_biff8(ba, ws["!cols"], ws); + if(b8) write_ws_cols_biff8(ba, ws["!cols"]); /* ... */ write_biff_rec(ba, 0x200, write_Dimensions(range, opts)); /* ... */ @@ -20935,7 +20996,7 @@ function write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { if(!ws || !ws["!ref"]) continue; var range = decode_range(ws["!ref"]); if(range.e.c > 255) { // note: 255 is IV - if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); + if(typeof console != "undefined" && console.error) console.error("Worksheet '" + wb.SheetNames[i] + "' extends beyond column IV (255). Data may be lost."); } } @@ -22048,674 +22109,591 @@ function write_ods(wb/*:any*/, opts/*:any*/) { return zip; } -var NUMBERS = !Object.defineProperty ? (void 0) :(function() { - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __markAsModule = function(target) { - return __defProp(target, "__esModule", { value: true }); - }; - var __export = function(target, all) { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); - }; - var __reExport = function(target, module, copyDefault, desc) { - if (module && typeof module === "object" || typeof module === "function") - for (var keys = __getOwnPropNames(module), i = 0, n = keys.length, key; i < n; i++) { - key = keys[i]; - if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) - __defProp(target, key, { get: function(k) { - return module[k]; - }.bind(null, key), enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); - } - return target; - }; - var __toCommonJS = /* @__PURE__ */ function(cache) { - return function(module, temp) { - return cache && cache.get(module) || (temp = __reExport(__markAsModule({}), module, 1), cache && cache.set(module, temp), temp); - }; - }(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); - - // 83_numbers.ts - var numbers_exports = {}; - __export(numbers_exports, { - parse_numbers: function() { - return numbers_default; - } +/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ +var u8_to_dataview = function(array) { + return new DataView(array.buffer, array.byteOffset, array.byteLength); +}; +var u8str = function(u8) { + return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); +}; +var u8concat = function(u8a) { + var len = u8a.reduce(function(acc, x) { + return acc + x.length; + }, 0); + var out = new Uint8Array(len); + var off = 0; + u8a.forEach(function(u8) { + out.set(u8, off); + off += u8.length; }); - - // src/util.ts - var u8_to_dataview = function(array) { - return new DataView(array.buffer, array.byteOffset, array.byteLength); - }; - var u8str = function(u8) { - return typeof TextDecoder != "undefined" ? new TextDecoder().decode(u8) : utf8read(a2s(u8)); - }; - var u8concat = function(u8a) { - var len = u8a.reduce(function(acc, x) { - return acc + x.length; - }, 0); - var out = new Uint8Array(len); - var off = 0; - u8a.forEach(function(u8) { - out.set(u8, off); - off += u8.length; - }); - return out; - }; - var popcnt = function(x) { - x -= x >> 1 & 1431655765; - x = (x & 858993459) + (x >> 2 & 858993459); - return (x + (x >> 4) & 252645135) * 16843009 >>> 24; - }; - var readDecimal128LE = function(buf, offset) { - var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; - var mantissa = buf[offset + 14] & 1; - for (var j = offset + 13; j >= offset; --j) - mantissa = mantissa * 256 + buf[j]; - return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); - }; - - // src/proto.ts - function parse_varint49(buf, ptr) { - var l = ptr ? ptr[0] : 0; - var usz = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - usz |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - usz |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 28); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 35); - ++l; - if (buf[l++] < 128) - break varint; - usz += (buf[l] & 127) * Math.pow(2, 42); - ++l; - if (buf[l++] < 128) - break varint; - } - if (ptr) - ptr[0] = l; - return usz; - } - function varint_to_i32(buf) { - var l = 0, i32 = buf[l] & 127; - varint: - if (buf[l++] >= 128) { - i32 |= (buf[l] & 127) << 7; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 14; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 21; - if (buf[l++] < 128) - break varint; - i32 |= (buf[l] & 127) << 28; - } - return i32; - } - function parse_shallow(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var off = ptr[0]; - var num = parse_varint49(buf, ptr); - var type = num & 7; - num = Math.floor(num / 8); - var len = 0; - var res; - if (num == 0) - break; - switch (type) { - case 0: - { - var l = ptr[0]; - while (buf[ptr[0]++] >= 128) - ; - res = buf.slice(l, ptr[0]); - } - break; - case 5: - len = 4; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 1: - len = 8; - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 2: - len = parse_varint49(buf, ptr); - res = buf.slice(ptr[0], ptr[0] + len); - ptr[0] += len; - break; - case 3: - case 4: - default: - throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); - } - var v = { offset: off, data: res, type: type }; - if (out[num] == null) - out[num] = [v]; - else - out[num].push(v); + return out; +}; +var popcnt = function(x) { + x -= x >> 1 & 1431655765; + x = (x & 858993459) + (x >> 2 & 858993459); + return (x + (x >> 4) & 252645135) * 16843009 >>> 24; +}; +var readDecimal128LE = function(buf, offset) { + var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1; + var mantissa = buf[offset + 14] & 1; + for (var j = offset + 13; j >= offset; --j) + mantissa = mantissa * 256 + buf[j]; + return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176); +}; +function parse_varint49(buf, ptr) { + var l = ptr ? ptr[0] : 0; + var usz = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + usz |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + usz |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 28); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 35); + ++l; + if (buf[l++] < 128) + break varint; + usz += (buf[l] & 127) * Math.pow(2, 42); + ++l; + if (buf[l++] < 128) + break varint; } - return out; - } - function mappa(data, cb) { - if (!data) - return []; - return data.map(function(d) { - var _a; - try { - return cb(d.data); - } catch (e) { - var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); - if (m) - e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); - throw e; - } - }); - } - - // src/frame.ts - function deframe(buf) { - var out = []; - var l = 0; - while (l < buf.length) { - var t = buf[l++]; - var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; - l += 3; - out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); - l += len; + if (ptr) + ptr[0] = l; + return usz; +} +function varint_to_i32(buf) { + var l = 0, i32 = buf[l] & 127; + varint: + if (buf[l++] >= 128) { + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + break varint; + i32 |= (buf[l] & 127) << 28; } - if (l !== buf.length) - throw new Error("data is not a valid framed stream!"); - return u8concat(out); - } - function parse_snappy_chunk(type, buf) { - if (type != 0) - throw new Error("Unexpected Snappy chunk type ".concat(type)); - var ptr = [0]; - var usz = parse_varint49(buf, ptr); - var chunks = []; - while (ptr[0] < buf.length) { - var tag = buf[ptr[0]] & 3; - if (tag == 0) { - var len = buf[ptr[0]++] >> 2; - if (len < 60) - ++len; - else { - var c = len - 59; - len = buf[ptr[0]]; - if (c > 1) - len |= buf[ptr[0] + 1] << 8; - if (c > 2) - len |= buf[ptr[0] + 2] << 16; - if (c > 3) - len |= buf[ptr[0] + 3] << 24; - len >>>= 0; - len++; - ptr[0] += c; + return i32; +} +function parse_shallow(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var off = ptr[0]; + var num = parse_varint49(buf, ptr); + var type = num & 7; + num = Math.floor(num / 8); + var len = 0; + var res; + if (num == 0) + break; + switch (type) { + case 0: + { + var l = ptr[0]; + while (buf[ptr[0]++] >= 128) + ; + res = buf.slice(l, ptr[0]); } - chunks.push(buf.slice(ptr[0], ptr[0] + len)); + break; + case 5: + len = 4; + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; + break; + case 1: + len = 8; + res = buf.slice(ptr[0], ptr[0] + len); ptr[0] += len; - continue; - } else { - var offset = 0, length = 0; - if (tag == 1) { - length = (buf[ptr[0]] >> 2 & 7) + 4; - offset = (buf[ptr[0]++] & 224) << 3; - offset |= buf[ptr[0]++]; - } else { - length = (buf[ptr[0]++] >> 2) + 1; - if (tag == 2) { - offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; - ptr[0] += 2; - } else { - offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; - ptr[0] += 4; - } - } - chunks = [u8concat(chunks)]; - if (offset == 0) - throw new Error("Invalid offset 0"); - if (offset > chunks[0].length) - throw new Error("Invalid offset beyond length"); - if (length >= offset) { - chunks.push(chunks[0].slice(-offset)); - length -= offset; - while (length >= chunks[chunks.length - 1].length) { - chunks.push(chunks[chunks.length - 1]); - length -= chunks[chunks.length - 1].length; - } - } - chunks.push(chunks[0].slice(-offset, -offset + length)); - } - } - var o = u8concat(chunks); - if (o.length != usz) - throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); - return o; - } - - // src/iwa.ts - function parse_iwa(buf) { - var out = [], ptr = [0]; - while (ptr[0] < buf.length) { - var len = parse_varint49(buf, ptr); - var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); - ptr[0] += len; - var res = { - id: varint_to_i32(ai[1][0].data), - messages: [] - }; - ai[2].forEach(function(b) { - var mi = parse_shallow(b.data); - var fl = varint_to_i32(mi[3][0].data); - res.messages.push({ - meta: mi, - data: buf.slice(ptr[0], ptr[0] + fl) - }); - ptr[0] += fl; - }); - out.push(res); - } - return out; - } - - // src/cell.ts - function parse_old_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[buf[0] == 4 ? 1 : 2]; - var flags = dv.getUint32(4, true); - var data_offset = 12 + popcnt(flags & 3470) * 4; - var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 512) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - data_offset += popcnt(flags & 12288) * 4; - if (flags & 16) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 32) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - var ret; - switch (ctype) { - case 0: break; case 2: - ret = { t: "n", v: ieee }; + len = parse_varint49(buf, ptr); + res = buf.slice(ptr[0], ptr[0] + len); + ptr[0] += len; break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else if (sidx > -1) - ret = { t: "s", v: sst[sidx] }; - else if (!isNaN(ieee)) - ret = { t: "n", v: ieee }; - else - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - break; - default: - throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); - } - return ret; - } - function parse_storage(buf, sst, rsst) { - var dv = u8_to_dataview(buf); - var ctype = buf[1]; - var flags = dv.getUint32(8, true); - var data_offset = 12; - var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); - if (flags & 1) { - d128 = readDecimal128LE(buf, data_offset); - data_offset += 16; - } - if (flags & 2) { - ieee = dv.getFloat64(data_offset, true); - data_offset += 8; - } - if (flags & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); - data_offset += 8; - } - if (flags & 8) { - sidx = dv.getUint32(data_offset, true); - data_offset += 4; - } - if (flags & 16) { - ridx = dv.getUint32(data_offset, true); - data_offset += 4; - } - var ret; - switch (ctype) { - case 0: - break; - case 2: - ret = { t: "n", v: d128 }; - break; - case 3: - ret = { t: "s", v: sst[sidx] }; - break; - case 5: - ret = { t: "d", v: dt }; - break; - case 6: - ret = { t: "b", v: ieee > 0 }; - break; - case 7: - ret = { t: "n", v: ieee }; - break; - case 8: - ret = { t: "e", v: 0 }; - break; - case 9: - { - if (ridx > -1) - ret = { t: "s", v: rsst[ridx] }; - else - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - break; - case 10: - ret = { t: "n", v: d128 }; - break; - default: - throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); - } - return ret; - } - function parse(buf, sst, rsst) { - switch (buf[0]) { case 3: case 4: - return parse_old_storage(buf, sst, rsst); - case 5: - return parse_storage(buf, sst, rsst); default: - throw new Error("Unsupported payload version ".concat(buf[0])); + throw new Error("PB Type ".concat(type, " for Field ").concat(num, " at offset ").concat(off)); } + var v = { offset: off, data: res, type: type }; + if (out[num] == null) + out[num] = [v]; + else + out[num].push(v); } - - // src/numbers.ts - var encode_col = function(C) { - var s = ""; - for (++C; C; C = Math.floor((C - 1) / 26)) - s = String.fromCharCode((C - 1) % 26 + 65) + s; - return s; - }; - var encode_cell = function(c) { - return "".concat(encode_col(c.c)).concat(c.r + 1); - }; - var encode_range = function(r) { - return encode_cell(r.s) + ":" + encode_cell(r.e); - }; - var book_new = function() { - return { Sheets: {}, SheetNames: [] }; - }; - var book_append_sheet = function(wb, ws, name) { - var i = 1; - if (!name) - for (; i < 9999; ++i) { - if (wb.SheetNames.indexOf(name = "Sheet ".concat(i)) == -1) - break; - } - else if (wb.SheetNames.indexOf(name) > -1) - for (; i < 9999; ++i) { - if (wb.SheetNames.indexOf("".concat(name, "_").concat(i)) == -1) { - name = "".concat(name, "_").concat(i); - break; - } - } - wb.SheetNames.push(name); - wb.Sheets[name] = ws; - }; - function parse_numbers(cfb) { - var out = []; - cfb.FullPaths.forEach(function(p) { - if (p.match(/\.iwpv2/)) - throw new Error("Unsupported password protection"); - }); - cfb.FileIndex.forEach(function(s) { - if (!s.name.match(/\.iwa$/)) - return; - var o; - try { - o = deframe(s.content); - } catch (e) { - return console.log("?? " + s.content.length + " " + (e.message || e)); - } - var packets; - try { - packets = parse_iwa(o); - } catch (e) { - return console.log("## " + (e.message || e)); - } - packets.forEach(function(packet) { - out[+packet.id] = packet.messages; - }); - }); - if (!out.length) - throw new Error("File has no messages"); - var docroot; - out.forEach(function(iwams) { - iwams.forEach(function(iwam) { - var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; - if (mtype == 1) { - if (!docroot) - docroot = iwam; - else - throw new Error("Document has multiple roots"); - } - }); - }); - if (!docroot) - throw new Error("Cannot find Document root"); - return parse_docroot(out, docroot); - } - var numbers_default = parse_numbers; - function parse_Reference(buf) { - var pb = parse_shallow(buf); - return parse_varint49(pb[1][0].data); - } - function parse_TST_TableDataList(M, root) { - var pb = parse_shallow(root.data); - var type = varint_to_i32(pb[1][0].data); - var entries = pb[3]; - var data = []; - (entries || []).forEach(function(entry) { - var le = parse_shallow(entry.data); - var key = varint_to_i32(le[1][0].data) >>> 0; - switch (type) { - case 1: - data[key] = u8str(le[3][0].data); - break; - case 8: - { - var rt = M[parse_Reference(le[9][0].data)][0]; - var rtp = parse_shallow(rt.data); - var rtpref = M[parse_Reference(rtp[1][0].data)][0]; - var mtype = varint_to_i32(rtpref.meta[1][0].data); - if (mtype != 2001) - throw new Error("2000 unexpected reference to ".concat(mtype)); - var tswpsa = parse_shallow(rtpref.data); - data[key] = tswpsa[3].map(function(x) { - return u8str(x.data); - }).join(""); - } - break; - } - }); - return data; - } - function parse_TST_TileRowInfo(u8) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; - var pb = parse_shallow(u8); - var R = varint_to_i32(pb[1][0].data) >>> 0; - var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; - var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); - var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; - var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); - var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; - var width = wide_offsets ? 4 : 1; - var cells = []; - var off = 0; - for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { - if (storage && storage_offsets) { - off = storage_offsets.getUint16(C * 2, true) * width; - if (off < storage.length) { - cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); - continue; - } - } - if (pre_bnc && pre_bnc_offsets) { - off = pre_bnc_offsets.getUint16(C * 2, true) * width; - if (off < pre_bnc.length) - cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); - } - } - return { R: R, cells: cells }; - } - function parse_TST_Tile(M, root) { - var pb = parse_shallow(root.data); - var ri = mappa(pb[5], parse_TST_TileRowInfo); - return ri.reduce(function(acc, x) { - if (!acc[x.R]) - acc[x.R] = []; - x.cells.forEach(function(cell, C) { - if (acc[x.R][C]) - throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); - acc[x.R][C] = cell; - }); - return acc; - }, []); - } - function parse_TST_TableModelArchive(M, root, ws) { + return out; +} +function mappa(data, cb) { + if (!data) + return []; + return data.map(function(d) { var _a; - var pb = parse_shallow(root.data); - var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; - range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; - if (range.e.r < 0) - throw new Error("Invalid row varint ".concat(pb[6][0].data)); - range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; - if (range.e.c < 0) - throw new Error("Invalid col varint ".concat(pb[7][0].data)); - ws["!ref"] = encode_range(range); - { - var store = parse_shallow(pb[4][0].data); - var sst = parse_TST_TableDataList(M, M[parse_Reference(store[4][0].data)][0]); - var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_Reference(store[17][0].data)][0]) : []; - { - var tile = parse_shallow(store[3][0].data); - var tiles = []; - tile[1].forEach(function(t) { - var tl = parse_shallow(t.data); - var ref = M[parse_Reference(tl[2][0].data)][0]; - var mtype = varint_to_i32(ref.meta[1][0].data); - if (mtype != 6002) - throw new Error("6001 unexpected reference to ".concat(mtype)); - tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); - }); - tiles.forEach(function(tile2) { - tile2.ref.forEach(function(row, R) { - row.forEach(function(buf, C) { - var addr = encode_cell({ r: R, c: C }); - var res = parse(buf, sst, rsst); - if (res) - ws[addr] = res; - }); - }); - }); - } + try { + return cb(d.data); + } catch (e) { + var m = (_a = e.message) == null ? void 0 : _a.match(/at offset (\d+)/); + if (m) + e.message = e.message.replace(/at offset (\d+)/, "at offset " + (+m[1] + d.offset)); + throw e; } - } - function parse_TST_TableInfoArchive(M, root) { - var pb = parse_shallow(root.data); - var out = { "!ref": "A1" }; - var tableref = M[parse_Reference(pb[2][0].data)]; - var mtype = varint_to_i32(tableref[0].meta[1][0].data); - if (mtype != 6001) - throw new Error("6000 unexpected reference to ".concat(mtype)); - parse_TST_TableModelArchive(M, tableref[0], out); - return out; - } - function parse_sheetroot(M, root) { - var _a; - var pb = parse_shallow(root.data); - var out = { - name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", - sheets: [] + }); +} +function parse_iwa_file(buf) { + var out = [], ptr = [0]; + while (ptr[0] < buf.length) { + var len = parse_varint49(buf, ptr); + var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + var res = { + id: varint_to_i32(ai[1][0].data), + messages: [] }; - var shapeoffs = mappa(pb[2], parse_Reference); - shapeoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 6e3) - out.sheets.push(parse_TST_TableInfoArchive(M, m)); + ai[2].forEach(function(b) { + var mi = parse_shallow(b.data); + var fl = varint_to_i32(mi[3][0].data); + res.messages.push({ + meta: mi, + data: buf.slice(ptr[0], ptr[0] + fl) }); + ptr[0] += fl; }); - return out; + out.push(res); } - function parse_docroot(M, root) { - var out = book_new(); - var pb = parse_shallow(root.data); - var sheetoffs = mappa(pb[1], parse_Reference); - sheetoffs.forEach(function(off) { - M[off].forEach(function(m) { - var mtype = varint_to_i32(m.meta[1][0].data); - if (mtype == 2) { - var root2 = parse_sheetroot(M, m); - root2.sheets.forEach(function(sheet) { - book_append_sheet(out, sheet, root2.name); - }); + return out; +} +function parse_snappy_chunk(type, buf) { + if (type != 0) + throw new Error("Unexpected Snappy chunk type ".concat(type)); + var ptr = [0]; + var usz = parse_varint49(buf, ptr); + var chunks = []; + while (ptr[0] < buf.length) { + var tag = buf[ptr[0]] & 3; + if (tag == 0) { + var len = buf[ptr[0]++] >> 2; + if (len < 60) + ++len; + else { + var c = len - 59; + len = buf[ptr[0]]; + if (c > 1) + len |= buf[ptr[0] + 1] << 8; + if (c > 2) + len |= buf[ptr[0] + 2] << 16; + if (c > 3) + len |= buf[ptr[0] + 3] << 24; + len >>>= 0; + len++; + ptr[0] += c; + } + chunks.push(buf.slice(ptr[0], ptr[0] + len)); + ptr[0] += len; + continue; + } else { + var offset = 0, length = 0; + if (tag == 1) { + length = (buf[ptr[0]] >> 2 & 7) + 4; + offset = (buf[ptr[0]++] & 224) << 3; + offset |= buf[ptr[0]++]; + } else { + length = (buf[ptr[0]++] >> 2) + 1; + if (tag == 2) { + offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8; + ptr[0] += 2; + } else { + offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0; + ptr[0] += 4; } - }); - }); - if (out.SheetNames.length == 0) - throw new Error("Empty NUMBERS file"); - return out; + } + chunks = [u8concat(chunks)]; + if (offset == 0) + throw new Error("Invalid offset 0"); + if (offset > chunks[0].length) + throw new Error("Invalid offset beyond length"); + if (length >= offset) { + chunks.push(chunks[0].slice(-offset)); + length -= offset; + while (length >= chunks[chunks.length - 1].length) { + chunks.push(chunks[chunks.length - 1]); + length -= chunks[chunks.length - 1].length; + } + } + chunks.push(chunks[0].slice(-offset, -offset + length)); + } } - return __toCommonJS(numbers_exports); -})(); -/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */ + var o = u8concat(chunks); + if (o.length != usz) + throw new Error("Unexpected length: ".concat(o.length, " != ").concat(usz)); + return o; +} +function deframe(buf) { + var out = []; + var l = 0; + while (l < buf.length) { + var t = buf[l++]; + var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16; + l += 3; + out.push(parse_snappy_chunk(t, buf.slice(l, l + len))); + l += len; + } + if (l !== buf.length) + throw new Error("data is not a valid framed stream!"); + return u8concat(out); +} +function parse_old_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[buf[0] == 4 ? 1 : 2]; + var flags = dv.getUint32(4, true); + var data_offset = 12 + popcnt(flags & 3470) * 4; + var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 512) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + data_offset += popcnt(flags & 12288) * 4; + if (flags & 16) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 32) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 64) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: ieee }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else if (sidx > -1) + ret = { t: "s", v: sst[sidx] }; + else if (!isNaN(ieee)) + ret = { t: "n", v: ieee }; + else + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + break; + default: + throw new Error("Unsupported cell type ".concat(buf.slice(0, 4))); + } + return ret; +} +function parse_storage(buf, sst, rsst) { + var dv = u8_to_dataview(buf); + var ctype = buf[1]; + var flags = dv.getUint32(8, true); + var data_offset = 12; + var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + if (flags & 1) { + d128 = readDecimal128LE(buf, data_offset); + data_offset += 16; + } + if (flags & 2) { + ieee = dv.getFloat64(data_offset, true); + data_offset += 8; + } + if (flags & 4) { + dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3); + data_offset += 8; + } + if (flags & 8) { + sidx = dv.getUint32(data_offset, true); + data_offset += 4; + } + if (flags & 16) { + ridx = dv.getUint32(data_offset, true); + data_offset += 4; + } + var ret; + switch (ctype) { + case 0: + break; + case 2: + ret = { t: "n", v: d128 }; + break; + case 3: + ret = { t: "s", v: sst[sidx] }; + break; + case 5: + ret = { t: "d", v: dt }; + break; + case 6: + ret = { t: "b", v: ieee > 0 }; + break; + case 7: + ret = { t: "n", v: ieee }; + break; + case 8: + ret = { t: "e", v: 0 }; + break; + case 9: + { + if (ridx > -1) + ret = { t: "s", v: rsst[ridx] }; + else + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + break; + case 10: + ret = { t: "n", v: d128 }; + break; + default: + throw new Error("Unsupported cell type ".concat(ctype, " : ").concat(flags & 31, " : ").concat(buf.slice(0, 4))); + } + return ret; +} +function parse_cell_storage(buf, sst, rsst) { + switch (buf[0]) { + case 3: + case 4: + return parse_old_storage(buf, sst, rsst); + case 5: + return parse_storage(buf, sst, rsst); + default: + throw new Error("Unsupported payload version ".concat(buf[0])); + } +} +function parse_TSP_Reference(buf) { + var pb = parse_shallow(buf); + return parse_varint49(pb[1][0].data); +} +function parse_TST_TableDataList(M, root) { + var pb = parse_shallow(root.data); + var type = varint_to_i32(pb[1][0].data); + var entries = pb[3]; + var data = []; + (entries || []).forEach(function(entry) { + var le = parse_shallow(entry.data); + var key = varint_to_i32(le[1][0].data) >>> 0; + switch (type) { + case 1: + data[key] = u8str(le[3][0].data); + break; + case 8: + { + var rt = M[parse_TSP_Reference(le[9][0].data)][0]; + var rtp = parse_shallow(rt.data); + var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0]; + var mtype = varint_to_i32(rtpref.meta[1][0].data); + if (mtype != 2001) + throw new Error("2000 unexpected reference to ".concat(mtype)); + var tswpsa = parse_shallow(rtpref.data); + data[key] = tswpsa[3].map(function(x) { + return u8str(x.data); + }).join(""); + } + break; + } + }); + return data; +} +function parse_TST_TileRowInfo(u8) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var pb = parse_shallow(u8); + var R = varint_to_i32(pb[1][0].data) >>> 0; + var pre_bnc = (_b = (_a = pb[3]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data; + var pre_bnc_offsets = ((_d = (_c = pb[4]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && u8_to_dataview(pb[4][0].data); + var storage = (_f = (_e = pb[6]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data; + var storage_offsets = ((_h = (_g = pb[7]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data) && u8_to_dataview(pb[7][0].data); + var wide_offsets = ((_j = (_i = pb[8]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && varint_to_i32(pb[8][0].data) > 0 || false; + var width = wide_offsets ? 4 : 1; + var cells = []; + var off = 0; + for (var C = 0; C < pre_bnc_offsets.byteLength / 2; ++C) { + if (storage && storage_offsets) { + off = storage_offsets.getUint16(C * 2, true) * width; + if (off < storage.length) { + cells[C] = storage.subarray(off, storage_offsets.getUint16(C * 2 + 2, true) * width); + continue; + } + } + if (pre_bnc && pre_bnc_offsets) { + off = pre_bnc_offsets.getUint16(C * 2, true) * width; + if (off < pre_bnc.length) + cells[C] = pre_bnc.subarray(off, pre_bnc_offsets.getUint16(C * 2 + 2, true) * width); + } + } + return { R: R, cells: cells }; +} +function parse_TST_Tile(M, root) { + var pb = parse_shallow(root.data); + var ri = mappa(pb[5], parse_TST_TileRowInfo); + return ri.reduce(function(acc, x) { + if (!acc[x.R]) + acc[x.R] = []; + x.cells.forEach(function(cell, C) { + if (acc[x.R][C]) + throw new Error("Duplicate cell r=".concat(x.R, " c=").concat(C)); + acc[x.R][C] = cell; + }); + return acc; + }, []); +} +function parse_TST_TableModelArchive(M, root, ws) { + var _a; + var pb = parse_shallow(root.data); + var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; + range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1; + if (range.e.r < 0) + throw new Error("Invalid row varint ".concat(pb[6][0].data)); + range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1; + if (range.e.c < 0) + throw new Error("Invalid col varint ".concat(pb[7][0].data)); + ws["!ref"] = encode_range(range); + { + var store = parse_shallow(pb[4][0].data); + var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); + var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : []; + { + var tile = parse_shallow(store[3][0].data); + var tiles = []; + tile[1].forEach(function(t) { + var tl = parse_shallow(t.data); + var ref = M[parse_TSP_Reference(tl[2][0].data)][0]; + var mtype = varint_to_i32(ref.meta[1][0].data); + if (mtype != 6002) + throw new Error("6001 unexpected reference to ".concat(mtype)); + tiles.push({ id: varint_to_i32(tl[1][0].data), ref: parse_TST_Tile(M, ref) }); + }); + tiles.forEach(function(tile2) { + tile2.ref.forEach(function(row, R) { + row.forEach(function(buf, C) { + var addr = encode_cell({ r: R, c: C }); + var res = parse_cell_storage(buf, sst, rsst); + if (res) + ws[addr] = res; + }); + }); + }); + } + } +} +function parse_TST_TableInfoArchive(M, root) { + var pb = parse_shallow(root.data); + var out = { "!ref": "A1" }; + var tableref = M[parse_TSP_Reference(pb[2][0].data)]; + var mtype = varint_to_i32(tableref[0].meta[1][0].data); + if (mtype != 6001) + throw new Error("6000 unexpected reference to ".concat(mtype)); + parse_TST_TableModelArchive(M, tableref[0], out); + return out; +} +function parse_TN_SheetArchive(M, root) { + var _a; + var pb = parse_shallow(root.data); + var out = { + name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : "", + sheets: [] + }; + var shapeoffs = mappa(pb[2], parse_TSP_Reference); + shapeoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 6e3) + out.sheets.push(parse_TST_TableInfoArchive(M, m)); + }); + }); + return out; +} +function parse_TN_DocumentArchive(M, root) { + var out = book_new(); + var pb = parse_shallow(root.data); + var sheetoffs = mappa(pb[1], parse_TSP_Reference); + sheetoffs.forEach(function(off) { + M[off].forEach(function(m) { + var mtype = varint_to_i32(m.meta[1][0].data); + if (mtype == 2) { + var root2 = parse_TN_SheetArchive(M, m); + root2.sheets.forEach(function(sheet) { + book_append_sheet(out, sheet, root2.name); + }); + } + }); + }); + if (out.SheetNames.length == 0) + throw new Error("Empty NUMBERS file"); + return out; +} +function parse_numbers_iwa(cfb) { + var out = []; + cfb.FullPaths.forEach(function(p) { + if (p.match(/\.iwpv2/)) + throw new Error("Unsupported password protection"); + }); + cfb.FileIndex.forEach(function(s) { + if (!s.name.match(/\.iwa$/)) + return; + var o; + try { + o = deframe(s.content); + } catch (e) { + return console.log("?? " + s.content.length + " " + (e.message || e)); + } + var packets; + try { + packets = parse_iwa_file(o); + } catch (e) { + return console.log("## " + (e.message || e)); + } + packets.forEach(function(packet) { + out[+packet.id] = packet.messages; + }); + }); + if (!out.length) + throw new Error("File has no messages"); + var docroot; + out.forEach(function(iwams) { + iwams.forEach(function(iwam) { + var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0; + if (mtype == 1) { + if (!docroot) + docroot = iwam; + else + throw new Error("Document has multiple roots"); + } + }); + }); + if (!docroot) + throw new Error("Cannot find Document root"); + return parse_TN_DocumentArchive(out, docroot); +} function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { @@ -22726,7 +22704,7 @@ function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { }; } -var fix_read_opts = function(opts) { +function fix_read_opts(opts) { fix_opts_func([ ['cellNF', false], /* emit cell number format string as .z */ ['cellHTML', true], /* emit html string as .h */ @@ -22747,9 +22725,10 @@ fix_opts_func([ ['password',''], /* password */ ['WTF', false] /* WTF mode (throws errors) */ ])(opts); -}; +} -var fix_write_opts = fix_opts_func([ +function fix_write_opts(opts) { +fix_opts_func([ ['cellDates', false], /* write date cells with type `d` */ ['bookSST', false], /* Generate Shared String Table */ @@ -22759,7 +22738,8 @@ var fix_write_opts = fix_opts_func([ ['compression', false], /* Use file compression */ ['WTF', false] /* WTF mode (throws errors) */ -]); +])(opts); +} function get_sheet_type(n/*:string*/)/*:string*/ { if(RELS.WS.indexOf(n) > -1) return "sheet"; if(RELS.CS && n == RELS.CS) return "chart"; @@ -22797,16 +22777,22 @@ function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/ } sheets[sheet] = _ws; - /* scan rels for comments */ - var comments = []; + /* scan rels for comments and threaded comments */ + var tcomments = []; if(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) { + var dfile = ""; if(sheetRels[sheet][n].Type == RELS.CMNT) { - var dfile = resolve_path(sheetRels[sheet][n].Target, path); - comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); + dfile = resolve_path(sheetRels[sheet][n].Target, path); + var comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts); if(!comments || !comments.length) return; - sheet_insert_comments(_ws, comments); + sheet_insert_comments(_ws, comments, false); + } + if(sheetRels[sheet][n].Type == RELS.TCMNT) { + dfile = resolve_path(sheetRels[sheet][n].Target, path); + tcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts)); } }); + if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); } catch(e) { if(opts.WTF) throw e; } } @@ -22824,11 +22810,11 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { /* Numbers */ if(safegetzipfile(zip, 'Index/Document.iwa')) { if(typeof Uint8Array == "undefined") throw new Error('NUMBERS file parsing requires Uint8Array support'); - if(typeof NUMBERS != "undefined") { - if(zip.FileIndex) return NUMBERS.parse_numbers(zip); + if(typeof parse_numbers_iwa != "undefined") { + if(zip.FileIndex) return parse_numbers_iwa(zip); var _zip = CFB.utils.cfb_new(); zipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); }); - return NUMBERS.parse_numbers(_zip); + return parse_numbers_iwa(_zip); } throw new Error('Unsupported NUMBERS file'); } @@ -22930,8 +22916,11 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { opts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts); } - if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); + if((dir.people || []).length >= 1) { + opts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts); + } + if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ var nmode = (getzipdata(zip,"xl/worksheets/sheet.xml",true))?1:0; @@ -23044,9 +23033,14 @@ function parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ { function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(opts.bookType == "ods") return write_ods(wb, opts); - return write_zip_xlsxb(wb, opts); + if(opts.bookType == "xlsb") return write_zip_xlsxb(wb, opts); + return write_zip_xlsx(wb, opts); } +/* XLSX and XLSB writing are very similar. Originally they were unified in one + export function. This is horrible for tree shaking in the common case (most + applications need to export files in one format) so this function supports + both formats while write_zip_xlsx only handles XLSX */ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23118,8 +23112,9 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_cmnt(comments, cf, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23181,7 +23176,6 @@ function write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { return zip; } -/* this version does not reference XLSB write functions */ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { _shapeid = 1024; if(wb && !wb.SSF) { @@ -23236,6 +23230,9 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { add_rels(opts.rels, 4, f, RELS.CUST_PROPS); } + var people = ["SheetJ5"]; + opts.tcid = 0; + for(rId=1;rId <= wb.SheetNames.length; ++rId) { var wsrels = {'!id':{}}; var ws = wb.Sheets[wb.SheetNames[rId-1]]; @@ -23253,8 +23250,20 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { if(ws) { var comments = ws['!comments']; var need_vml = false; + var cf = ""; if(comments && comments.length > 0) { - var cf = "xl/comments" + rId + "." + wbext; + var needtc = false; + comments.forEach(function(carr) { + carr[1].forEach(function(c) { if(c.T == true) needtc = true; }); + }); + if(needtc) { + cf = "xl/threadedComments/threadedComment" + rId + "." + wbext; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + "." + wbext, RELS.TCMNT); + } + + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_xml(comments, opts)); ct.comments.push(cf); add_rels(wsrels, -1, "../comments" + rId + "." + wbext, RELS.CMNT); @@ -23308,6 +23317,13 @@ function write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { ct.metadata.push(f); add_rels(opts.wbrels, -1, "metadata." + wbext, RELS.XLMETA); + if(people.length > 1) { + f = "xl/persons/person.xml"; + zip_add_file(zip, f, write_people_xml(people, opts)); + ct.people.push(f); + add_rels(opts.wbrels, -1, "persons/person.xml", RELS.PEOPLE); + } + zip_add_file(zip, "[Content_Types].xml", write_ct(ct, opts)); zip_add_file(zip, '_rels/.rels', write_rels(opts.rels)); zip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));