From 955543147dac0274d20307057c5a9f3e3e5d5307 Mon Sep 17 00:00:00 2001 From: SheetJS Date: Fri, 23 Jun 2023 05:48:47 -0400 Subject: [PATCH] version bump 0.20.0 --- .gitignore | 1 + .npmignore | 3 + CHANGELOG.md | 4 + Makefile | 15 +- bits/00_header.js | 2 +- bits/01_version.js | 2 +- bits/10_ssf.js | 13 +- bits/11_ssfutils.js | 2 + bits/20_jsutils.js | 103 +- bits/27_csfutils.js | 1 + bits/39_xlsbiff.js | 138 ++- bits/40_harb.js | 91 +- bits/41_lotus.js | 137 ++- bits/55_vml.js | 1 + bits/63_fbin.js | 5 +- bits/65_fods.js | 2 +- bits/66_wscommon.js | 6 +- bits/67_wsxml.js | 28 +- bits/68_wsbin.js | 14 +- bits/75_xlml.js | 19 +- bits/76_xls.js | 42 +- bits/77_parsetab.js | 10 +- bits/78_writebiff.js | 85 +- bits/79_html.js | 6 +- bits/80_parseods.js | 21 +- bits/81_writeods.js | 23 +- bits/83_numbers.js | 81 +- bits/90_utils.js | 8 +- dist/xlsx.core.min.js | 32 +- dist/xlsx.core.min.map | 2 +- dist/xlsx.extendscript.js | 2273 ++++++++++++++++++++++++++---------- dist/xlsx.full.min.js | 35 +- dist/xlsx.full.min.map | 2 +- dist/xlsx.mini.min.js | 18 +- dist/xlsx.mini.min.map | 2 +- modules/83_numbers.js | 81 +- modules/83_numbers.ts | 62 +- package.json | 2 +- test.js | 129 ++- test.mjs | 158 ++- test.mts | 163 ++- test.ts | 163 ++- testbun.mjs | 183 ++- testnocp.ts | 163 ++- tests/core.js | 129 ++- types/index.d.ts | 59 +- types/xlsx-tests.ts | 3 - xlsx.flow.js | 2278 +++++++++++++++++++++++++++---------- xlsx.js | 2273 ++++++++++++++++++++++++++---------- xlsx.mini.flow.js | 509 ++++++--- xlsx.mini.js | 506 +++++--- xlsx.mjs | 839 +++++++++----- 52 files changed, 8034 insertions(+), 2893 deletions(-) diff --git a/.gitignore b/.gitignore index 6198bcc..0ed4589 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ tmp *.[fF][mM][3tT] *.[bB][iI][fF][fF][23458] *.[rR][tT][fF] +*.[eE][tT] *.[eE][tT][hH] *.[nN][uU][mM][bB][eE][rR][sS] *.[mM][oO][dD] diff --git a/.npmignore b/.npmignore index 11019b4..b5ee4e3 100644 --- a/.npmignore +++ b/.npmignore @@ -11,6 +11,7 @@ node_modules *.jsx _book book.json +v8.log tmp *.[tT][xX][tT] *.[cC][sS][vV] @@ -19,6 +20,7 @@ tmp *.[pP][mM][dD]* *.[pP][dD][fF] *.[sS][lL][kK] +*.[sS][yY][lL][kK] *.socialcalc *.[xX][lL][sSwWcCaAtTmMrR] *.[xX][lL][sSaAtT][xXmMbB] @@ -32,6 +34,7 @@ tmp *.[fF][mM][3tT] *.[bB][iI][fF][fF][23458] *.[rR][tT][fF] +*.[eE][tT] *.[eE][tT][hH] *.[nN][uU][mM][bB][eE][rR][sS] *.[mM][oO][dD] diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f04d7b..4844016 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ This log is intended to keep track of backwards-incompatible changes, including but not limited to API changes and file location changes. Minor behavioral changes may not be included if they are not expected to break existing code. +## v0.20.0 + +* Use UTC interpretation of Date objects for date cells (potentially breaking) +* API functions support UTC and local time value interpretations * Export `NaN` values to `#NUM!` and infinite values to `#DIV/0!` ## v0.19.3 diff --git a/Makefile b/Makefile index ae9fb07..8d94d22 100644 --- a/Makefile +++ b/Makefile @@ -107,13 +107,13 @@ dist-deps: ## Copy dependencies for distribution .PHONY: aux aux: $(AUXTARGETS) -BYTEFILEC=dist/xlsx.{full,core,mini}.min.js -BYTEFILER=dist/xlsx.extendscript.js xlsx.mjs +BYTEFILEC=dist/xlsx.{full,core,mini}.min.js xlsx.mjs +BYTEFILER=dist/xlsx.extendscript.js .PHONY: bytes bytes: ## Display minified and gzipped file sizes @for i in $(BYTEFILEC); do npx printj "%-30s %7d %10d" $$i $$(wc -c < $$i) $$(gzip --best --stdout $$i | wc -c); done @for i in $(BYTEFILER); do npx printj "%-30s %7d" $$i $$(wc -c < $$i); done - @npx printj "%-30s %10d" "treeshake" "$$(npx esbuild@0.14.14 --bundle misc/import.js | wc -c)" + @npx printj "%-30s %10d" "treeshake" "$$(npx -y esbuild@0.14.14 --bundle misc/import.js | wc -c)" .PHONY: git @@ -141,6 +141,10 @@ test mocha: test.js ## Run test suite #* To run tests for one format, make test_ #* To run the core test suite, make test_misc +.PHONY: testdot +testdot: test.js ## Run test suite using dot reporter + mocha -R dot -t 30000 + .PHONY: test-esm test-esm: test.mjs ## Run Node ESM test suite npx -y mocha@9 -R spec -t 30000 $< @@ -165,6 +169,11 @@ TESTFMT=$(patsubst %,test_%,$(FMT)) $(TESTFMT): test_%: FMTS=$* make test +TESTFMT=$(patsubst %,testdot_%,$(FMT)) +.PHONY: $(TESTFMT) +$(TESTFMT): testdot_%: + FMTS=$* make testdot + TESTESMFMT=$(patsubst %,test-esm_%,$(FMT)) .PHONY: $(TESTESMFMT) $(TESTESMFMT): test-esm_%: diff --git a/bits/00_header.js b/bits/00_header.js index 9ff1c4a..ee9bc26 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, DataView:false, Deno:false */ +/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false, Float32Array:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ diff --git a/bits/01_version.js b/bits/01_version.js index a61a12f..6ff7a1c 100644 --- a/bits/01_version.js +++ b/bits/01_version.js @@ -1 +1 @@ -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; diff --git a/bits/10_ssf.js b/bits/10_ssf.js index 7b76850..28d95b8 100644 --- a/bits/10_ssf.js +++ b/bits/10_ssf.js @@ -203,15 +203,6 @@ function SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { out.q = dow; return out; } -var SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime(); -var SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -269,7 +260,7 @@ function SSF_general(v/*:any*/, opts/*:any*/) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -957,7 +948,7 @@ function SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; diff --git a/bits/11_ssfutils.js b/bits/11_ssfutils.js index 2799260..4b6967c 100644 --- a/bits/11_ssfutils.js +++ b/bits/11_ssfutils.js @@ -43,6 +43,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ { @@ -55,6 +56,7 @@ function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/ case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; diff --git a/bits/20_jsutils.js b/bits/20_jsutils.js index 1dd375a..b184944 100644 --- a/bits/20_jsutils.js +++ b/bits/20_jsutils.js @@ -31,22 +31,19 @@ function evert_arr(obj/*:any*/)/*:EvertArrType*/ { return o; } -var basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = /*#__PURE__*/new Date(); -var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; -var refoffset = /*#__PURE__*/refdate.getTimezoneOffset(); -function numdate(v/*:number*/)/*:Date*/ { +function numdate(v/*:number*/)/*:Date|number*/ { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -77,28 +74,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1; -var good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) { - /*:: if(fixdate == null) fixdate = 0; */ - if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr/*:Array*/, debomit)/*:string*/ { @@ -170,32 +161,49 @@ function fuzzynum(s/*:string*/)/*:number*/ { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) /*:Date*/ { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) /*:Date*/ { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s/*:string*/)/*:Date*/ { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -208,3 +216,10 @@ var split_regex = /*#__PURE__*/(function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} diff --git a/bits/27_csfutils.js b/bits/27_csfutils.js index f8381f7..d8781d8 100644 --- a/bits/27_csfutils.js +++ b/bits/27_csfutils.js @@ -162,6 +162,7 @@ function sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksh else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } diff --git a/bits/39_xlsbiff.js b/bits/39_xlsbiff.js index 8c7794a..6f0bb50 100644 --- a/bits/39_xlsbiff.js +++ b/bits/39_xlsbiff.js @@ -1,9 +1,20 @@ /* [MS-XLS] 2.5.19 */ -function parse_XLSCell(blob/*::, length*/)/*:Cell*/ { +function parse_XLSCell(blob, length, opts)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); - var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}/*:any*/); + var ret = ({r:rw, c:col, ixfe:0}/*:any*/); + if(opts && opts.biff == 2 || length == 7) { + /* TODO: pass back flags */ + var flags = blob.read_shift(1); + ret.ixfe = flags & 0x3F; + blob.l += 2; + /* + var ifntifmt = blob.read_shift(1); + var ifmt = ifntifmt & 0x3f, ifnt = ifntifmt >> 6; + var flags3 = blob.read_shift(1); + */ + } else ret.ixfe = blob.read_shift(2); + return ret; } function write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) { if(!o) o = new_buf(6); @@ -228,6 +239,12 @@ function parse_WsBool(blob, length, opts) { /* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { + var name = ""; + if(opts.biff == 4) { + name = parse_ShortXLUnicodeString(blob, 0, opts); + if(name.length === 0) name = "Sheet1"; + return { name:name }; + } var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); @@ -237,7 +254,7 @@ function parse_BoundSheet8(blob, length, opts) { case 2: dt = 'Chartsheet'; break; case 6: dt = 'VBAModule'; break; } - var name = parse_ShortXLUnicodeString(blob, 0, opts); + name = parse_ShortXLUnicodeString(blob, 0, opts); if(name.length === 0) name = "Sheet1"; return { pos:pos, hs:hidden, dt:dt, name:name }; } @@ -408,8 +425,8 @@ function write_Font(data, opts) { } /* [MS-XLS] 2.4.149 */ -function parse_LabelSst(blob) { - var cell = parse_XLSCell(blob); +function parse_LabelSst(blob, length, opts) { + var cell = parse_XLSCell(blob, length, opts); cell.isst = blob.read_shift(4); return cell; } @@ -424,8 +441,7 @@ function write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ function parse_Label(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; var target = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) blob.l++; + var cell = parse_XLSCell(blob, length, opts); var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; @@ -459,6 +475,19 @@ function write_Format(i/*:number*/, f/*:string*/, opts, o) { return out; } var parse_BIFF2Format = parse_XLUnicodeString2; +function write_BIFF2Format(f/*:string*/) { + var o = new_buf(1 + f.length); + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} +function write_BIFF4Format(f/*:string*/) { + var o = new_buf(3 + f.length); + o.l += 2; + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} /* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { @@ -582,6 +611,44 @@ function write_XF(data, ixfeP, opts, o) { o.write_shift(2, 0); return o; } +function parse_BIFF2XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); blob.l++; o.flags = blob.read_shift(1); + o.numFmtId = o.flags & 0x3F; o.flags>>=6; + o.fStyle = 0; + o.data = {}; // TODO + return o; +} +function write_BIFF2XF(xf) { + var o = new_buf(4); + o.l+=2; + o.write_shift(1, xf.numFmtId); + o.l++; + return o; +} +function write_BIFF3XF(xf) { + var o = new_buf(12); + o.l++; + o.write_shift(1, xf.numFmtId); + o.l += 10; + return o; +} +/* TODO: check other fields */ +var write_BIFF4XF = write_BIFF3XF; +function parse_BIFF3XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} +function parse_BIFF4XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} /* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { @@ -602,8 +669,7 @@ function write_Guts(guts/*:Array*/) { /* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2 || length == 9) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -619,7 +685,7 @@ function write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:s /* [MS-XLS] 2.4.180 Number */ function parse_Number(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var xnum = parse_Xnum(blob, 8); cell.val = xnum; return cell; @@ -1029,43 +1095,50 @@ function parse_ImData(blob) { return o; } +function write_BIFF2Cell(out, r/*:number*/, c/*:number*/, ixfe/*:number*/, ifmt/*:number*/) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, ixfe||0/* & 0x3F */); + out.write_shift(1, ifmt||0/* & 0x3F */); + out.write_shift(1, 0); + return out; +} + /* BIFF2_??? where ??? is the name from [XLS] */ function parse_BIFF2STR(blob, length, opts) { if(opts.biffguess && opts.biff == 5) opts.biff = 2; - var cell = parse_XLSCell(blob, 6); - ++blob.l; + var cell = parse_XLSCell(blob, 7, opts); var str = parse_XLUnicodeString2(blob, length-7, opts); cell.t = 'str'; cell.val = str; return cell; } -function parse_BIFF2NUM(blob/*::, length*/) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2NUM(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = parse_Xnum(blob, 8); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) { +function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/, ixfe, ifmt) { var out = new_buf(15); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(8, val, 'f'); return out; } -function parse_BIFF2INT(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2INT(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = blob.read_shift(2); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) { +function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/, ixfe/*:number*/, ifmt/*:number*/) { var out = new_buf(9); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(2, val); return out; } @@ -1076,6 +1149,16 @@ function parse_BIFF2STRING(blob) { return blob.read_shift(cch, 'sbcs-cont'); } +function parse_BIFF2BOOLERR(blob, length, opts) { + var bestart = blob.l + 7; + var cell = parse_XLSCell(blob, 6, opts); + blob.l = bestart; + var val = parse_Bes(blob, 2); + cell.val = val; + cell.t = (val === true || val === false) ? 'b' : 'e'; + return cell; +} + /* TODO: convert to BIFF8 font struct */ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 6; // unknown @@ -1089,7 +1172,7 @@ function parse_BIFF2FONTXTRA(blob, length) { /* TODO: parse rich text runs */ function parse_RString(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var cch = blob.read_shift(2); var str = parse_XLUnicodeStringNoCch(blob, cch, opts); blob.l = end; @@ -1097,3 +1180,10 @@ function parse_RString(blob, length, opts) { cell.val = str; return cell; } + +function parse_BIFF4SheetInfo(blob/*::, length, opts*/) { + var flags = blob.read_shift(4); + var cch = blob.read_shift(1), name = blob.read_shift(cch, "sbcs"); + if(name.length === 0) name = "Sheet1"; + return { flags: flags, name:name }; +} \ No newline at end of file diff --git a/bits/40_harb.js b/bits/40_harb.js index ec30fa8..85212fa 100644 --- a/bits/40_harb.js +++ b/bits/40_harb.js @@ -179,7 +179,10 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -202,7 +205,12 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -473,10 +481,9 @@ var SYLK = /*#__PURE__*/(function() { else if(val === 'TRUE' || val === 'FALSE') { val = val === 'TRUE'; cell_t = "b"; } else if(!isNaN(fuzzynum(val))) { val = fuzzynum(val); cell_t = "n"; - if(next_cell_format !== null && fmt_is_date(next_cell_format) && opts.cellDates) { val = numdate(wb.Workbook.WBProps.date1904 ? val + 1462 : val); cell_t = "d"; } - } else if(!isNaN(fuzzydate(val).getDate())) { - val = parseDate(val); cell_t = "d"; - if(!opts.cellDates) { cell_t = "n"; val = datenum(val, wb.Workbook.WBProps.date1904); } + if(next_cell_format !== null && fmt_is_date(next_cell_format) && opts.cellDates) { + val = numdate(wb.Workbook.WBProps.date1904 ? val + 1462 : val); cell_t = typeof val == "number" ? "n" : "d"; + } } if(typeof $cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = $cptable.utils.decode(opts.codepage, val); C_seen_K = true; @@ -577,7 +584,7 @@ var SYLK = /*#__PURE__*/(function() { return outwb; } - function write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ { + function write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/)/*:string*/ { var o = "C;Y" + (R+1) + ";X" + (C+1) + ";K"; switch(cell.t) { case 'n': @@ -585,7 +592,7 @@ var SYLK = /*#__PURE__*/(function() { if(cell.f && !cell.F) o += ";E" + a1_to_rc(cell.f, {r:R, c:C}); break; case 'b': o += cell.v ? "TRUE" : "FALSE"; break; case 'e': o += cell.w || cell.v; break; - case 'd': o += '"' + (cell.w || cell.v) + '"'; break; + case 'd': o += datenum(parseDate(cell.v, date1904), date1904); break; case 's': o += '"' + (cell.v == null ? "" : String(cell.v)).replace(/"/g,"").replace(/;/g, ";;") + '"'; break; } return o; @@ -622,6 +629,7 @@ var SYLK = /*#__PURE__*/(function() { } function sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/, wb/*:?WorkBook*/)/*:string*/ { + if(!opts) opts = {}; opts._formats = ["General"]; /* TODO: codepage */ var preamble/*:Array*/ = ["ID;PSheetJS;N;E"], o/*:Array*/ = []; var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; @@ -629,34 +637,44 @@ var SYLK = /*#__PURE__*/(function() { var RS = "\r\n"; var d1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var _lastfmt = "General"; preamble.push("P;PGeneral"); + /* Excel has been inconsistent in comment placement */ + var R = r.s.r, C = r.s.c, p = []; + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || !cell.c) continue; + p.push(write_ws_cmnt_sylk(cell.c, R, C)); + } + if(p.length) o.push(p.join(RS)); + } + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; + if((cell.z||(cell.t == "d" ? table_fmt[14] : "General")) != _lastfmt) { + var ifmt = opts._formats.indexOf(cell.z); + if(ifmt == -1) { opts._formats.push(cell.z); ifmt = opts._formats.length - 1; preamble.push("P;P" + cell.z.replace(/;/g, ";;")); } + p.push("F;P" + ifmt + ";Y" + (R+1) + ";X" + (C+1)); + } + p.push(write_ws_cell_sylk(cell, ws, R, C, opts, d1904)); + } + o.push(p.join(RS)); + } + preamble.push("F;P0;DG0G8;M255"); if(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']); if(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']); preamble.push("B;Y" + (r.e.r - r.s.r + 1) + ";X" + (r.e.c - r.s.c + 1) + ";D" + [r.s.c,r.s.r,r.e.c,r.e.r].join(" ")); preamble.push("O;L;D;B" + (d1904 ? ";V4" : "") + ";K47;G100 0.001"); - /* Excel has been inconsistent in comment placement, */ - for(var R = r.s.r; R <= r.e.r; ++R) { - if(dense && !ws["!data"][R]) continue; - var p = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; - if(!cell || !cell.c) continue; - p.push(write_ws_cmnt_sylk(cell.c, R, C)); // TODO: pass date1904 info - } - o.push(p.join(RS)); - } - for(var R = r.s.r; R <= r.e.r; ++R) { - if(dense && !ws["!data"][R]) continue; - var p = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; - if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; - p.push(write_ws_cell_sylk(cell, ws, R, C, opts)); // TODO: pass date1904 info - } - o.push(p.join(RS)); - } + + delete opts._formats; return preamble.join(RS) + RS + o.join(RS) + RS + "E" + RS; } @@ -696,7 +714,10 @@ var DIF = /*#__PURE__*/(function() { if(data === 'TRUE') arr[R][C] = true; else if(data === 'FALSE') arr[R][C] = false; else if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value); - else if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value); + else if(!isNaN(fuzzydate(value).getDate())) { + arr[R][C] = parseDate(value); + if(!(opts && opts.UTC)) { arr[R][C] = utc_to_local(arr[R][C]); } + } else arr[R][C] = value; ++C; break; case 1: @@ -977,9 +998,11 @@ var PRN = /*#__PURE__*/(function() { var start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0); var _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null; function finish_cell() { + /* TODO: fuzzy parsers should pass back assumed number format */ var s = str.slice(start, end); if(s.slice(-1) == "\r") s = s.slice(0, -1); var cell = ({}/*:any*/); if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"'); + if(o.cellText !== false) cell.w = s; if(s.length === 0) cell.t = 'z'; else if(o.raw) { cell.t = 's'; cell.v = s; } else if(s.trim().length === 0) { cell.t = 's'; cell.v = s; } @@ -989,14 +1012,14 @@ var PRN = /*#__PURE__*/(function() { else { cell.t = 's'; cell.v = s; } } else if(s == "TRUE") { cell.t = 'b'; cell.v = true; } else if(s == "FALSE") { cell.t = 'b'; cell.v = false; } - else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; } + else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; cell.v = v; } else if(!isNaN((v = fuzzydate(s)).getDate()) || _re && s.match(_re)) { cell.z = o.dateNF || table_fmt[14]; - var k = 0; - if(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; v = parseDate(s, k); } + if(_re && s.match(_re)){ var news=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); v = parseDate(news); if(o && o.UTC === false) v = utc_to_local(v); } + else if(o && o.UTC === false) v = utc_to_local(v); + else if(o.cellText !== false && o.dateNF) cell.w = SSF_format(cell.z, v); if(o.cellDates) { cell.t = 'd'; cell.v = v; } else { cell.t = 'n'; cell.v = datenum(v); } - if(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v); if(!o.cellNF) delete cell.z; } else { cell.t = 's'; diff --git a/bits/41_lotus.js b/bits/41_lotus.js index 319cf20..0996676 100644 --- a/bits/41_lotus.js +++ b/bits/41_lotus.js @@ -24,6 +24,22 @@ var WK_ = /*#__PURE__*/(function() { throw "Unsupported type " + opts.type; } + /* NOTE: this list intentionally starts at 1 */ + var LOTUS_DATE_FMTS = [ + "mmmm", + "dd-mmm-yyyy", + "dd-mmm", + "mmm-yyyy", + "@", // "text"? + "mm/dd", + "hh:mm:ss AM/PM", // 7 + "hh:mm AM/PM", + "mm/dd/yyyy", + "mm/dd", + "hh:mm:ss", + "hh:mm" // 12 + ]; + function lotus_to_workbook_buf(d, opts)/*:Workbook*/ { if(!d) return d; var o = opts || {}; @@ -34,6 +50,7 @@ var WK_ = /*#__PURE__*/(function() { var refguess = {s: {r:0, c:0}, e: {r:0, c:0} }; var sheetRows = o.sheetRows || 0; + var lastcell = {}; if(d[4] == 0x51 && d[5] == 0x50 && d[6] == 0x57) return qpw_to_workbook_buf(d, opts); if(d[2] == 0x00) { @@ -65,9 +82,9 @@ var WK_ = /*#__PURE__*/(function() { case 0x0E: /* NUMBER */ case 0x10: /* FORMULA */ /* TODO: actual translation of the format code */ - if(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { - val[1].z = o.dateNF || table_fmt[14]; - if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); } + if((val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { + val[1].z = o.dateNF || LOTUS_DATE_FMTS[(val[2] & 0x0F)-1] || table_fmt[14]; + if(o.cellDates) { val[1].v = numdate(val[1].v); val[1].t = typeof val[1].v == "number" ? 'n' : 'd'; } } if(o.qpro) { @@ -86,15 +103,25 @@ var WK_ = /*#__PURE__*/(function() { tmpcell.t = val[1].t; tmpcell.v = val[1].v; if(val[1].z != null) tmpcell.z = val[1].z; if(val[1].f != null) tmpcell.f = val[1].f; + lastcell = tmpcell; break; } if(o.dense) { if(!sdata[val[0].r]) sdata[val[0].r] = []; sdata[val[0].r][val[0].c] = val[1]; } else s[encode_cell(val[0])] = val[1]; + lastcell = val[1]; break; case 0x5405: o.works2 = true; break; - default: + case 0x5402: { + /* TODO: enumerate all extended number formats */ + if(val == 0x14a1) { + lastcell.z = "hh:mm:ss"; + if(o.cellDates && lastcell.t == "n") { + lastcell.v = numdate(lastcell.v); lastcell.t = typeof lastcell.v == "number" ? 'n' : 'd'; + } + } + } break; }}, o); } else if(d[2] == 0x1A || d[2] == 0x0E) { o.Enum = WK3Enum; @@ -171,10 +198,17 @@ var WK_ = /*#__PURE__*/(function() { var cell = dense ? (ws["!data"][R]||[])[C] : ws[cols[C] + rr]; if(!cell || cell.t == "z") continue; /* TODO: formula records */ - if(cell.t == "n") { - if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v)); - else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v)); - } else { + switch(cell.t) { + case "n": + if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell)); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell)); + break; + case "d": + var dc = datenum(cell.v); + if((dc|0)==dc && dc >= -32768 && dc <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + break; + default: var str = format_cell(cell); write_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239))); } @@ -308,11 +342,18 @@ var WK_ = /*#__PURE__*/(function() { return o; } + function get_wk1_fmt(cell)/*:number*/ { + /* TODO: some fuzzy matching on the number format */ + if(cell.z && fmt_is_date(cell.z)) { + return 0xf0 | (LOTUS_DATE_FMTS.indexOf(cell.z) + 1 || 2); + } + return 0xFF; + } function parse_LABEL(blob, length, opts) { var tgt = blob.l + length; var o = parse_cell(blob, length, opts); o[1].t = 's'; - if(opts.vers == 0x5120) { + if((opts.vers & 0xFFFE) == 0x5120) { // WQ1 / WQ2 blob.l++; var len = blob.read_shift(1); o[1].v = blob.read_shift(len, 'utf8'); @@ -354,12 +395,12 @@ var WK_ = /*#__PURE__*/(function() { o[1].v = blob.read_shift(2, 'i'); return o; } - function write_INTEGER(R, C, v) { + function write_INTEGER(R, C, cell) { var o = new_buf(7); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(2, v, 'i'); + o.write_shift(2, cell.v, 'i'); return o; } @@ -368,12 +409,12 @@ var WK_ = /*#__PURE__*/(function() { o[1].v = blob.read_shift(8, 'f'); return o; } - function write_NUMBER(R, C, v) { + function write_NUMBER(R, C, cell) { var o = new_buf(13); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(8, v, 'f'); + o.write_shift(8, cell.v, 'f'); return o; } @@ -426,7 +467,7 @@ var WK_ = /*#__PURE__*/(function() { 0x33: ["FALSE", 0], 0x34: ["TRUE", 0], 0x35: ["RAND", 0], - // 0x36 DATE + 0x36: ["DATE", 3], // 0x37 NOW // 0x38 PMT // 0x39 PV @@ -436,7 +477,7 @@ var WK_ = /*#__PURE__*/(function() { // 0x3D MONTH // 0x3E YEAR 0x3F: ["ROUND", 2], - // 0x40 TIME + 0x40: ["TIME", 3], // 0x41 HOUR // 0x42 MINUTE // 0x43 SECOND @@ -778,13 +819,24 @@ var WK_ = /*#__PURE__*/(function() { /*::[*/0x0048/*::]*/: { n:"ACOMM" }, /*::[*/0x0049/*::]*/: { n:"AMACRO" }, /*::[*/0x004A/*::]*/: { n:"PARSE" }, + // 0x0064 /*::[*/0x0066/*::]*/: { n:"PRANGES??" }, /*::[*/0x0067/*::]*/: { n:"RRANGES??" }, /*::[*/0x0068/*::]*/: { n:"FNAME??" }, /*::[*/0x0069/*::]*/: { n:"MRANGES??" }, + // 0x0096 + // 0x0099 + // 0x009A + // 0x009B + // 0x009C + // 0x00C0 + // 0x00C7 + // 0x00C9 /*::[*/0x00CC/*::]*/: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, + // 0x00CD /*::[*/0x00DE/*::]*/: { n:"SHEETNAMELP", f:parse_SHEETNAMELP }, /*::[*/0x00FF/*::]*/: { n:"BOF", f:parseuint16 }, + /*::[*/0x5402/*::]*/: { n:"WKSNF", f:parseuint16 }, /*::[*/0xFFFF/*::]*/: { n:"" } }; @@ -914,6 +966,24 @@ var WK_ = /*#__PURE__*/(function() { /*::[*/0xFFFF/*::]*/: { n:"" } }; + /* TODO: fill out and verify this table across QP versions */ + var QPWNFTable = { + /*::[*/0x05/*::*/: "dd-mmm-yy", + /*::[*/0x06/*::*/: "dd-mmm", + /*::[*/0x07/*::*/: "mmm-yy", + /*::[*/0x08/*::*/: "mm/dd/yy", // Long Date Intl + /*::[*/0x0A/*::*/: "hh:mm:ss AM/PM", + /*::[*/0x0B/*::*/: "hh:mm AM/PM", + /*::[*/0x0E/*::*/: "dd-mmm-yyyy", + /*::[*/0x0F/*::*/: "mmm-yyyy", + + /*::[*/0x22/*::*/: "0.00", + /*::[*/0x32/*::*/: "0.00;[Red]0.00", + /*::[*/0x42/*::*/: "0.00;\(0.00\)", + /*::[*/0x52/*::*/: "0.00;[Red]\(0.00\)", + + /*::[*/162/*::*/: '"$"#,##0;\\("$"#,##0\\)' // slightly different from SSF 5 + }; /* QPW uses a different set of record types */ function qpw_to_workbook_buf(d, opts)/*:Workbook*/ { prep_blob(d, 0); @@ -924,6 +994,7 @@ var WK_ = /*#__PURE__*/(function() { var range = {s:{r:-1,c:-1}, e:{r:-1,c:-1}}; var cnt = 0, type = 0, C = 0, R = 0; var wb = { SheetNames: [], Sheets: {} }; + var FMTS = []; outer: while(d.l < d.length) { var RT = d.read_shift(2), length = d.read_shift(2); var p = d.slice(d.l, d.l + length); @@ -934,6 +1005,22 @@ var WK_ = /*#__PURE__*/(function() { break; case 0x02: /* EOF */ break outer; + case 0x08: /* NF */ break; // TODO: this is tied to custom number formats + + case 0x0A: /* FORMATS */ { + var fcnt = p.read_shift(4); + var step = ((p.length - p.l)/ fcnt)|0; + for(var ifmt = 0; ifmt < fcnt; ++ifmt) { + var end = p.l + step; + var fmt = {}; + p.l += 2; + fmt.numFmtId = p.read_shift(2); + if(QPWNFTable[fmt.numFmtId]) fmt.z = QPWNFTable[fmt.numFmtId]; + p.l = end; + FMTS.push(fmt); + } + } break; + /* TODO: The behavior here should be consistent with Numbers: QP Notebook ~ .TN.SheetArchive, QP Sheet ~ .TST.TableModelArchive */ case 0x0401: /* BON */ break; case 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break; @@ -996,18 +1083,21 @@ var WK_ = /*#__PURE__*/(function() { var CC = encode_col(C); while(p.l < p.length) { var cell = { t: "z" }; - var flags = p.read_shift(1); - if(flags & 0x80) p.l += 2; + var flags = p.read_shift(1), fmtidx = -1; + if(flags & 0x80) fmtidx = p.read_shift(2); var mul = (flags & 0x40) ? p.read_shift(2) - 1: 0; switch(flags & 0x1F) { + case 0: break; case 1: break; case 2: cell = { t: "n", v: p.read_shift(2) }; break; case 3: cell = { t: "n", v: p.read_shift(2, 'i') }; break; + case 4: cell = { t: "n", v: parse_RkNumber(p) }; break; case 5: cell = { t: "n", v: p.read_shift(8, 'f') }; break; case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; case 8: cell = { t: "n", v: p.read_shift(8, 'f') }; p.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4; break; default: throw "Unrecognized QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1 && (FMTS[fmtidx - 1]||{}).z) cell.z = FMTS[fmtidx-1].z; var delta = 0; if(flags & 0x20) switch(flags & 0x1F) { case 2: delta = p.read_shift(2); break; @@ -1016,10 +1106,14 @@ var WK_ = /*#__PURE__*/(function() { default: throw "Unsupported delta for QPW cell type " + (flags & 0x1F); } if(!(!o.sheetStubs && cell.t == "z")) { + var newcell = dup(cell); + if(cell.t == "n" && cell.z && fmt_is_date(cell.z) && o.cellDates) { + newcell.v = numdate(cell.v); newcell.t = typeof newcell.v == "number" ? 'n' : 'd'; + } if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; - s["!data"][R][C] = cell; - } else s[CC + encode_row(R)] = cell; + s["!data"][R][C] = newcell; + } else s[CC + encode_row(R)] = newcell; } ++R; --cnt; while(mul-- > 0 && cnt >= 0) { @@ -1034,6 +1128,7 @@ var WK_ = /*#__PURE__*/(function() { case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; default: throw "Cannot apply repeat for QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1); if(!(!o.sheetStubs && cell.t == "z")) { if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; diff --git a/bits/55_vml.js b/bits/55_vml.js index ca650a7..f4e9085 100644 --- a/bits/55_vml.js +++ b/bits/55_vml.js @@ -5,6 +5,7 @@ function parse_vml(data/*:string*/, sheet, comments) { (data.match(shapevmlregex)||[]).forEach(function(m) { var type = ""; var hidden = true; + var aidx = -1; var R = -1, C = -1; m.replace(tagregex, function(x/*:string*/, idx/*:number*/) { var y = parsexmltag(x); diff --git a/bits/63_fbin.js b/bits/63_fbin.js index 084124c..71194d6 100644 --- a/bits/63_fbin.js +++ b/bits/63_fbin.js @@ -68,8 +68,7 @@ function write_FormulaValue(value) { /* [MS-XLS] 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); if(opts.biff != 2) { @@ -263,7 +262,7 @@ function write_XLSBFormulaRangeWS(_str, wb) { var sname = _str.slice(0, lastbang); _str = _str.slice(lastbang+1); if(sname.charAt(0) == "'") sname = sname.slice(1, -1).replace(/''/g, "'"); - var parts = _str.split(":"); str = parts[0]; + var parts = _str.split(":"); var out = new_buf(27); out.write_shift(4, 19); diff --git a/bits/65_fods.js b/bits/65_fods.js index dbe9ea3..6fadcd1 100644 --- a/bits/65_fods.js +++ b/bits/65_fods.js @@ -31,6 +31,6 @@ function ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ { } function csf_to_ods_3D(r/*:string*/)/*:string*/ { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } diff --git a/bits/66_wscommon.js b/bits/66_wscommon.js index e148b71..4c41b16 100644 --- a/bits/66_wscommon.js +++ b/bits/66_wscommon.js @@ -81,7 +81,7 @@ function get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) { return len; } -function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) { +function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -96,14 +96,14 @@ function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, the else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; diff --git a/bits/67_wsxml.js b/bits/67_wsxml.js index 956d9e2..e4b2116 100644 --- a/bits/67_wsxml.js +++ b/bits/67_wsxml.js @@ -55,7 +55,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -76,6 +76,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); /* legacyDrawing */ + var m; if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; @@ -261,7 +262,7 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { +function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts, idx, wb, date1904)/*:string*/ { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; @@ -274,11 +275,14 @@ function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -321,7 +325,7 @@ var parse_ws_xml_data = /*#__PURE__*/(function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) { +return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles, wb) { var ri = 0, x = "", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -332,6 +336,7 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th var dense = s["!data"] != null; var rows/*:Array*/ = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -476,8 +481,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -496,8 +501,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -522,6 +527,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook var o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -530,7 +536,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}/*:any*/); diff --git a/bits/68_wsbin.js b/bits/68_wsbin.js index 9bafc81..35e919e 100644 --- a/bits/68_wsbin.js +++ b/bits/68_wsbin.js @@ -542,6 +542,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ XLSBRecordEnum[0x0010] = { n:"BrtShortReal", f:parse_BrtShortReal }; var cm, vm; + var date1904 = 1462 * +!!((wb||{}).WBProps||{}).date1904; recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; @@ -585,7 +586,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ case 'str': p.t = 's'; p.v = val[1]; break; case 'is': p.t = 's'; p.v = val[1].t; break; } - if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles); + if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles, date1904>0); C = val[0].c == -1 ? C + 1 : val[0].c; if(opts.dense) { if(!s["!data"][R]) s["!data"][R] = []; s["!data"][R][C] = p; } else s[encode_col(C) + rr] = p; @@ -606,7 +607,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(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) { - 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); } + var _d = SSF_parse_date_code(p.v + date1904); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } if(cm) { if(cm.type == 'XLDAPR') p.D = true; @@ -809,7 +810,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ { +function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/, date1904/*:boolean*/)/*:boolean*/ { var o/*:any*/ = ({r:R, c:C}/*:any*/); if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]); if(cell.v === undefined) return false; @@ -819,7 +820,7 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num case 'd': // no BrtCellDate :( cell = dup(cell); cell.z = cell.z || table_fmt[14]; - cell.v = datenum(parseDate(cell.v)); cell.t = 'n'; + cell.v = datenum(parseDate(cell.v, date1904), date1904); cell.t = 'n'; break; /* falls through */ case 'n': case 'e': vv = ''+cell.v; break; @@ -872,8 +873,9 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num return true; } -function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { +function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols/*:Array*/ = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; write_record(ba, 0x0091 /* BrtBeginSheetData */); var dense = ws["!data"] != null; var cap = range.e.r; @@ -891,7 +893,7 @@ function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Work var cell = dense ? (ws["!data"][R]||[])[C] : ws[ref]; if(!cell) { last_seen = false; continue; } /* write cell */ - last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); + last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904); } } write_record(ba, 0x0092 /* BrtEndSheetData */); diff --git a/bits/75_xlml.js b/bits/75_xlml.js index b353c52..f432d06 100644 --- a/bits/75_xlml.js +++ b/bits/75_xlml.js @@ -40,10 +40,10 @@ function xlml_parsexmltagobj(tag/*:string*/) { /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap/*: {[string]:string}*/; -function xlml_format(format, value)/*:string*/ { +function xlml_format(format, value, date1904)/*:string*/ { var fmt = XLMLFormatMap[format] || unescapexml(format); if(fmt === "General") return SSF_general(value); - return SSF_format(fmt, value); + return SSF_format(fmt, value, {date1904: !!date1904}); } function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { @@ -59,7 +59,7 @@ function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { Custprops[unescapexml(key)] = oval; } -function safe_format_xlml(cell/*:Cell*/, nf, o) { +function safe_format_xlml(cell/*:Cell*/, nf, o, date1904) { if(cell.t === 'z') return; if(!o || o.cellText !== false) try { if(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; } @@ -70,13 +70,13 @@ function safe_format_xlml(cell/*:Cell*/, nf, o) { } else cell.w = SSF_general(cell.v); } - else cell.w = xlml_format(nf||"General", cell.v); + else cell.w = xlml_format(nf||"General", cell.v, date1904); } catch(e) { if(o.WTF) throw e; } try { var z = XLMLFormatMap[nf]||nf||"General"; if(o.cellNF) cell.z = z; if(o.cellDates && cell.t == 'n' && fmt_is_date(z)) { - var _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } + var _d = SSF_parse_date_code(cell.v + (date1904 ? 1462 : 0)); if(_d) { cell.t = 'd'; cell.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } catch(e) { if(o.WTF) throw e; } } @@ -92,7 +92,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) { +function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o, date1904) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; var i = 0; @@ -115,9 +115,8 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a break; case 'DateTime': if(xml.slice(-1) != "Z") xml += "Z"; - cell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); + cell.v = datenum(parseDate(xml, date1904), date1904); if(cell.v !== cell.v) cell.v = unescapexml(xml); - else if(cell.v<60) cell.v = cell.v -1; if(!nf || nf == "General") nf = "yyyy-mm-dd"; /* falls through */ case 'Number': @@ -130,7 +129,7 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a else { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); } break; } - safe_format_xlml(cell, nf, o); + safe_format_xlml(cell, nf, o, date1904); if(o.cellFormula !== false) { if(cell.Formula) { var fstr = unescapexml(cell.Formula); @@ -232,7 +231,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { break; } if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts, Workbook.WBProps.date1904); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'cell' /*case 'Cell'*/: diff --git a/bits/76_xls.js b/bits/76_xls.js index adf01b6..785a619 100644 --- a/bits/76_xls.js +++ b/bits/76_xls.js @@ -77,7 +77,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { var fmtid = 0; try { fmtid = p.z || p.XF.numFmtId || 0; - if(opts.cellNF) p.z = table_fmt[fmtid]; + if(opts.cellNF && p.z == null) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { if(p.t === 'e') { p.w = p.w || BErr[p.v]; } @@ -91,7 +91,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { else p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF}); } catch(e) { if(opts.WTF) throw e; } if(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) { - 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); } + var _d = SSF_parse_date_code(p.v + (date1904 ? 1462 : 0)); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } @@ -119,6 +119,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var XFs = []; /* XF records */ var palette/*:Array<[number, number, number]>*/ = []; var Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {}; + var biff4w = false; var get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ { if(icv < 8) return XLSIcv[icv]; if(icv < 64) return palette[icv-8] || XLSIcv[icv]; @@ -134,7 +135,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } }; var addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) { - if(file_depth > 1) return; + if(!biff4w && file_depth > 1) return; if(options.sheetRows && cell.r >= options.sheetRows) return; if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options); delete line.ixfe; delete line.XF; @@ -265,6 +266,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; break; // TODO + case 0x0043: /* BIFF2XF */ case 0x0243: /* BIFF3XF */ case 0x0443: /* BIFF4XF */ case 0x00e0 /* XF */: XFs.push(val); break; case 0x01ae /* SupBook */: @@ -299,11 +301,11 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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; + Directory[opts.biff == 4 ? opts.snames.length : val.pos] = val; opts.snames.push(val.name); } break; case 0x000a /* EOF */: { - if(--file_depth) break; + if(--file_depth ? !biff4w : biff4w) break; if(range.e) { if(range.e.r > 0 && range.e.c > 0) { range.e.r--; range.e.c--; @@ -342,13 +344,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { }[val.BIFFVer] || 8; opts.biffguess = val.BIFFVer == 0; if(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); } + if(opts.biff == 4 && val.dt & 0x100) biff4w = true; if(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2; - if(file_depth++) break; + if(file_depth++ && !biff4w) break; out = ({}/*:any*/); if(options.dense) out["!data"] = []; if(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); } - - if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { + if(opts.biff == 4 && biff4w) { + cur_sheet = (Directory[opts.snames.indexOf(cur_sheet)+1] || {name:""}).name; + } else if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; /* fake BoundSheet8 */ @@ -369,19 +373,19 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out["!data"][val.r]||[])[val.c]: out[encode_col(val.c) + encode_row(val.r)]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x0005: case 0x0205 /* BoolErr */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x027e /* RK */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -389,7 +393,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } @@ -407,7 +411,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { else temp_val.F = ((options.dense ? (out["!data"][_fr]||[])[_fc]: out[_fe]) || {}).F; } else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -420,7 +424,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(options.cellFormula) { temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -451,13 +455,13 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x0201 /* Blank */: if(options.sheetStubs) { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -465,7 +469,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:_j, r:val.r}, temp_val, options); } @@ -474,7 +478,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -486,7 +490,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { sst = val; } break; case 0x041e /* Format */: { /* val = [id, fmt] */ - if(opts.biff == 4) { + if(opts.biff >= 3 && opts.biff <= 4) { BIFF2FmtTable[BIFF2Fmt++] = val[1]; for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break; if(b4idx >= 163) SSF__load(val[1], BIFF2Fmt + 163); diff --git a/bits/77_parsetab.js b/bits/77_parsetab.js index 0f9a577..b4943b5 100644 --- a/bits/77_parsetab.js +++ b/bits/77_parsetab.js @@ -1221,7 +1221,7 @@ var XLSRecordEnum = { /*::[*/0x0002/*::]*/: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, /*::[*/0x0003/*::]*/: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, /*::[*/0x0004/*::]*/: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, - /*::[*/0x0005/*::]*/: { /* n:"BoolErr", */ f:parse_BoolErr }, + /*::[*/0x0005/*::]*/: { /* n:"BIFF2BOOLERR", */ f:parse_BIFF2BOOLERR }, /*::[*/0x0007/*::]*/: { /* n:"String", */ f:parse_BIFF2STRING }, /*::[*/0x0008/*::]*/: { /* n:"BIFF2ROW", */ }, /*::[*/0x0009/*::]*/: { /* n:"BOF", */ f:parse_BOF }, @@ -1260,7 +1260,7 @@ var XLSRecordEnum = { /* - - - */ /*::[*/0x0034/*::]*/: { /* n:"DDEObjName", */ }, - /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ }, + /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ f:parse_BIFF2XF }, /*::[*/0x0044/*::]*/: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, /*::[*/0x0045/*::]*/: { /* n:"BIFF2FONTCLR", */ }, /*::[*/0x0056/*::]*/: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ @@ -1272,7 +1272,7 @@ var XLSRecordEnum = { // 0x8A // 0x8B LH: alternate menu key flag (BIFF3/4) // 0x8E - // 0x8F + /*::[*/0x008F/*::]*/: { /* n:"BIFF4SheetInfo", */ f:parse_BIFF4SheetInfo }, /*::[*/0x0091/*::]*/: { /* n:"Sub", */ }, // 0x93 STYLE /*::[*/0x0094/*::]*/: { /* n:"LHRecord", */ }, @@ -1298,10 +1298,10 @@ var XLSRecordEnum = { /*::[*/0x0218/*::]*/: { /* n:"Lbl", */ f:parse_Lbl }, /*::[*/0x0223/*::]*/: { /* n:"ExternName", */ f:parse_ExternName }, /*::[*/0x0231/*::]*/: { /* n:"Font", */ }, - /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ }, + /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ f:parse_BIFF3XF }, /*::[*/0x0406/*::]*/: { /* n:"Formula", */ f:parse_Formula }, /*::[*/0x0409/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ }, + /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ f:parse_BIFF4XF }, /*::[*/0x086d/*::]*/: { /* n:"FeatInfo", */ }, /*::[*/0x0873/*::]*/: { /* n:"FeatInfo11", */ }, /*::[*/0x0881/*::]*/: { /* n:"SXAddl12", */ }, diff --git a/bits/78_writebiff.js b/bits/78_writebiff.js index 7401474..47be0d0 100644 --- a/bits/78_writebiff.js +++ b/bits/78_writebiff.js @@ -31,16 +31,7 @@ function write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/* } } -function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { - if(!out) out = new_buf(7); - out.write_shift(2, r); - out.write_shift(2, c); - out.write_shift(2, 0); - out.write_shift(1, 0); - return out; -} - -function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) { +function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:string*/) { var out = new_buf(9); write_BIFF2Cell(out, r, c); write_Bes(val, t || 'b', out); @@ -67,29 +58,48 @@ function write_comments_biff2(ba/*:BufArray*/, comments/*:Array<[Comment[], numb }); } -function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) { +/* TODO: BIFF3/4 use different records -- see comments*/ +function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) { + var ifmt = 0; + if(cell.z != null) { + ifmt = opts._BIFF2FmtTable.indexOf(cell.z); + if(ifmt == -1) { opts._BIFF2FmtTable.push(cell.z); ifmt = opts._BIFF2FmtTable.length - 1; } + } + var ixfe = 0; + if(cell.z != null) { + for(; ixfe < opts.cellXfs.length; ++ixfe) if(opts.cellXfs[ixfe].numFmtId == ifmt) break; + if(ixfe == opts.cellXfs.length) opts.cellXfs.push({numFmtId: ifmt}); + } if(cell.v != null) switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; - if((v == (v|0)) && (v >= 0) && (v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v)); + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; + if(opts.biff == 2 && (v == (v|0)) && (v >= 0) && (v < 65536)) + // 0x027E (RK) in BIFF3/4 + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v, ixfe, ifmt)); else if(isNaN(v)) + // 0x0205 in BIFF3/4 write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x24, "e")); // #NUM! else if(!isFinite(v)) + // 0x0205 in BIFF3/4 write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x07, "e")); // #DIV/0! else - write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v)); + // 0x0203 in BIFF3/4 + write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v, ixfe, ifmt)); return; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; + case 'b': case 'e': + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': + // 0x0204 in BIFF3/4 write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v == null ? "" : String(cell.v).slice(0,255))); return; } + // 0x0201 in BIFF3/4 write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); } -function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { +function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { var dense = ws["!data"] != null; var range = safe_decode_range(ws['!ref'] || "A1"), ref/*:string*/, rr = "", cols/*:Array*/ = []; if(range.e.c > 0xFF || range.e.r > 0x3FFF) { @@ -97,7 +107,9 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ range.e.c = Math.min(range.e.c, 0xFF); range.e.r = Math.min(range.e.c, 0x3FFF); } + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; var row = [], comments = []; + /* TODO: 0x0000 / 0x0200 dimensions? */ for(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(var R = range.s.r; R <= range.e.r; ++R) { if(dense) row = ws["!data"][R] || []; @@ -106,7 +118,7 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ var cell = dense ? row[C] : ws[cols[C] + rr]; if(!cell) continue; /* write cell */ - write_ws_biff2_cell(ba, cell, R, C, opts); + write_ws_biff2_cell(ba, cell, R, C, opts, date1904); if(cell.c) comments.push([cell.c, R, C]); } } @@ -119,14 +131,32 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ /* Based on test files */ function write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { var o = opts || {}; + var ba = buf_array(); var idx = 0; for(var i=0;i*/ = ["General"]; o._Fonts = []; + var body = buf_array(); + write_ws_biff2(body, wb.Sheets[wb.SheetNames[idx]], idx, o, wb); + + o._BIFF2FmtTable.forEach(function(f) { + if(o.biff <= 3) write_biff_rec(ba, 0x001E, write_BIFF2Format(f)); + else write_biff_rec(ba, 0x041E, write_BIFF4Format(f)); + }); + o.cellXfs.forEach(function(xf) { + switch(o.biff) { + case 2: write_biff_rec(ba, 0x0043, write_BIFF2XF(xf)); break; + case 3: write_biff_rec(ba, 0x0243, write_BIFF3XF(xf)); break; + case 4: write_biff_rec(ba, 0x0443, write_BIFF4XF(xf)); break; + } + }); + delete o._BIFF2FmtTable; delete o.cellXfs; delete o._Fonts; + + ba.push(body.end()); write_biff_rec(ba, 0x000A); return ba.end(); } @@ -147,7 +177,7 @@ function write_MsoDrawingGroup() { { buf.write_shift(4, b8oid); buf.write_shift(4, b8ocnts.length+1); - buf.write_shift(4, b8ocnts.reduce(function(acc,x) { return acc+x[1]; }, 0)); + var acc = 0; for(var i = 0; i < b8ocnts.length; ++i) acc += (b8ocnts[i] && b8ocnts[i][1] || 0); buf.write_shift(4, acc); buf.write_shift(4, b8ocnts.length); } /* 2.2.46 OfficeArtIDCL + */ @@ -185,7 +215,7 @@ function write_comments_biff8(ba/*:BufArray*/, comments/*:Array<[Comment[], numb var _oasc; comments.forEach(function(c, ci) { var author = ""; - var text = c[0].map(function(t) { if(t.a && !author) author = t.a; return t.t }).join(""); + var text = c[0].map(function(t) { if(t.a && !author) author = t.a; return t.t; }).join(""); ++b8oid; /* 2.2.14 OfficeArtSpContainer */ @@ -336,7 +366,7 @@ function write_comments_biff8(ba/*:BufArray*/, comments/*:Array<[Comment[], numb /* [MS-ODRAW] 2.2.13 OfficeArtDgContainer */ { var hdr = new_buf(80); - hdr.write_shift(2, 0x0F) + hdr.write_shift(2, 0x0F); hdr.write_shift(2, 0xF002); hdr.write_shift(4, sz + hdr.length - 8); /* [MS-ODRAW] 2.2.49 OfficeArtFDG */ @@ -443,7 +473,7 @@ function write_ws_cols_biff8(ba, cols) { }); } -function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { +function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) { var os = 16 + get_cell_style(opts.cellXfs, cell, opts); if(cell.v == null && !cell.bf) { write_biff_rec(ba, 0x0201 /* Blank */, write_XLSCell(R, C, os)); @@ -452,7 +482,7 @@ function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:n if(cell.bf) write_biff_rec(ba, 0x0006 /* Formula */, write_Formula(cell, R, C, opts, os)); else switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; if(isNaN(v)) write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, 0x24, os, opts, "e")); // #NUM! else if(!isFinite(v)) write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, 0x07, os, opts, "e")); // #DIV/0! /* TODO: emit RK as appropriate */ @@ -513,6 +543,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { write_biff_rec(ba, 0x0200 /* Dimensions */, write_Dimensions(range, opts)); /* ... */ + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; if(b8) ws['!links'] = []; var comments = []; var row = []; @@ -525,7 +556,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { var cell = dense ? row[C] : ws[ref]; if(!cell) continue; /* write cell */ - write_ws_biff8_cell(ba, cell, R, C, opts); + write_ws_biff8_cell(ba, cell, R, C, opts, date1904); if(b8 && cell.l) ws['!links'].push([ref, cell.l]); if(cell.c) comments.push([cell.c, R, C]); } diff --git a/bits/79_html.js b/bits/79_html.js index 4f66387..bb6f2e6 100644 --- a/bits/79_html.js +++ b/bits/79_html.js @@ -45,9 +45,11 @@ function html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ { else if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)}; else if(!isNaN(fuzzydate(m).getDate())) { o = ({t:'d', v:parseDate(m)}/*:any*/); + if(opts.UTC === false) o.v = utc_to_local(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } + if(o.cellText !== false) o.w = m; if(dense) { if(!ws["!data"][R]) ws["!data"][R] = []; ws["!data"][R][C] = o; } else ws[encode_cell({r:R, c:C})] = o; C += CS; @@ -81,7 +83,8 @@ function make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HT if(o.editable) w = '' + w + ''; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -187,6 +190,7 @@ function sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/ else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}/*:any*/); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } diff --git a/bits/80_parseods.js b/bits/80_parseods.js index 622006c..3d5382c 100644 --- a/bits/80_parseods.js +++ b/bits/80_parseods.js @@ -263,7 +263,6 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -370,19 +369,23 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -579,9 +582,7 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; diff --git a/bits/81_writeods.js b/bits/81_writeods.js index 67f5ced..d9fd6f3 100644 --- a/bits/81_writeods.js +++ b/bits/81_writeods.js @@ -99,7 +99,9 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -126,7 +128,7 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -182,10 +184,15 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -204,7 +211,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function }; var null_cell_xml = ' \n'; - var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs)/*:string*/ { + var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs, date1904)/*:string*/ { /* Section 9 Tables */ var o/*:Array*/ = []; o.push(' \n'); @@ -264,9 +271,9 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; //case 'e': // TODO: translate to ODS errors @@ -436,7 +443,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); diff --git a/bits/83_numbers.js b/bits/83_numbers.js index 488e3a4..d281a9e 100644 --- a/bits/83_numbers.js +++ b/bits/83_numbers.js @@ -566,10 +566,10 @@ function numbers_format_cell(cell, t, flags, ofmt, nfmt) { cell.w = cell.w.replace(/:(\d\d\d)$/, ".$1"); } } -function parse_old_storage(buf, lut, v) { +function parse_old_storage(buf, lut, v, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); - var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)); var doff = v > 1 ? 12 : 8; if (flags & 2) { zidx = dv.getUint32(doff, true); @@ -590,7 +590,7 @@ function parse_old_storage(buf, lut, v) { doff += 8; } if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (v > 1) { @@ -613,7 +613,12 @@ function parse_old_storage(buf, lut, v) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -644,12 +649,12 @@ function parse_old_storage(buf, lut, v) { ret.v /= 86400; return ret; } -function parse_new_storage(buf, lut) { +function parse_new_storage(buf, lut, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1), eidx = -1, fidx = -1; + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; if (fields & 1) { d128 = readDecimal128LE(buf, doff); doff += 16; @@ -659,7 +664,7 @@ function parse_new_storage(buf, lut) { doff += 8; } if (fields & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (fields & 8) { @@ -693,7 +698,12 @@ function parse_new_storage(buf, lut) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -744,10 +754,18 @@ function write_new_storage(cell, lut) { out[0] = 5; switch (cell.t) { case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - fields |= 1; - l += 16; + if (cell.z && fmt_is_date(cell.z)) { + out[1] = 5; + dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + } else { + out[1] = 2; + writeDecimal128LE(out, l, cell.v); + fields |= 1; + l += 16; + } break; case "b": out[1] = 6; @@ -780,6 +798,12 @@ function write_new_storage(cell, lut) { } } break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; case "z": out[1] = 0; break; @@ -796,7 +820,7 @@ function write_new_storage(cell, lut) { return out[subarray](0, l); } function write_old_storage(cell, lut) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; switch (cell.t) { case "n": @@ -805,7 +829,7 @@ function write_old_storage(cell, lut) { break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if (cell.l) { var irsst = lut.rsst.findIndex(function(v) { var _a; @@ -821,6 +845,10 @@ function write_old_storage(cell, lut) { } } break; + case "d": + break; + case "e": + break; case "z": break; default: @@ -846,7 +874,7 @@ function write_old_storage(cell, lut) { break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if (cell.l) { } else { var isst = lut.sst.indexOf(s); @@ -859,6 +887,12 @@ function write_old_storage(cell, lut) { } } break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 64; + l += 8; + break; case "z": out[1] = 0; break; @@ -868,16 +902,16 @@ function write_old_storage(cell, lut) { dv.setUint32(8, fields, true); return out[subarray](0, l); } -function parse_cell_storage(buf, lut) { +function parse_cell_storage(buf, lut, opts) { switch (buf[0]) { case 0: case 1: case 2: case 3: case 4: - return parse_old_storage(buf, lut, buf[0]); + return parse_old_storage(buf, lut, buf[0], opts); case 5: - return parse_new_storage(buf, lut); + return parse_new_storage(buf, lut, opts); default: throw new Error("Unsupported payload version ".concat(buf[0])); } @@ -1082,7 +1116,7 @@ function s5s_to_iwa_comment(s5s) { } return out; } -function parse_TST_TableModelArchive(M, root, ws) { +function parse_TST_TableModelArchive(M, root, ws, opts) { var _a, _b, _c, _d, _e, _f, _g, _h, _i; var pb = parse_shallow(root.data); var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; @@ -1121,7 +1155,7 @@ function parse_TST_TableModelArchive(M, root, ws) { var _tile = parse_TST_Tile(M, ref2); _tile.data.forEach(function(row, R) { row.forEach(function(buf, C) { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if (res) { if (dense) { if (!dws["!data"][_R + R]) @@ -1162,7 +1196,7 @@ function parse_TST_TableInfoArchive(M, root, opts) { 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); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } function parse_TN_SheetArchive(M, root, opts) { @@ -1185,6 +1219,7 @@ function parse_TN_SheetArchive(M, root, opts) { function parse_TN_DocumentArchive(M, root, opts) { var _a; var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if ((_a = pb[2]) == null ? void 0 : _a[0]) throw new Error("Keynote presentations are not supported"); @@ -1300,8 +1335,8 @@ function write_TST_TileRowInfo(data, lut, wide) { switch (data[C].t) { case "d": if (data[C].v instanceof Date) { - celload = write_new_storage({ t: "s", v: data[C].v.toISOString() }, lut); - _celload = write_old_storage({ t: "s", v: data[C].v.toISOString() }, lut); + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); break; } celload = write_new_storage(data[C], lut); diff --git a/bits/90_utils.js b/bits/90_utils.js index 35b09c4..2a290d8 100644 --- a/bits/90_utils.js +++ b/bits/90_utils.js @@ -24,7 +24,12 @@ function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Ar switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -234,6 +239,7 @@ function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); } diff --git a/dist/xlsx.core.min.js b/dist/xlsx.core.min.js index 0d07f94..f071ce5 100644 --- a/dist/xlsx.core.min.js +++ b/dist/xlsx.core.min.js @@ -1,17 +1,17 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};function make_xlsx_lib(e){e.version="0.19.3";var r=1200,t=1252;var a;var n=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4];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(n.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[2*t]+(e[2*t+1]<<8));return r.join("")}function d(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 v=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 d(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function Ik(e){return String.fromCharCode(e)};var m=function Nk(e){return String.fromCharCode(e)};function b(e){a=e;l=function(e){r=e;s(e)};v=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};p=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};m=function i(e){return a.utils.decode(t,[e])[0]};ia()}var g=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function T(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e.charCodeAt(o++);s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function E(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o255)t=95;i=t>>2;a=e.charCodeAt(o++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);if(n>255)n=95;f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function y(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;e=e.replace(/^data:([^\/]+\/[^\/]+)?;base64\,/,"").replace(/[^\w\+\/\=]/g,"");for(var o=0;o>4;r+=String.fromCharCode(t);f=k.indexOf(e.charAt(o++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}l=k.indexOf(e.charAt(o++));n=(f&3)<<6|l;if(l!==64){r+=String.fromCharCode(n)}}return r}var S=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var _=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var x=function(){if(typeof Buffer==="undefined")return false;var e=_([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function A(e){if(S)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function C(e){if(S)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var O=function Fk(e){if(S)return _(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function R(e){if(typeof ArrayBuffer==="undefined")return O(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 I(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=A(65535);a=65530}}r.push(n.slice(0,t));return D(r)}var L=/\u0000/g,M=/[\u0001-\u0006]/g;function U(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function B(e,r){var t=""+e;return t.length>=r?t:_r("0",r-t.length)+t}function W(e,r){var t=""+e;return t.length>=r?t:_r(" ",r-t.length)+t}function H(e,r){var t=""+e;return t.length>=r?t:t+_r(" ",r-t.length)}function z(e,r){var t=""+Math.round(e);return t.length>=r?t:_r("0",r-t.length)+t}function V(e,r){var t=""+e;return t.length>=r?t:_r("0",r-t.length)+t}var G=Math.pow(2,32);function j(e,r){if(e>G||e<-G)return z(e,r);var t=Math.round(e);return V(t,r)}function X(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 Y=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var K=[["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 Z(e){if(!e)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"秒 "';return e}var J={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var Q={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 ee(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 re(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=he(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}var te=new Date(1899,11,31,0,0,0);var ae=te.getTime();var ne=new Date(1900,2,1,0,0,0);function ie(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=ne)t+=24*60*60*1e3;return(t-(ae+(e.getTimezoneOffset()-te.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function se(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function fe(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function le(e){var r=e<0?12:11;var t=se(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function oe(e){var r=se(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function ce(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=le(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=oe(e);return se(fe(t.toUpperCase()))}function ue(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):ce(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return Ve(14,ie(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function he(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function de(e,r,t,a){var n="",i=0,s=0,f=t.y,l,o=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:l=f%100;o=2;break;default:l=f%1e4;o=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;o=r.length;break;case 3:return K[t.m-1][1];case 5:return K[t.m-1][0];default:return K[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;o=r.length;break;case 3:return Y[t.q][0];default:return Y[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 B(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=B(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.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=f;o=1;break;}var c=o>0?B(l,o):"";return c}function ve(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 pe=/%/g;function me(e,r,t){var a=r.replace(pe,""),n=r.length-a.length;return Pe(e,a,t*Math.pow(10,2*n))+_r("%",n)}function be(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Pe(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function ge(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"-"+ge(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 we=/# (\?+)( ?)\/( ?)(\d+)/;function ke(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?_r(" ",e[1].length+1+e[4].length):W(s,e[1].length)+e[2]+"/"+e[3]+B(f,e[4].length))}function Te(e,r,t){return t+(r===0?"":""+r)+_r(" ",e[1].length+2+e[4].length)}var Ee=/^#*0*\.([0#]+)/;var ye=/\).*[0#]/;var Se=/\(###\) ###\\?-####/;function _e(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 xe(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ae(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 Ce(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function Oe(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function Re(e,r,t){if(e.charCodeAt(0)===40&&!r.match(ye)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Re("n",a,t);return"("+Re("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return be(e,r,t);if(r.indexOf("%")!==-1)return me(e,r,t);if(r.indexOf("E")!==-1)return ge(r,t);if(r.charCodeAt(0)===36)return"$"+Re(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+j(l,r.length);if(r.match(/^[#?]+$/)){n=j(t,0);if(n==="0")n="";return n.length>r.length?n:_e(r.substr(0,r.length-n.length))+n}if(i=r.match(we))return ke(i,l,o);if(r.match(/^#+0+$/))return o+j(l,r.length-r.indexOf("0"));if(i=r.match(Ee)){n=xe(t,i[1].length).replace(/^([^\.]+)$/,"$1."+_e(i[1])).replace(/\.$/,"."+_e(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+_r("0",_e(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+xe(l,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+ve(j(l,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Re(e,r,-t):ve(""+(Math.floor(t)+Ce(t,i[1].length)))+"."+B(Ae(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Re(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=U(Re(e,r.replace(/[\\-]/g,""),t));s=0;return U(U(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return De("n",a,t);return"("+De("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return Ie(e,r,t);if(r.indexOf("%")!==-1)return Ne(e,r,t);if(r.indexOf("E")!==-1)return Fe(r,t);if(r.charCodeAt(0)===36)return"$"+De(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+B(l,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:_e(r.substr(0,r.length-n.length))+n}if(i=r.match(we))return Te(i,l,o);if(r.match(/^#+0+$/))return o+B(l,r.length-r.indexOf("0"));if(i=r.match(Ee)){n=(""+t).replace(/^([^\.]+)$/,"$1."+_e(i[1])).replace(/\.$/,"."+_e(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+_r("0",_e(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+(""+l).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+ve(""+l);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+De(e,r,-t):ve(""+t)+"."+_r("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return De(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=U(De(e,r.replace(/[\\-]/g,""),t));s=0;return U(U(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-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}function Be(e,r,t,a){var n=[],i="",s=0,f="",l="t",o,c,u;var h="H";while(s=12?e.charAt(s+2):f;p.t="T";h="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(o!=null)p.v=o.H>=12?"PM":"AM";p.t="T";s+=5;h="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(o!=null)p.v=o.H>=12?"下午":"上午";p.t="T";s+=5;h="h"}else{p.t="t";++s}if(o==null&&p.t==="T")return"";n[n.length]=p;l=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Ue(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 m=0,b=0,g;for(s=n.length-1,l="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=h;l="h";if(m<1)m=1;break;case"s":if(g=n[s].v.match(/\.0+$/))b=Math.max(b,g[0].length-1);if(m<3)m=3;case"d":;case"y":;case"M":;case"e":l=n[s].t;break;case"m":if(l==="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(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 w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){E=r<0&&w.charCodeAt(0)===45?-r:r;y=Pe("n",w,E)}else{E=r<0&&a>1?-r:r;y=Pe("n",w,E);if(E<0&&n[0]&&n[0].t=="t"){y=y.substr(1);n[0].v="-"+n[0].v}}k=y.length-1;var S=n.length;for(s=0;s-1){S=s;break}var _=n.length;if(S===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(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=y.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=y.substr(0,k+1);k=-1}n[s].t="t";_=s}if(k>=0&&_=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===S?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(k>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=y.charAt(k--)+T}n[s].v=T;n[s].t="t";_=s}if(k>=0&&_-1&&s===S?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){E=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Pe(n[s].t,n[s].v,E);n[s].t="t"}var x="";for(s=0;s!==n.length;++s)if(n[s]!=null)x+=n[s].v;return x}var We=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function He(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 ze(e,r){var t=Le(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(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(We);var f=t[1].match(We);return He(r,s)?[a,t[0]]:He(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function Ve(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:J)[e];if(a==null)a=t.table&&t.table[q[e]]||J[q[e]];if(a==null)a=Q[e]||"General";break;}if(X(a,0))return ue(r,t);if(r instanceof Date)r=ie(r,t.date1904);var n=ze(a,r);if(X(n[1]))return ue(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Be(n[1],r,t,n[0])}function $e(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(J[t]==undefined){if(r<0)r=t;continue}if(J[t]==e){r=t;break}}if(r<0)r=391}J[r]=e;return r}function Ge(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)$e(e[r],r)}function je(){J=Z()}var Xe={format:Ve,load:$e,_table:J,load_table:Ge,parse_date_code:re,is_date:Ue,get_table:function Dk(){return Xe._table=J}};var Ye={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 Ke=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Ze(e){var r=typeof e=="number"?J[e]:e;r=r.replace(Ke,"(\\d+)");return new RegExp("^"+r+"$")}function Je(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,l=-1;(r.match(Ke)||[]).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 qe={"d.m":"d\\.m"};function Qe(e,r){return $e(qe[e]||e,r)}var er=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"&&typeof n.subarray=="function"?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 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++]]^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 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 rr=function Pk(){var e={};e.version="1.2.2";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){ga(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;case 1:{var f=e._R(4),l=e._R(4);s.usz=l*Math.pow(2,32)+f;f=e._R(4);l=e._R(4);s.csz=l*Math.pow(2,32)+f}break;}e.l=i;r[a]=s}return r}var f;function l(){return f||(f=tr)}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 We(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);ga(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);ga(v,28)}var w=e.slice(0,a);u(v,t);var k=v._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);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 T=-1,E=0;E<109;++E){T=v._R(4,"i");if(T<0)break;o[E]=T}var y=h(e,a);p(l,i,y,a,o);var S=b(y,s,o,a);if(s0&&f!==U)S[f].name="!MiniFAT";S[o[0]].name="!FAT";S.fat_addrs=o;S.ssz=a;var _={},x=[],A=[],C=[];g(s,S,y,x,n,_,A,f);d(A,C,x);x.shift();var O={FileIndex:A,FullPaths:C};if(r&&r.raw)O.raw={header:w,sectors:y};return O}function c(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*P,s*P+P));n-=P;s=ca(t,s*4)}if(i.length===0)return ka(0);return D(i).slice(0,e.size)}function p(e,r,t,a,n){var i=U;if(e===U){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=1)p(ca(s,a-4),r-1,t,a,n)}}function m(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var f=a-1,l=0,o=0;for(l=r;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=ca(e[c],o)}return{nodes:i,data:Bt([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=ca(e[p],d);if(v[u])break}i[h]={nodes:f,data:Bt([l])}}return i}function g(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!==U)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!==U&&b.start!==U&&r[l]){b.content=v(b,r[l].data,(r[f]||{}).data)}}if(b.content)ga(b.content,0);i[d]=b;s.push(b)}}function w(e,r){return new Date((oa(e,r+4)/1e7*Math.pow(2,32)+oa(e,r)/1e7-11644473600)*1e3)}function k(e,r){l();return o(f.readFileSync(e),r)}function E(e,r){var t=r&&r.type;if(!t){if(S&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return o(O(y(e)),r);case"binary":return o(O(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;R(e)}function R(e){var r="Sh33tJ5";if(rr.find(e,"/"+r))return;var t=ka(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);I(e)}function I(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 N(e,r){var t=r||{};if(t.fileType=="mad")return He(e,t);I(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 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=ka(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[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:U);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:U);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,z.ENDOFCHAIN);s=i=0;for(l=0;l=4096)continue;c.start=s;f(o+63>>6)}while(n.l&511)n._W(-4,z.ENDOFCHAIN);for(i=0;i32){console.error("Name "+h+" will be truncated to "+h.slice(0,32));h=h.slice(0,32)}o=2*(h.length+1);n._W(64,h,"utf16le");n._W(2,o);n._W(1,c.type);n._W(1,c.color);n._W(-4,c.L);n._W(-4,c.R);n._W(-4,c.C);if(!c.clsid)for(l=0;l<4;++l)n._W(4,0);else n._W(16,c.clsid,"hex");n._W(4,c.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,c.start);n._W(4,c.size);n._W(4,0)}for(i=1;i=4096){n.l=c.start+1<<9;if(S&&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(S&&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 ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(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 ce(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 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 ve(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(S){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=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(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=he(t,n,re[o+1]>>1)-1;else{he(t,n,3);n+=5;he(t,n,re[o-23]>>5);n+=3}var h=o<8?0:o-4>>2;if(h>0){de(t,n,u-J[o]);n+=h}o=e[i-c];n=he(t,n,re[o]>>3);n-=3;var d=o<4?0:o-2>>1;if(d>0){de(t,n,i-c-q[o]);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+ne(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+ie(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(l>>0;var f=0,l=0;while((a&1)==0){a=ie(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=Ae(e,t);f=_e;l=xe}for(;;){if(!r&&s>>1==1?be[c]:Ee[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+J[u];if(h>0){d+=oe(e,t,h);t+=h}c=oe(e,t,l);u=a>>>1==1?ge[c]:ye[c];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=Ce(t,r);e.l+=a[1];return a[0]}function Re(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ie(e,r){var t=e;ga(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: "+Pe(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function ze(e){var r={};x(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)x(e);var s=!i&&rr.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)rr.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 $e(e,r){x(e);var t=rr.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 wr=new Date("2017-02-19T19:06:09.000Z");var kr=isNaN(wr.getFullYear())?new Date("2/19/17"):wr;var Tr=kr.getFullYear()==2017;function Er(e,r){var t=new Date(e);if(Tr){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(kr.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 yr(e,r){if(S&&Buffer.isBuffer(e)){if(r&&x){if(e[0]==255&&e[1]==254)return gt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return gt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return gt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return gt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[];for(var i=0;i!=e.length;++i)n.push(String.fromCharCode(e[i]));return n.join("")}function Sr(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]=Sr(e[t]);return r}function _r(e,r){var t="";while(t.length3&&Or.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\]/))return i;return n}var Ir=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Xr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Yr=/<[^>]*>/g;var Kr=Gr.match(Xr)?Xr:Yr;var Zr=/<\w*:/,Jr=/<(\/?)\w+:/;function qr(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(jr),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 Qr(e){return e.replace(Jr,"<$1")}var et={""":'"',"'":"'",">":">","<":"<","&":"&"};var rt=or(et);var tt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;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))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var at=/[&<>'"]/g,nt=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function it(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(nt,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function st(e){return it(e).replace(/ /g,"_x0020_")}var ft=/[\u0000-\u001f]/g;function lt(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(/\n/g,"
").replace(ft,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function ot(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(ft,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var ct=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 ut(e){return e.replace(/(\r\n|[\r\n])/g," ")}function ht(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function dt(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}function vt(e){var r=A(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")}function pt(e){return _(e,"binary").toString("utf8")}var mt="foo bar baz☃🍣";var bt=S&&(pt(mt)==dt(mt)&&pt||vt(mt)==dt(mt)&&vt)||dt;var gt=S?function(e){return _(e,"utf8").toString("binary")}: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("")};var wt=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 kt=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 Et=/<\/?(?:vt:)?variant>/g,yt=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function At(e){return fr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function Ct(e,r,t){return"<"+e+(t!=null?At(t):"")+(r!=null?(r.match(_t)?' xml:space="preserve"':"")+">"+r+""}function Ot(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function Rt(e,r){switch(typeof e){case"string":var t=Ct("vt:lpwstr",it(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return Ct((e|0)==e?"vt:i4":"vt:r8",it(String(e)));case"boolean":return Ct("vt:bool",e?"true":"false");}if(e instanceof Date)return Ct("vt:filetime",Ot(e));throw new Error("Unable to serialize "+e)}function It(e){if(S&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return bt(I(F(e)));throw new Error("Bad input format: expected Buffer or string")}var Nt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/](?:[^>=]|="[^"]*?")*)?>/gm;var Ft={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 Dt=["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 Pt={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 Lt(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 Mt(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 Ut=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:_(e)})):Ut(e)}:Ut;var Wt=function(e,r,t){var a=[];for(var n=r;n0?Gt(e,r+4,r+4+t-1):""};var Xt=jt;var Yt=function(e,r){var t=oa(e,r);return t>0?Gt(e,r+4,r+4+t-1):""};var Kt=Yt;var Zt=function(e,r){var t=2*oa(e,r);return t>0?Gt(e,r+4,r+4+t-1):""};var Jt=Zt;var qt=function Mk(e,r){var t=oa(e,r);return t>0?Ht(e,r+4,r+4+t):""};var Qt=qt;var ea=function(e,r){var t=oa(e,r);return t>0?Gt(e,r+4,r+4+t):""};var ra=ea;var ta=function(e,r){return Lt(e,r)};var aa=ta;var na=function Uk(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(S){Xt=function Bk(e,r){if(!Buffer.isBuffer(e))return jt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Kt=function Wk(e,r){if(!Buffer.isBuffer(e))return Yt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Jt=function Hk(e,r){if(!Buffer.isBuffer(e)||!x)return Zt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Qt=function zk(e,r){if(!Buffer.isBuffer(e)||!x)return qt(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};ra=function Vk(e,r){if(!Buffer.isBuffer(e))return ea(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};aa=function $k(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return ta(e,r)};na=function Gk(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function ia(){Ht=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(L,"")};Gt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Xt=function(e,r){var n=oa(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Kt=function(e,t){var n=oa(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Jt=function(e,r){var t=2*oa(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Qt=function(e,r){var t=oa(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};ra=function(e,r){var t=oa(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")ia();var sa=function(e,r){return e[r]};var fa=function(e,r){return e[r+1]*(1<<8)+e[r]};var la=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var oa=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ca=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var ua=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function ha(e,t){var n="",i,s,f=[],l,o,c,u;switch(t){case"dbcs":u=this.l;if(S&&Buffer.isBuffer(this)&&x)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?ca:ua)(this,this.l);this.l+=4;return i}else{s=oa(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=aa(this,this.l);else s=aa([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=Vt(this,this.l,e);break;};}this.l+=e;return n}var da=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 va=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 pa=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function ma(e,n,i){var s=0,f=0;if(i==="dbcs"){for(f=0;f!=n.length;++f)pa(this,n.charCodeAt(f),this.l+2*f);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(f=0;f!=n.length;++f){var l=a.utils.encode(t,n.charAt(f));this[this.l+f]=l[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){l=a.utils.encode(r,n);if(l.length==n.length)for(f=0;f>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8;this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;da(this,n,this.l);break;case 8:s=8;if(i==="f"){Mt(this,n,this.l);break};case 16:break;case-4:s=4;va(this,n,this.l);break;}this.l+=s;return this}function ba(e,r){var t=Vt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ga(e,r){e.l=r;e._R=ha;e.chk=ba;e._W=ma}function wa(e,r){e.l+=r}function ka(e){var r=A(e);ga(r,0);return r}function Ta(e,r,t){if(!e)return;var a,n,i;ga(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&&na(t))e.push(t)}function Sa(e,r,t){var a=Sr(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 _a(e,r,t){var a=Sr(e);a.s=Sa(a.s,r.s,t);a.e=Sa(a.e,r.s,t);return a}function xa(e,r){if(e.cRel&&e.c<0){e=Sr(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=Sr(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Ua(e);if(!e.cRel&&e.cRel!=null)t=Da(t);if(!e.rRel&&e.rRel!=null)t=Ra(t);return t}function Aa(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?"":"$")+Fa(e.s.c)+":"+(e.e.cRel?"":"$")+Fa(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?"":"$")+Oa(e.s.r)+":"+(e.e.rRel?"":"$")+Oa(e.e.r)}}return xa(e.s,r.biff)+":"+xa(e.e,r.biff)}if(typeof cptable!=="undefined")b(cptable);else if(typeof module!=="undefined"&&typeof require!=="undefined"){b(undefined)}function Ca(e){return parseInt(Ia(e),10)-1}function Oa(e){return""+(e+1)}function Ra(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Ia(e){return e.replace(/\$(\d+)$/,"$1")}function Na(e){var r=Pa(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function Fa(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 Da(e){return e.replace(/^([A-Z])/,"$$$1")}function Pa(e){return e.replace(/^\$([A-Z])/,"$1")}function La(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Ma(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 Ua(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 Ba(e){var r=e.indexOf(":");if(r==-1)return{s:Ma(e),e:Ma(e)};return{s:Ma(e.slice(0,r)),e:Ma(e.slice(r+1))}}function Wa(e,r){if(typeof r==="undefined"||typeof r==="number"){return Wa(e.s,e.e)}if(typeof e!=="string")e=Ua(e);if(typeof r!=="string")r=Ua(r);return e==r?e:e+":"+r}function Ha(e){var r=Ba(e);return"$"+Fa(r.s.c)+"$"+Oa(r.s.r)+":$"+Fa(r.e.c)+"$"+Oa(r.e.r)}function za(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function Va(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 $a(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=Ve(e.z,t?dr(r):r)}catch(a){}try{return e.w=Ve((e.XF||{}).numFmtId||(t?14:0),t?dr(r):r)}catch(a){return""+r}}function Ga(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 qn[e.v]||e.v;if(r==undefined)return $a(e,e.v);return $a(e,r)}function ja(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Xa(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(g!=null&&n==null)n=g;var i=e||{};if(n&&!i["!data"])i["!data"]=[];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"?Ma(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=Va(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}var u=[];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");var d=s+h,v=""+(d+1);if(n){if(!i["!data"][d])i["!data"][d]=[];u=i["!data"][d]}for(var p=0;p!=r[h].length;++p){if(typeof r[h][p]==="undefined")continue;var m={v:r[h][p]};var b=f+p;if(o.s.r>d)o.s.r=d;if(o.s.c>b)o.s.c=b;if(o.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Qa(e){return{ich:e._R(2),ifnt:e._R(2)}}function en(e,r){if(!r)r=ka(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function rn(e,r){var t=e.l;var a=e._R(1);var n=Ja(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(Qa(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function tn(e,r){var t=false;if(r==null){t=true;r=ka(15+4*e.t.length)}r._W(1,0);qa(e.t,r);return t?r.slice(0,r.l):r}var an=rn;function nn(e,r){var t=false;if(r==null){t=true;r=ka(23+4*e.t.length)}r._W(1,1);qa(e.t,r);r._W(4,1);en({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function sn(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function fn(e,r){if(r==null)r=ka(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function ln(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function on(e,r){if(r==null)r=ka(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var cn=Ja;var un=qa;function hn(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function dn(e,r){var t=false;if(r==null){t=true;r=ka(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 vn=Ja;var pn=hn;var mn=dn;function bn(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?aa([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):ca(r,0)>>2;return t?n/100:n}function gn(e,r){if(r==null)r=ka(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 wn(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 kn(e,r){if(!r)r=ka(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 Tn=wn;var En=kn;function yn(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function Sn(e,r){return(r||ka(8))._W(8,e,"f")}function _n(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=Jn[n];if(o)r.rgb=Oo(o);break;case 2:r.rgb=Oo([s,f,l]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function xn(e,r){if(!r)r=ka(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 An(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 Cn(e,r){if(!r)r=ka(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 On(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 Rn(e){return On(e,1)}function In(e){return On(e,2)}var Nn=2;var Fn=3;var Dn=11;var Pn=12;var Ln=19;var Mn=64;var Un=65;var Bn=71;var Wn=4108;var Hn=4126;var zn=80;var Vn=81;var $n=[zn,Vn];var Gn={1:{n:"CodePage",t:Nn},2:{n:"Category",t:zn},3:{n:"PresentationFormat",t:zn},4:{n:"ByteCount",t:Fn},5:{n:"LineCount",t:Fn},6:{n:"ParagraphCount",t:Fn},7:{n:"SlideCount",t:Fn},8:{n:"NoteCount",t:Fn},9:{n:"HiddenCount",t:Fn},10:{n:"MultimediaClipCount",t:Fn},11:{n:"ScaleCrop",t:Dn},12:{n:"HeadingPairs",t:Wn},13:{n:"TitlesOfParts",t:Hn},14:{n:"Manager",t:zn},15:{n:"Company",t:zn},16:{n:"LinksUpToDate",t:Dn},17:{n:"CharacterCount",t:Fn},19:{n:"SharedDoc",t:Dn},22:{n:"HyperlinksChanged",t:Dn},23:{n:"AppVersion",t:Fn,p:"version"},24:{n:"DigSig",t:Un},26:{n:"ContentType",t:zn},27:{n:"ContentStatus",t:zn},28:{n:"Language",t:zn},29:{n:"Version",t:zn},255:{},2147483648:{n:"Locale",t:Ln},2147483651:{n:"Behavior",t:Ln},1919054434:{}};var jn={1:{n:"CodePage",t:Nn},2:{n:"Title",t:zn},3:{n:"Subject",t:zn},4:{n:"Author",t:zn},5:{n:"Keywords",t:zn},6:{n:"Comments",t:zn},7:{n:"Template",t:zn},8:{n:"LastAuthor",t:zn},9:{n:"RevNumber",t:zn},10:{n:"EditTime",t:Mn},11:{n:"LastPrinted",t:Mn},12:{n:"CreatedDate",t:Mn},13:{n:"ModifiedDate",t:Mn},14:{n:"PageCount",t:Fn},15:{n:"WordCount",t:Fn},16:{n:"CharCount",t:Fn},17:{n:"Thumbnail",t:Bn},18:{n:"Application",t:zn},19:{n:"DocSecurity",t:Fn},255:{},2147483648:{n:"Locale",t:Ln},2147483651:{n:"Behavior",t:Ln},1919054434:{}};var Xn={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 Yn=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Kn(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Zn=Kn([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,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Jn=Sr(Zn);var qn={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Qn={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var ei=["_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"];var ri={"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 ti={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 ai(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function ni(e){var r=ai();if(!e||!e.match)return r;var t={};(e.match(Kr)||[]).forEach(function(e){var a=qr(e);switch(a[0].replace(Zr,"<")){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}function ii(e,r,t){var a=ur(ri);var n=[],i;if(!t){n[n.length]=Gr;n[n.length]=Ct("Types",null,{xmlns:Ft.CT,"xmlns:xsd":Ft.xsd,"xmlns:xsi":Ft.xsi});n=n.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 Ct("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=Ct("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:ti[t][r.bookType]||ti[t]["xlsx"]})}};var f=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Ct("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ti[t][r.bookType]||ti[t]["xlsx"]})})};var l=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Ct("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");f("sheets");f("charts");l("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(l);l("vba");l("comments");l("threadedcomments");l("drawings");f("metadata");l("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var si={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",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function fi(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function li(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Kr)||[]).forEach(function(e){var n=qr(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ci(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([si.HLINK,si.XPATH,si.XMISS].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 ui="application/vnd.oasis.opendocument.spreadsheet";function hi(e,r){var t=It(e);var a;var n;while(a=Nt.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=qr(a[0],false);if(n.path=="/"&&n.type!==ui)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 di(e){var r=[Gr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function vi(e,r,t){return[' \n',' \n'," \n"].join("")}function pi(e,r){return[' \n',' \n'," \n"].join("")}function mi(e){var r=[Gr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(vi(e[t][0],e[t][1]));r.push(pi("",e[t][0]))}r.push(vi("","Document","pkg"));r.push("");return r.join("")}function bi(r,t){return'SheetJS '+e.version+""}var gi=[["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 wi=function(){var e=new Array(gi.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function ki(e){var r={};e=bt(e);for(var t=0;t0)r[a[1]]=tt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=Er(r[a[1]])}return r}function Ti(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=it(r);a[a.length]=t?Ct(e,r,t):xt(e,r)}function Ei(e,r){var t=r||{};var a=[Gr,Ct("cp:coreProperties",null,{"xmlns:cp":Ft.CORE_PROPS,"xmlns:dc":Ft.dc,"xmlns:dcterms":Ft.dcterms,"xmlns:dcmitype":Ft.dcmitype,"xmlns:xsi":Ft.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)Ti("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Ot(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)Ti("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Ot(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=gi.length;++i){var s=gi[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)Ti(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var yi=[["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 Si=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function _i(e,r,t,a){var n=[];if(typeof e=="string")n=St(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 xi(e,r,t){var a={};if(!r)r={};e=bt(e);yi.forEach(function(t){var n=(e.match(wt(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=tt(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)_i(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function Ai(e){var r=[],t=Ct;if(!e)e={};e.Application="SheetJS";r[r.length]=Gr;r[r.length]=Ct("Properties",null,{xmlns:Ft.EXT_PROPS,"xmlns:vt":Ft.vt});yi.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=it(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""+it(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ci=/<[^>]+>[^<]*/g;function Oi(e,r){var t={},a="";var n=e.match(Ci);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=qr(s);switch(Qr(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]=tt(c);break;case"bool":t[a]=ht(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]=Er(c);break;case"cy":;case"error":t[a]=tt(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 Ii={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 Ni;function Fi(e,r,t){if(!Ni)Ni=or(Ii);r=Ni[r]||r;e[r]=t}function Di(e,r){var t=[];fr(Ii).map(function(e){for(var r=0;r'+n.join("")+""}function Li(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 Mi(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=ka(8);s._W(4,a);s._W(4,n);return s}function Ui(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 Bi(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Wi(e,r,t){if(r===31)return Bi(e);return Ui(e,r,t)}function Hi(e,r,t){return Wi(e,r,t===false?0:4)}function zi(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Wi(e,r,0)}function Vi(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(L,"");if(e.l-n&2)e.l+=2}return t}function $i(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(L,"");return t}function Gi(e){var r=e.l;var t=Zi(e,Vn);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Zi(e,Fn);return[t,a]}function ji(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Yi(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 Ki(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Zi(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==Pn)if(a!==r&&$n.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===Pn?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 Ui(e,a,4).replace(L,"");case 31:return Bi(e);case 64:return Li(e);case 65:return Yi(e);case 71:return Ki(e);case 80:return Hi(e,a,!i.raw).replace(L,"");case 81:return zi(e,a).replace(L,"");case 4108:return ji(e);case 4126:;case 4127:return a==4127?Vi(e):$i(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Ji(e,r){var t=ka(4),a=ka(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=ka(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Mi(r);break;case 31:;case 80:a=ka(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 D([t,a])}function qi(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){if(i[s][0]==0&&i.length>s+1&&i[s][1]==i[s+1][1])continue;var p=r[i[s][0]];d[p.n]=Zi(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=Zi(e,Nn);l(f);if(o!==-1){var m=e.l;e.l=i[o][1];c=Xi(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){o=s;e.l=i[s+1][1];continue}c=Xi(e,f)}else{var b=c[i[s][0]];var g;switch(e[e.l]){case 65:e.l+=4;g=Yi(e);break;case 30:e.l+=4;g=Hi(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;g=Hi(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=fs(e,4);break;case 64:e.l+=4;g=Er(Li(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[b]=g}}}e.l=t+a;return d}var Qi=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function es(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 rs(e,r,t){var a=ka(8),n=[],i=[];var s=8,f=0;var l=ka(8),o=ka(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=ka(8);o._W(4,0);n.unshift(o);var c=[ka(4)];c[0]._W(4,e.length); -for(f=0;f-1||Si.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)}l=Ji(v.t,h)}else{var m=es(h);if(m==-1){m=31;h=String(h)}l=Ji(m,h)}i.push(l);o=ka(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 ps(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 ms(e){var r=e.t||"",t=1;var a=ka(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=ka(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return D(i)}function bs(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 gs(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return bs(e,a,t)}function ws(e,r,t){if(t.biff>5)return gs(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 ks(e,r,t){if(!t)t=ka(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function Ts(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function Es(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(L,"");if(a)e.l+=24;return n}function ys(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(L,"");return t+s}function Ss(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return Es(e,r);case"0303000000000000c000000000000046":return ys(e,r);default:throw new Error("Unsupported Moniker "+t);}}function _s(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(L,""):"";return t}function xs(e,r){if(!r)r=ka(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 Ls(e){var r=e._R(2);var t=bn(e);return[r,t]}function Ms(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=vs(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 Us(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 Bs(e,r){if(!r)r=ka(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 Ws(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 Hs=Ws;function zs(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 Vs(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function $s(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Gs(e){e.l+=2;e.l+=e._R(2)}var js={0:Gs,4:Gs,5:Gs,6:Gs,7:$s,8:Gs,9:Gs,10:Gs,11:Gs,12:Gs,13:Vs,14:Gs,15:Gs,16:Gs,17:Gs,18:Gs,19:Gs,20:Gs,21:zs};function Xs(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 Ks(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=ka(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 Zs(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Js(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=ws(e,0,t);e._R(r+a-e.l);return n}function qs(e,r){var t=!r||r.biff==8;var a=ka(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=ka(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 tf(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 cf(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 uf(){var e=ka(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 hf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function df(e){var r=ka(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 vf(){}function pf(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=vs(e,0,t);return a}function mf(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=ka(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 bf(e){var r=Is(e);r.isst=e._R(4);return r}function gf(e,r,t,a){var n=ka(10);Ns(e,r,a,n);n._W(4,t);return n}function wf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=Is(e,6);if(t.biff==2)e.l++;var i=gs(e,a-e.l,t);n.val=i;return n}function kf(e,r,t,a,n){var i=!n||n.biff==8;var s=ka(6+2+ +i+(1+i)*t.length);Ns(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 Tf(e,r,t){var a=e._R(2);var n=ws(e,0,t);return[a,n]}function Ef(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ka(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 yf=ws;function Sf(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 _f(e,r){var t=r.biff==8||!r.biff?4:2;var a=ka(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 xf(e){var r=e._R(2),t=e._R(2);var a=Ls(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function Af(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 Rf(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=Of(e,r,a.fStyle,t);return a}function If(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ka(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 Nf(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 Ff(e){var r=ka(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 Df(e,r,t){var a=Is(e,6);if(t.biff==2||r==9)++e.l;var n=hs(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Pf(e,r,t,a,n,i){var s=ka(8);Ns(e,r,a,s);ds(t,i,s);return s}function Lf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=Is(e,6);var n=yn(e,8);a.val=n;return a}function Mf(e,r,t,a){var n=ka(14);Ns(e,r,a,n);Sn(t,n);return n}var Uf=Ds;function Bf(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=bs(e,i);var f=[];while(a>e.l)f.push(gs(e));return[i,n,s,f]}function Wf(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=Ms(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}function Hf(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=bs(e,s,t);if(n&32)o=ei[o.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var u=a==e.l||f===0||!(c>0)?[]:Td(e,c,t,f);return{chKey:i,Name:o,itab:l,rgce:u}}function zf(e,r,t){if(t.biff<8)return Vf(e,r,t);if(!(t.biff>8)&&r==e[e.l]+(e[e.l+1]==3?1:0)+1)return Vf(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ps(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Vf(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=vs(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function $f(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=bs(e,a,t);var s=bs(e,n,t);return[i,s]}function Gf(e,r,t){var a=Ws(e,6);e.l++;var n=e._R(1);r-=8;return[Ed(e,r,t),n,a]}function jf(e,r,t){var a=Hs(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,wd(e,r,t,a)]}function Xf(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Yf(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=ws(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Kf(e,r,t){return Yf(e,r,t)}function Zf(e,r){var t=[];var a=e._R(2);while(a--)t.push(Us(e,r));return t}function Jf(e){var r=ka(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 tl(e,r){var t=Us(e,8);e.l+=16;var a=As(e,r-24);return[t,a]}function al(e){var r=ka(24);var t=Ma(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 D([r,Cs(e[1])])}function nl(e,r){e._R(2);var t=Us(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(L,"");return[t,a]}function il(e){var r=e[1].Tooltip;var t=ka(10+2*(r.length+1));t._W(2,2048);var a=Ma(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(Rs(e,8));return t}function ol(e){var r=e._R(2);var t=[];while(r-- >0)t.push(Rs(e,8));return t}function cl(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function ul(e,r,t){if(!t.cellStyles)return wa(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 hl(e,r){var t=ka(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 dl(e,r){var t={};if(r<32)return t;e.l+=16;t.header=yn(e,8);t.footer=yn(e,8);e.l+=2;return t}function vl(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 pl(e){var r=ka(2*e);for(var t=0;t1048576)c=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(o)i.l+=36;var v=[],p={};var m=Math.min(i.length,s==2?521:u-10-(l?264:0));var b=o?32:11;while(i.l0){if(i[i.l]===42){i.l+=h;continue}++i.l;n[++g]=[];w=0;for(w=0;w!=v.length;++w){var k=i.slice(i.l,i.l+v[w].len);i.l+=v[w].len;ga(k,0);var T=typeof a!=="undefined"?a.utils.decode(d,k):I(k);switch(v[w].type){case"C":if(T.trim().length)n[g][w]=T.replace(/\s+$/,"");break;case"D":if(T.length===8)n[g][w]=new Date(+T.slice(0,4),+T.slice(4,6)-1,+T.slice(6,8));else n[g][w]=T;break;case"F":n[g][w]=parseFloat(T.trim());break;case"+":;case"I":n[g][w]=o?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(T.trim().toUpperCase()){case"Y":;case"T":n[g][w]=true;break;case"N":;case"F":n[g][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+T+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[g][w]="##MEMO##"+(o?parseInt(T.trim(),10):k._R(4));break;case"N":T=T.replace(/\u0000/g,"").trim();if(T&&T!=".")n[g][w]=+T||0;break;case"@":n[g][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":n[g][w]=new Date((k._R(4)-2440588)*864e5+k._R(4));break;case"Y":n[g][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[g][w]=-k._R(-8,"f");break;case"B":if(l&&v[w].len==8){n[g][w]=k._R(8,"f");break};case"G":;case"P":k.l+=v[w].len;break;case"0":if(v[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[w].type);}}}if(s!=2)if(i.l=0)l(+f.codepage);if(f.type=="string")throw new Error("Cannot write DBF to JS string");var u=Ea();var h=nk(i,{header:1,raw:true,cellDates:true});var d=h[0],v=h.slice(1),p=i["!cols"]||[];var m=0,b=0,g=0,w=1;for(m=0;m250)x=250;_=((p[m]||{}).DBF||{}).type;if(_=="C"){if(p[m].DBF.len>x)x=p[m].DBF.len}if(S=="B"&&_=="N"){S="N";y[m]=p[m].DBF.dec;x=p[m].DBF.len}E[m]=S=="C"||_=="N"?x:o[S]||0;w+=E[m];T[m]=S}var C=u.next(32);C._W(4,318902576);C._W(4,v.length);C._W(2,296+32*g);C._W(2,w);for(m=0;m<4;++m)C._W(4,0);var O=+n[r]||3;C._W(4,0|O<<8);if(e[O]!=+f.codepage){if(f.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(m=0,b=0;mE[b])D=D.slice(0,E[b]);for(g=0;g":190,"?":191,"{":223};var r=new RegExp("N("+fr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?m(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:m(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(y(e),r);case"binary":return s(e,r);case"buffer":return s(S&&Buffer.isBuffer(e)?e.toString("binary"):I(e),r);case"array":return s(yr(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),f=-1,o=-1,c=0,u=0,h=[];var d=[];var v=null;var p={},m=[],b=[],g=[];var w=0,k;var T={Workbook:{WBProps:{},Names:[]}};if(+i.codepage>=0)l(+i.codepage);for(;c!==s.length;++c){w=0;var E=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var y=E.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var S=y[0],_;if(E.length>0)switch(S){case"ID":break;case"E":break;case"B":break;case"O":for(u=1;u=1&&x<=4)T.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(y[1].charAt(0)){case"P":d.push(E.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var A={Sheet:0};for(u=1;u-1&&h[N][F];if(!L||!L[1])throw new Error("SYLK shared formula cannot find base");D=Wu(L[1],{r:f-N,c:o-F})}if(D){if(!h[f][o])h[f][o]={t:"n",f:D};else h[f][o].f=D}break;case"F":var M=0;for(u=1;u0){m[f].hpt=w;m[f].hpx=jo(w)}else if(w===0)m[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+E);}if(M<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+E);}}if(m.length>0)p["!rows"]=m;if(b.length>0)p["!cols"]=b;b.forEach(function(e){zo(e)});if(i&&i.sheetRows)h=h.slice(0,i.sheetRows);return[h,p,T]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1],s=t[2];var f=Sr(r);f.date1904=(((s||{}).Workbook||{}).WBProps||{}).date1904;var l=Ya(a,f);fr(n).forEach(function(e){l[e]=n[e]});var o=ja(l,r);fr(s).forEach(function(e){o[e]=s[e]});o.bookType="sylk";return o}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"+Bu(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==null?"":String(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=Mo(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=Uo(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*Go(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function h(e,r,t){var a=["ID;PSheetJS;N;E"],n=[];var i=Va(e["!ref"]),s;var f=e["!data"]!=null;var l="\r\n";var h=(((t||{}).Workbook||{}).WBProps||{}).date1904;a.push("P;PGeneral");a.push("F;P0;DG0G8;M255");if(e["!cols"])c(a,e["!cols"]);if(e["!rows"])u(a,e["!rows"]);a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(h?";V4":"")+";K47;G100 0.001");for(var d=i.s.r;d<=i.e.r;++d){if(f&&!e["!data"][d])continue;var v=[];for(var p=i.s.c;p<=i.e.c;++p){s=f?e["!data"][d][p]:e[Fa(p)+Oa(d)];if(!s||s.v==null&&(!s.f||s.F))continue;v.push(o(s,e,d,p,r))}n.push(v.join(l))}return a.join(l)+l+n.join(l)+l+"E"+l}return{to_workbook:f,from_sheet:h}}();var Il=function(){function e(e,t){switch(t.type){case"base64":return r(y(e),t);case"binary":return r(e,t);case"buffer":return r(S&&Buffer.isBuffer(e)?e.toString("binary"):I(e),t);case"array":return r(yr(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 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"]=Wa(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 Ya(r(e,t),t)}function l(e,r){var t="",n=r.type=="string"?[0,0,0,0]:Nw(e,r);switch(r.type){case"base64":t=y(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=S&&Buffer.isBuffer(e)?e.toString("binary"):I(e);break;case"array":t=yr(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=bt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=bt(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 Nl.to_sheet(r.type=="string"?t:bt(t),r);return f(t,r)}function o(e,r){return ja(l(e,r),r)}function c(e){var r=[];var t=Va(e["!ref"]),a;var n=e["!data"]!=null;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=Ua({r:i,c:f});a=n?(e["!data"][i]||[])[f]:e[l];if(!a||a.v==null){s.push(" ");continue}var o=(a.w||(Ga(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:o,to_sheet:l,from_sheet:c}}();function Dl(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Rl.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 Fl.to_workbook(e,r)}}var Pl=function(){function e(e,r,t){if(!e)return;ga(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 255:a.vers=e;a.works=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&&!a.works||t==51)&&e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);if(a.works||a.works2)e[1].v=e[1].v.replace(/\r\n/g,"\n");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||J[14];if(a.cellDates){e[1].t="d";e[1].v=br(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=Wa(h);l[i]=n;o.push(i);n={};if(a.dense)u=n["!data"]=[];h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(u[e[0].r]||[])[e[0].c]:n[Ua(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(!u[e[0].r])u[e[0].r]=[];u[e[0].r][e[0].c]=e[1]}else n[Ua(e[0])]=e[1];break;case 21509:a.works2=true;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:if(e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);e[1].v=e[1].v.replace(/\x0F./g,function(e){return String.fromCharCode(e.charCodeAt(1)-32)}).replace(/\r\n/g,"\n");case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=Wa(h);l[i]=n;o.push(i);n={};if(a.dense)u=n["!data"]=[];h={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(d>0&&e[0].r>=d)break;if(a.dense){if(!u[e[0].r])u[e[0].r]=[];u[e[0].r][e[0].c]=e[1]}else n[Ua(e[0])]=e[1];if(h.e.c=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=Ea();var n=Va(e["!ref"]);var s=e["!data"]!=null;var f=[];Lb(a,0,i(1030));Lb(a,6,o(n));var c=Math.min(n.e.r,8191);for(var u=n.s.c;u<=n.e.c;++u)f[u]=Fa(u);for(var d=n.s.r;d<=c;++d){var v=Oa(d);for(u=n.s.c;u<=n.e.c;++u){var m=s?(e["!data"][d]||[])[u]:e[f[u]+v];if(!m||m.t=="z")continue;if(m.t=="n"){if((m.v|0)==m.v&&m.v>=-32768&&m.v<=32767)Lb(a,13,p(d,u,m.v));else Lb(a,14,b(d,u,m.v))}else{var g=Ga(m);Lb(a,15,h(d,u,g.slice(0,239)))}}}Lb(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=Ea();Lb(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=ka(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 if(t.works){a[0].c=e._R(2);a[0].r=e._R(2);a[2]=e._R(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=ka(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=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){var i=e._R(1);n[1].v=e._R(i,"utf8");return n}n[1].v=e._R(a-e.l,"cstr");return n}function v(e,r,t){var a=c(e,r,t);a[1].v=e._R(2,"i");return a}function p(e,r,t){var a=ka(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function m(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=ka(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);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?Fa(r):Oa(r))}var T={31:["NA",0],33:["ABS",1],34:["TRUNC",1],35:["SQRT",1],36:["LOG",1],37:["LN",1],38:["PI",0],39:["SIN",1],40:["COS",1],41:["TAN",1],42:["ATAN2",2],43:["ATAN",1],44:["ASIN",1],45:["ACOS",1],46:["EXP",1],47:["MOD",2],49:["ISNA",1],50:["ISERR",1],51:["FALSE",0],52:["TRUE",0],53:["RAND",0],63:["ROUND",2],68:["ISNUMBER",1],69:["ISTEXT",1],70:["LEN",1],71:["VALUE",1],73:["MID",3],74:["CHAR",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],102:["UPPER",1],103:["LOWER",1],107:["PROPER",1],109:["TRIM",1],111:["T",1]};var E=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function S(e,r){ga(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(T[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 _(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=_(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function A(e,r,t,a){var n=ka(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=_(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=_(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=ka(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 N(e,r){var t=R(e,14);e.l+=r-14;return t}function F(e,r){var t=_(e,r);var a=e._R(4);t[1].v=a>>6;return t}function D(e,r){var t=_(e,r);var a=e._R(8,"f");t[1].v=a;return t}function P(e,r){var t=D(e,12);e.l+=r-12;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:os},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:v},14:{n:"NUMBER",f:m},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:d},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},255:{n:"BOF",f:os},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:N},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:F},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:""}};function V(e,r){ga(e,0);var t=r||{};if(g!=null&&t.dense==null)t.dense=g;var a={};if(t.dense)a["!data"]=[];var n=[],i="",s=[];var f={s:{r:-1,c:-1},e:{r:-1,c:-1}};var l=0,o=0,c=0,u=0;var h={SheetNames:[],Sheets:{}};e:while(e.l255||f.s.r>999999)break;if(f.e.cc)f.s.c=c;u=p._R(4);if(f.s.r>u)f.s.r=u;u=p._R(4);if(f.e.ru)f.s.r=u;if(f.e.r0&&l>=0){if(k&32)switch(k&31){case 2:w={t:"n",v:w.v+E&65535};break;case 3:w={t:"n",v:w.v+E&65535};if(w.v>32767)w.v-=65536;break;case 7:w={t:"s",v:n[o=o+E>>>0]};break;default:throw"Cannot apply delta for QPW cell type "+(k&31);}else switch(k&31){case 1:w={t:"z"};break;case 2:w={t:"n",v:p._R(2)};break;case 7:w={t:"s",v:n[o=p._R(4)-1]};break;default:throw"Cannot apply repeat for QPW cell type "+(k&31);}if(!(!t.sheetStubs&&w.t=="z")){if(a["!data"]!=null){if(!a["!data"][u])a["!data"][u]=[];a["!data"][u][c]=w}else a[b+Oa(u)]=w}++u;--l}}}break;default:break;}e.l+=v}return h}return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function Ll(e){var r={},t=e.match(Kr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=qr(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 Ml=function(){var e=wt("t"),r=wt("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:tt(a[1])};var i=t.match(r);if(i)n.s=Ll(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 Ul=function jk(){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 Bl=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Wl=/<(?:\w+:)?r\b[^>]*>/;var Hl=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function zl(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=tt(bt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=bt(e);if(t)a.h=lt(a.t)}else if(e.match(Wl)){a.r=bt(e);a.t=tt(bt((e.replace(Hl,"").match(Bl)||[]).join("").replace(Kr,"")),true);if(t)a.h=Ul(Ml(a.r))}return a}var Vl=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var $l=/<(?:\w+:)?(?:si|sstItem)>/g;var Gl=/<\/(?:\w+:)?(?:si|sstItem)>/;function jl(e,r){var t=[],a="";if(!e)return t;var n=e.match(Vl);if(n){a=n[2].replace($l,"").split(Gl);for(var i=0;i!=a.length;++i){var s=zl(a[i].trim(),r);if(s!=null)t[t.length]=s}n=qr(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Xl=/^\s|\s$|[\t\n\r]/;function Yl(e,r){if(!r.bookSST)return"";var t=[Gr];t[t.length]=Ct("sst",null,{xmlns:Dt[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 Kl(e){return[e._R(4),e._R(4)]}function Zl(e,r){var t=[];var a=false;Ta(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 Jl(e,r){if(!r)r=ka(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var ql=tn;function Ql(e){var r=Ea();ya(r,159,Jl(e));for(var t=0;t=4)e.l+=r-4;return t}function to(e){var r={};r.id=e._R(0,"lpp4");r.R=ro(e,4);r.U=ro(e,4);r.W=ro(e,4);return r}function ao(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 no(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(ao(e));return r}function io(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function so(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=ro(e,4);r.U=ro(e,4);r.W=ro(e,4);return r}function fo(e){var r=so(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 lo(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 oo(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 co(e){var r=ro(e);switch(r.Minor){case 2:return[r.Minor,uo(e,r)];case 3:return[r.Minor,ho(e,r)];case 4:return[r.Minor,vo(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function uo(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=lo(e,t);var n=oo(e,e.length-e.l);return{t:"Std",h:a,v:n}}function ho(){throw new Error("File is password-protected: ECMA-376 Extensible")}function vo(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(Kr,function n(e){var t=qr(e);switch(Qr(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=lo(e,n);r-=n;t.EncryptionVerifier=oo(e,r);return t}function mo(e){var r={};var t=r.EncryptionVersionInfo=ro(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 bo(e){var r=0,t;var a=eo(e);var n=a.length+1,i,s;var f,l,o;t=A(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 go=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=eo(r);var a=i(t);var s=t.length;var f=A(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 wo=function(e,r,t,a,n){if(!n)n=r;if(!a)a=go(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 ko=function(e){var r=0,t=go(e);return function(e){var a=wo("",e,r,t);r=a[1];return a[0]}};function To(e,r,t,a){var n={key:os(e),verificationBytes:os(e)};if(t.password)n.verifier=bo(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=ko(t.password);return n}function Eo(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=mo(e,r);else a.Data=po(e,r);return a}function yo(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)Eo(e,r-2,a);else To(e,t.biff>=8?r:r-2,t,a);return a}function So(e,r){switch(r.type){case"base64":return _o(y(e),r);case"binary":return _o(e,r);case"buffer":return _o(S&&Buffer.isBuffer(e)?e.toString("binary"):I(e),r);case"array":return _o(yr(e),r);}throw new Error("Unrecognized type "+r.type)}function _o(e,r){var t=r||{};var a={};var n=t.dense;if(n)a["!data"]=[];var i=e.match(/\\trowd[\s\S]*?\\row\b/g);if(!i)throw new Error("RTF missing table");var s={s:{c:0,r:0},e:{c:0,r:i.length-1}};var f=[];i.forEach(function(e,r){if(n)f=a["!data"][r]=[];var i=/\\[\w\-]+\b/g;var l=0;var o;var c=-1;var u=[];while((o=i.exec(e))!=null){var h=e.slice(l,i.lastIndex-o[0].length);if(h.charCodeAt(0)==32)h=h.slice(1);if(h.length)u.push(h);switch(o[0]){case"\\cell":++c;if(u.length){var d={v:u.join(""),t:"s"};if(d.v=="TRUE"||d.v=="FALSE"){d.v=d.v=="TRUE";d.t="b"}else if(!isNaN(xr(d.v))){d.t="n";if(t.cellText!==false)d.w=d.v;d.v=xr(d.v)}if(n)f[c]=d;else a[Ua({r:r,c:c})]=d}u=[];break;case"\\par":u.push("\n");break;}l=i.lastIndex}if(c>s.e.c)s.e.c=c});a["!ref"]=Wa(s);return a}function xo(e,r){var t=ja(So(e,r),r);t.bookType="rtf";return t}function Ao(e,r){var t=["{\\rtf1\\ansi"];if(!e["!ref"])return t[0]+"}";var a=Va(e["!ref"]),n;var i=e["!data"]!=null,s=[];for(var f=a.s.r;f<=a.e.r;++f){t.push("\\trowd\\trautofit1");for(var l=a.s.c;l<=a.e.c;++l)t.push("\\cellx"+(l+1));t.push("\\pard\\intbl");if(i)s=e["!data"][f]||[];for(l=a.s.c;l<=a.e.c;++l){var o=Ua({r:f,c:l});n=i?s[l]:e[o];if(!n||n.v==null&&(!n.f||n.F)){t.push(" \\cell");continue}t.push(" "+(n.w||(Ga(n),n.w)||"").replace(/[\r\n]/g,"\\par "));t.push("\\cell")}t.push("\\pard\\intbl\\row")}return t.join("")+"}"}function Co(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 Ro(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 Io(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 No(e,r){if(r===0)return e;var t=Ro(Co(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Oo(Io(t))}var Fo=6,Do=15,Po=1,Lo=Fo;function Mo(e){return Math.floor((e+Math.round(128/Lo)/256)*Lo)}function Uo(e){return Math.floor((e-5)/Lo*100+.5)/100}function Bo(e){return Math.round((e*Lo+5)/Lo*256)/256}function Wo(e){return Bo(Uo(Mo(e)))}function Ho(e){var r=Math.abs(e-Wo(e)),t=Lo;if(r>.005)for(Lo=Po;Lo":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=ht(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=ht(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 Ko(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Kr)||[]).forEach(function(e){var t=qr(e);switch(Qr(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 Zo(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Kr)||[]).forEach(function(e){var f=qr(e);switch(Qr(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 Jo(e,r,t){r.NumberFmt=[];var a=fr(J);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}Qe(f,l)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function qo(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]=Ct("numFmt",null,{numFmtId:a,formatCode:it(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=Ct("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Qo=["numFmtId","fillId","fontId","borderId","xfId"];var ec=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function rc(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Kr)||[]).forEach(function(e){var i=qr(e),s=0;switch(Qr(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=ht(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 tc(e){var r=[];r[r.length]=Ct("cellXfs",null);e.forEach(function(e){r[r.length]=Ct("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=Ct("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var ac=function Xk(){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))Jo(c,o,l);if(c=s.match(a))Zo(c,o,f,l);if(c=s.match(t))Ko(c,o,f,l);if(c=s.match(n))Yo(c,o,f,l);if(c=s.match(r))rc(c,o,l);return o}}();function nc(e,r){var t=[Gr,Ct("styleSheet",null,{xmlns:Dt[0],"xmlns:vt":Ft.vt})],a;if(e.SSF&&(a=qo(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=tc(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 ic(e,r){var t=e._R(2);var a=Ja(e,r-2);return[t,a]}function sc(e,r,t){if(!t)t=ka(6+4*r.length);t._W(2,e);qa(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 fc(e,r,t){var a={};a.sz=e._R(2)/20;var n=An(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=_n(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Ja(e,r-21);return a}function lc(e,r){if(!r)r=ka(25+4*32);r._W(2,e.sz*20);Cn(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);xn(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);qa(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var oc=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var cc;var uc=wa;function hc(e,r){if(!r)r=ka(4*3+8*7+16*1);if(!cc)cc=or(oc);var t=cc[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){xn({auto:1},r);xn({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 dc(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 vc(e,r,t){if(!t)t=ka(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 pc(e,r){if(!r)r=ka(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var mc=wa;function bc(e,r){if(!r)r=ka(51);r._W(1,0);pc(null,r);pc(null,r);pc(null,r);pc(null,r);pc(null,r);return r.length>r.l?r.slice(0,r.l):r}function gc(e,r){if(!r)r=ka(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);dn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function wc(e,r,t){var a=ka(4+256*2*4);a._W(4,e);dn(r,a);dn(t,a);return a.length>a.l?a.slice(0,a.l):a}function kc(e,r,t){var a={};a.NumberFmt=[];for(var n in J)a.NumberFmt[n]=J[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;Ta(e,function f(e,n,l){switch(l){case 44:a.NumberFmt[e[0]]=e[1];Qe(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=No(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(l);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(l);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+l.toString(16));}});return a}function Tc(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;ya(e,615,Za(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)ya(e,44,sc(a,r[a]))});ya(e,616)}function Ec(e){var r=1;if(r==0)return;ya(e,611,Za(r));ya(e,43,lc({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));ya(e,612)}function yc(e){var r=2;if(r==0)return;ya(e,603,Za(r));ya(e,45,hc({patternType:"none"}));ya(e,45,hc({patternType:"gray125"}));ya(e,604)}function Sc(e){var r=1;if(r==0)return;ya(e,613,Za(r));ya(e,46,bc({}));ya(e,614)}function _c(e){var r=1;ya(e,626,Za(r));ya(e,47,vc({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));ya(e,627)}function xc(e,r){ya(e,617,Za(r.length));r.forEach(function(r){ya(e,47,vc(r,0))});ya(e,618)}function Ac(e){var r=1;ya(e,619,Za(r));ya(e,48,gc({xfId:0,builtinId:0,name:"Normal"}));ya(e,620)}function Cc(e){var r=0;ya(e,505,Za(r));ya(e,506)}function Oc(e){var r=0;ya(e,508,wc(r,"TableStyleMedium9","PivotStyleMedium4"));ya(e,509)}function Rc(){return}function Ic(e,r){var t=Ea();ya(t,278);Tc(t,e.SSF);Ec(t,e);yc(t,e);Sc(t,e);_c(t,e);xc(t,r.cellXfs);Ac(t,e);Cc(t,e);Oc(t,e);Rc(t,e);ya(t,279);return t.end()}var Nc=["","","","","","","","","","","",""];function Fc(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Kr)||[]).forEach(function(e){var n=qr(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[Nc.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 Dc(){}function Pc(){}var Lc=/]*)>[\s\S]*<\/a:clrScheme>/;var Mc=/]*)>[\s\S]*<\/a:fontScheme>/;var Uc=/]*)>[\s\S]*<\/a:fmtScheme>/;function Bc(e,r,t){r.themeElements={};var a;[["clrScheme",Lc,Fc],["fontScheme",Mc,Dc],["fmtScheme",Uc,Pc]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var Wc=/]*)>[\s\S]*<\/a:themeElements>/;function Hc(e,r){if(!e||e.length===0)e=zc();var t;var a={};if(!(t=e.match(Wc)))throw new Error("themeElements not found in theme");Bc(t[0],a,r);a.raw=e;return a}function zc(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Gr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; -t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";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 Vc(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=Vr(i,{type:"array"})}catch(f){return}var l=Ur(s,"theme/theme/theme1.xml",true);if(!l)return;return Hc(l,t)}function $c(e){return e._R(4)}function Gc(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=jc(e,4);break;case 2:r.xclrValue=Os(e,4);break;case 3:r.xclrValue=$c(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function jc(e,r){return wa(e,r)}function Xc(e,r){return wa(e,r)}function Yc(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]=Gc(e,t);break;case 6:a[1]=Xc(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 Kc(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(Yc(e,t-e.l));return{ixfe:a,ext:i}}function Zc(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 Jc(e,r){return{flags:e._R(4),version:e._R(4),name:Ja(e,r-8)}}function qc(e){var r=ka(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);qa(e.name,r);return r.slice(0,r.l)}function Qc(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function eu(e){var r=ka(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;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function lu(e){var r=[];if(!e)return r;var t=1;(e.match(Kr)||[]).forEach(function(e){var a=qr(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}function vu(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[Ct("xml",null,{"xmlns:v":Pt.v,"xmlns:o":Pt.o,"xmlns:x":Pt.x,"xmlns:mv":Pt.mv}).replace(/\/>/,">"),Ct("o:shapelayout",Ct("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var i=65536*e;var s=r||[];if(s.length>0)n.push(Ct("v:shapetype",[Ct("v:stroke",null,{joinstyle:"miter"}),Ct("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:t.join(","),"o:spt":202,path:a}));s.forEach(function(e){++i;n.push(pu(e,i))});n.push("");return n.join("")}function pu(e,r){var t=Ma(e[0]);var a={color2:"#BEFF82",type:"gradient"};if(a.type=="gradient")a.angle="-180";var n=a.type=="gradient"?Ct("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var i=Ct("v:fill",n,a);var s={on:"t",obscured:"t"};return["",i,Ct("v:shadow",null,s),Ct("v:path",null,{"o:connecttype":"none"}),'
','',"","",xt("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),xt("x:AutoFill","False"),xt("x:Row",String(t.r)),xt("x:Column",String(t.c)),e[1].hidden?"":"","",""].join("")}function mu(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=Ma(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var f=Va(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=qr(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Ma(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]&&zl(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}function gu(e){var r=[Gr,Ct("comments",null,{xmlns:Dt[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=it(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=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(it(e.a));if(e.T)++i;n.push(e.t==null?"":it(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(xt("t",a.t==null?"":it(a.t)));r.push("")})}else{r.push('');var s="Comment:\n "+n[0]+"\n";for(var f=1;f")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function wu(e,r){var t=[];var a=false,n={},i=0;e.replace(Kr,function s(f,l){var o=qr(f);switch(Qr(o[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,l).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 "+o[0]+" in threaded comments");}return f});return t}function ku(e,r,t){var a=[Gr,Ct("ThreadedComments",null,{xmlns:Ft.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(Ct("threadedComment",xt("text",i.t||""),f))})});a.push("");return a.join("")}function Tu(e,r){var t=[];var a=false;e.replace(Kr,function n(e){var n=qr(e);switch(Qr(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 Eu(e){var r=[Gr,Ct("personList",null,{xmlns:Ft.TCMNT,"xmlns:x":Dt[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(Ct("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function yu(e){var r={};r.iauthor=e._R(4);var t=Tn(e,16);r.rfx=t.s;r.ref=Ua(t.s);e.l+=16;return r}function Su(e,r){if(r==null)r=ka(36);r._W(4,e[1].iauthor);En(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var _u=Ja;function xu(e){return qa(e.slice(0,54))}function Au(e,r){var t=[];var a=[];var n={};var i=false;Ta(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.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}});return t}function Cu(e){var r=Ea();var t=[];ya(r,628);ya(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));ya(r,632,xu(e.a))})});ya(r,631);ya(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:Ma(e[0]),e:Ma(e[0])};ya(r,635,Su([n,a]));if(a.t&&a.t.length>0)ya(r,637,nn(a));ya(r,636);delete a.iauthor})});ya(r,634);ya(r,629);return r.end()}var Ou="application/vnd.ms-office.vbaProject";function Ru(e){var r=rr.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*/,"");rr.utils.cfb_add(r,n,e.FileIndex[a].content)});return rr.write(r)}function Iu(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")rr.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Nu=["xlsb","xlsm","xlam","biff8","xla"];function Fu(){return{"!type":"dialog"}}function Du(){return{"!type":"dialog"}}function Pu(){return{"!type":"macro"}}function Lu(){return{"!type":"macro"}}var Mu=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?"":"$")+Fa(l)+(s?"":"$")+Oa(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var Uu=/(^|[^._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 Bu=function(){return function e(r,t){return r.replace(Uu,function(e,r,a,n,i,s){var f=Na(n)-(a?0:t.c);var l=Ca(s)-(i?0:t.r);var o=i=="$"?l+1:l==0?"":"["+l+"]";var c=a=="$"?f+1:f==0?"":"["+f+"]";return r+"R"+o+"C"+c})}}();function Wu(e,r){return e.replace(Uu,function(e,t,a,n,i,s){return t+(a=="$"?a+n:Fa(Na(n)+r.c))+(i=="$"?i+s:Oa(Ca(s)+r.r))})}function Hu(e,r,t){var a=Ba(r),n=a.s,i=Ma(t);var s={r:i.r-n.r,c:i.c-n.c};return Wu(e,s)}function zu(e){if(e.length==1)return false;return true}function Vu(e){return e.replace(/_xlfn\./g,"")}function $u(e){e.l+=1;return}function Gu(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function ju(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Xu(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=Gu(e,2);var f=Gu(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 Xu(e){var r=Gu(e,2),t=Gu(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 Yu(e,r,t){if(t.biff<8)return Xu(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=Gu(e,2);var s=Gu(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 Ku(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Zu(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=Gu(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Zu(e){var r=Gu(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Ju(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 qu(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Qu(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 Qu(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 eh(e,r,t){var a=(e[e.l++]&96)>>5;var n=ju(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function rh(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=ju(e,i,t);return[a,n,s]}function th(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 ah(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 nh(e,r,t){var a=(e[e.l++]&96)>>5;var n=Yu(e,r-1,t);return[a,n]}function ih(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function sh(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function fh(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 lh(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 oh(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 ch(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function uh(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function hh(e){var r=e._R(1),t=e._R(1);return[r,t]}function dh(e){e._R(2);return hh(e,2)}function vh(e){e._R(2);return hh(e,2)}function ph(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Ku(e,0,t);return[a,n]}function mh(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=qu(e,0,t);return[a,n]}function bh(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=Ku(e,0,t);return[a,n,i]}function gh(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[jd[n],Gd[n],a]}function wh(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)]:kh(e);return[n,(i[0]===0?Gd:$d)[i[1]]]}function kh(e){return[e[e.l+1]>>7,e._R(2)&32767]}function Th(e,r,t){e.l+=t&&t.biff==2?3:4;return}function Eh(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 yh(e){e.l++;return qn[e._R(1)]}function Sh(e){e.l++;return e._R(2)}function _h(e){e.l++;return e._R(1)!==0}function xh(e){e.l++;return yn(e,8)}function Ah(e,r,t){e.l++;return vs(e,r-1,t)}function Ch(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]=fs(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=qn[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=yn(e,8);break;case 2:t[1]=ws(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function Oh(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?Tn:Us)(e,8));return n}function Rh(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]=Ch(e,t.biff);return s}function Ih(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 Nh(e,r,t){if(t.biff==5)return Fh(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 Fh(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 Dh(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 Lh(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 Uh=wa;var Bh=wa;var Wh=wa;function Hh(e,r,t){e.l+=2;return[Ju(e,4,t)]}function zh(e){e.l+=6;return[]}var Vh=Hh;var $h=zh;var Gh=zh;var jh=Hh;function Xh(e){e.l+=2;return[os(e),e._R(2)&1]}var Yh=Hh;var Kh=Xh;var Zh=zh;var Jh=Hh;var qh=Hh;var Qh=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function ed(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=Qh[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function rd(e){e.l+=2;return[e._R(4)]}function td(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function ad(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function nd(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function id(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function sd(e){e.l+=4;return[0,0]}var fd={1:{n:"PtgExp",f:Eh},2:{n:"PtgTbl",f:Wh},3:{n:"PtgAdd",f:$u},4:{n:"PtgSub",f:$u},5:{n:"PtgMul",f:$u},6:{n:"PtgDiv",f:$u},7:{n:"PtgPower",f:$u},8:{n:"PtgConcat",f:$u},9:{n:"PtgLt",f:$u},10:{n:"PtgLe",f:$u},11:{n:"PtgEq",f:$u},12:{n:"PtgGe",f:$u},13:{n:"PtgGt",f:$u},14:{n:"PtgNe",f:$u},15:{n:"PtgIsect",f:$u},16:{n:"PtgUnion",f:$u},17:{n:"PtgRange",f:$u},18:{n:"PtgUplus",f:$u},19:{n:"PtgUminus",f:$u},20:{n:"PtgPercent",f:$u},21:{n:"PtgParen",f:$u},22:{n:"PtgMissArg",f:$u},23:{n:"PtgStr",f:Ah},26:{n:"PtgSheet",f:td},27:{n:"PtgEndSheet",f:ad},28:{n:"PtgErr",f:yh},29:{n:"PtgBool",f:_h},30:{n:"PtgInt",f:Sh},31:{n:"PtgNum",f:xh},32:{n:"PtgArray",f:ih},33:{n:"PtgFunc",f:gh},34:{n:"PtgFuncVar",f:wh},35:{n:"PtgName",f:Ih},36:{n:"PtgRef",f:ph},37:{n:"PtgArea",f:eh},38:{n:"PtgMemArea",f:Dh},39:{n:"PtgMemErr",f:Uh},40:{n:"PtgMemNoMem",f:Bh},41:{n:"PtgMemFunc",f:Ph},42:{n:"PtgRefErr",f:Lh},43:{n:"PtgAreaErr",f:th},44:{n:"PtgRefN",f:mh},45:{n:"PtgAreaN",f:nh},46:{n:"PtgMemAreaN",f:nd},47:{n:"PtgMemNoMemN",f:id},57:{n:"PtgNameX",f:Nh},58:{n:"PtgRef3d",f:bh},59:{n:"PtgArea3d",f:rh},60:{n:"PtgRefErr3d",f:Mh},61:{n:"PtgAreaErr3d",f:ah},255:{}};var ld={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 od={1:{n:"PtgElfLel",f:Xh},2:{n:"PtgElfRw",f:Jh},3:{n:"PtgElfCol",f:Vh},6:{n:"PtgElfRwV",f:qh},7:{n:"PtgElfColV",f:jh},10:{n:"PtgElfRadical",f:Yh},11:{n:"PtgElfRadicalS",f:Zh},13:{n:"PtgElfColS",f:$h},15:{n:"PtgElfColSV",f:Gh},16:{n:"PtgElfRadicalLel",f:Kh},25:{n:"PtgList",f:ed},29:{n:"PtgSxName",f:rd},255:{}};var cd={0:{n:"PtgAttrNoop",f:sd},1:{n:"PtgAttrSemi",f:uh},2:{n:"PtgAttrIf",f:oh},4:{n:"PtgAttrChoose",f:fh},8:{n:"PtgAttrGoto",f:lh},16:{n:"PtgAttrSum",f:Th},32:{n:"PtgAttrBaxcel",f:sh},33:{n:"PtgAttrBaxcel",f:sh},64:{n:"PtgAttrSpace",f:dh},65:{n:"PtgAttrSpaceSemi",f:vh},128:{n:"PtgAttrIfError",f:ch},255:{}};function ud(e,r,t,a){if(a.biff<8)return wa(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]=Rh(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=Oh(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(wa(e,r));return i}function hd(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=fd[i]||fd[ld[i]];if(i===24||i===25)n=(i===24?od:cd)[e[e.l+1]];if(!n||!n.f){wa(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function dd(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function pd(e,r){var t=e.lastIndexOf("!"),a=r.lastIndexOf("!");if(t==-1&&a==-1)return e+":"+r;if(t>0&&a>0&&e.slice(0,t).toLowerCase()==r.slice(0,a).toLowerCase())return e+":"+r.slice(a+1);console.error("Cannot hydrate range",e,r);return e+":"+r}function md(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 bd(e,r,t){var a=md(e,r,t);return a=="#REF"?a:za(a,t)}function gd(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=_r(" ",e[0][p][1][1]);break;case 1:m=_r("\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+vd[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(pd(o,l));break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=Sa(w[1][1],s,n);f.push(xa(c,i));break;case"PtgRefN":c=t?Sa(w[1][1],t,n):w[1][1];f.push(xa(c,i));break;case"PtgRef3d":u=w[1][1];c=Sa(w[1][2],s,n);v=bd(a,u,n);var k=v;f.push(v+"!"+xa(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],E=w[1][1];if(!T)T=0;T&=127;var y=T==0?[]:f.slice(-T);f.length-=T;if(E==="User")E=y.shift();f.push(E+"("+y.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=_a(w[1][1],t?{s:t}:s,n);f.push(Aa(d,n));break;case"PtgArea":d=_a(w[1][1],s,n);f.push(Aa(d,n));break;case"PtgArea3d":u=w[1][1];d=w[1][2];v=bd(a,u,n);f.push(v+"!"+Aa(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":h=w[1][2];var S=(a.names||[])[h-1]||(a[0]||[])[h];var _=S?S.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 O=(md(a,x,n)||"").split(";;");if(O[h-1])C=O[h-1];else C+="SH33TJSERRX"}f.push(C);break}if(!A)A={Name:"SH33TJSERRY"};f.push(A.Name);break;case"PtgParen":var R="(",I=")";if(p>=0){m="";switch(e[0][p][1][0]){case 2:R=_r(" ",e[0][p][1][1])+R;break;case 3:R=_r("\r",e[0][p][1][1])+R;break;case 4:I=_r(" ",e[0][p][1][1])+I;break;case 5:I=_r("\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[Ua(c)]){var F=a.sharedf[Ua(c)];f.push(gd(F,s,N,a,n))}else{var D=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(gd(o[1],s,N,a,n));D=true;break}if(!D)f.push(w[1])}break;case"PtgArray":f.push("{"+dd(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=_r(" ",w[1][1]);break;case 5:L=false;case 1:m=_r("\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");if(f[0]=="TRUE")return true;if(f[0]=="FALSE")return false;return f[0]}function wd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],wa(e,r-2)];var f=hd(e,s,t);if(r!==s+n)i=ud(e,r-s-n,f,t);e.l=a;return[f,i]}function kd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],wa(e,r-2)];var f=hd(e,s,t);if(r!==s+n)i=ud(e,r-s-n,f,t);e.l=a;return[f,i]}function Td(e,r,t,a){var n=e.l+r;var i=hd(e,a,t);var s;if(n!==e.l)s=ud(e,n-e.l,i,t);return[i,s]}function Ed(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=hd(e,i,t);if(i==65535)return[[],wa(e,r-2)];if(r!==i+2)n=ud(e,a-i-2,s,t);return[s,n]}function yd(e){var r;if(fa(e,e.l+6)!==65535)return[yn(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 Sd(e){if(e==null){var r=ka(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 Sn(e);return Sn(0)}function _d(e,r,t){var a=e.l+r;var n=Is(e,6);if(t.biff==2)++e.l;var i=yd(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=kd(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function xd(e,r,t,a,n){var i=Ns(r,t,n);var s=Sd(e.v);var f=ka(6);var l=1|32;f._W(2,l);f._W(4,0);var o=ka(e.bf.length);for(var c=0;c0?ud(e,i,n,t):null;return[n,s]}var Cd=Ad;var Od=Ad;var Rd=Ad;var Id=Ad;function Nd(e){if((e|0)==e&&e=0){var r=ka(11);r._W(4,3);r._W(1,30);r._W(2,e);r._W(4,0);return r}var t=ka(17);t._W(4,11);t._W(1,31);t._W(8,e);t._W(4,0);return t}function Fd(e){var r=ka(10);r._W(4,2);r._W(1,28);r._W(1,e);r._W(4,0);return r}function Dd(e){var r=ka(10);r._W(4,2);r._W(1,29);r._W(1,e?1:0);r._W(4,0);return r}function Pd(e){var r=ka(7);r._W(4,3+2*e.length);r._W(1,23);r._W(2,e.length);var t=ka(2*e.length);t._W(2*e.length,e,"utf16le");var a=ka(4);a._W(4,0);return D([r,t,a])}function Ld(e){var r=Ma(e);var t=ka(15);t._W(4,7);t._W(1,4|1<<5);t._W(4,r.r);t._W(2,r.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);t._W(4,0);return t}function Md(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);var n=Ma(e);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var i=ka(17);i._W(4,9);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.r);i._W(2,n.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);i._W(4,0);return i}function Ud(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=ka(17);n._W(4,9);n._W(1,28|1<<5);n._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));n._W(4,0);n._W(2,0);n._W(4,0);return n}function Bd(e){var r=e.split(":"),t=r[0];var a=ka(23);a._W(4,15);t=r[0];var n=Ma(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);t=r[1];n=Ma(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);a._W(1,17);a._W(4,0);return a}function Wd(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=e.split(":");s=n[0];var i=ka(27);i._W(4,19);var s=n[0],f=Ma(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);s=n[1];f=Ma(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);i._W(1,17);i._W(4,0);return i}function Hd(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=Ba(e);var i=ka(23);i._W(4,15);i._W(1,27|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.s.r);i._W(4,n.e.r);i._W(2,n.s.c);i._W(2,n.e.c);i._W(4,0);return i}function zd(e,r){if(typeof e=="number")return Nd(e);if(typeof e=="boolean")return Dd(e);if(/^#(DIV\/0!|GETTING_DATA|N\/A|NAME\?|NULL!|NUM!|REF!|VALUE!)$/.test(e))return Fd(+Qn[e]);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Ld(e);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Bd(e);if(e.match(/^#REF!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Hd(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Md(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Wd(e,r);if(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!#REF!$/.test(e))return Ud(e,r);if(/^".*"$/.test(e))return Pd(e);if(/^[+-]\d+$/.test(e))return Nd(parseInt(e,10));throw"Formula |"+e+"| not supported for XLSB"}var Vd=zd;var $d={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 Gd={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 jd={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 Xd(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(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function Yd(e){var r="of:="+e.replace(Uu,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function Kd(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});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 Zd(e){return e.replace(/!/,".")}var Jd={};var qd={};var Qd=typeof Map!=="undefined";function ev(e,r,t){var a=0,n=e.length;if(t){if(Qd?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Qd?t.get(r):t[r];for(;a-1){t.width=Bo(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 tv(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 av(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){Qe(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 nv(e,r,t,a,n,i){try{if(a.cellNF)e.z=J[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=Er(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(J[r]==null)Qe(Ye[r]||"General",r);if(e.t==="e")e.w=e.w||qn[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=ce(e.v)}else if(e.t==="d"){var f=dr(e.v);if((f|0)===f)e.w=f.toString(10);else e.w=ce(f)}else if(e.v===undefined)return"";else e.w=ue(e.v,qd)}else if(e.t==="d")e.w=Ve(r,dr(e.v),qd);else e.w=Ve(r,e.v,qd)}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=No(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=No(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 iv(e,r,t){if(e&&e["!ref"]){var a=Va(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Wa(t)}var fv=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var lv=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var ov=/<(?:\w:)?hyperlink [^>]*>/gm;var cv=/"(\w*:\w*)"/;var uv=/<(?:\w:)?col\b[^>]*[\/]?>/g;var hv=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var dv=/<(?:\w:)?pageMargins[^>]*\/>/g;var vv=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var pv=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var mv=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function bv(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={};if(r.dense)f["!data"]=[];var l={s:{r:2e6,c:2e6},e:{r:0,c:0}};var o="",c="";var u=e.match(lv);if(u){o=e.slice(0,u.index);c=e.slice(u.index+u[0].length)}else o=c=e;var h=o.match(vv);if(h)wv(h[0],f,n,t);else if(h=o.match(pv))kv(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(cv);if(v&&!(r&&r.nodim))sv(f,v[1])}var p=o.match(mv);if(p&&p[1])Fv(p[1],n);var m=[];if(r.cellStyles){var b=o.match(uv);if(b)Cv(m,b)}if(u)Lv(u[1],f,r,l,i,s);var w=c.match(hv);if(w)f["!autofilter"]=Rv(w[0]);var k=[];var T=c.match(fv);if(T)for(d=0;d!=T.length;++d)k[d]=Va(T[d].slice(T[d].indexOf('"')+1));var E=c.match(ov);if(E)_v(f,E,a);var y=c.match(dv);if(y)f["!margins"]=xv(qr(y[0]));if(r&&r.nodim)l.s.c=l.s.r=0;if(!f["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r)f["!ref"]=Wa(l);if(r.sheetRows>0&&f["!ref"]){var S=Va(f["!ref"]);if(r.sheetRows<=+S.e.r){S.e.r=r.sheetRows-1;if(S.e.r>l.e.r)S.e.r=l.e.r;if(S.e.rl.e.c)S.e.c=l.e.c;if(S.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;return f}function gv(e){if(e.length===0)return""; -var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function wv(e,r,t,a){var n=qr(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=tt(bt(n.codeName))}function kv(e,r,t,a,n){wv(e.slice(0,e.indexOf(">")),t,a,n)}function Tv(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=gt(it(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||"")+Ct("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=Ct("sheetPr",f,s)}var Ev=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var yv=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Sv(e){var r={sheet:1};Ev.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});yv.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=bo(e.password).toString(16).toUpperCase();return Ct("sheetProtection",null,r)}function _v(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=qr(bt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+tt(i.location)}else{i.Target="#"+tt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Va(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=Fa(o)+Oa(l);if(a){if(!e["!data"][l])e["!data"][l]=[];if(!e["!data"][l][o])e["!data"][l][o]={t:"z",v:undefined};e["!data"][l][o].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function xv(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Av(e){tv(e);return Ct("pageMargins",null,e)}function Cv(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=qr(r[a],true);if(n.hidden)n.hidden=ht(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;Ho(n.width)}zo(n);while(i<=s)e[i++]=Sr(n)}}function Ov(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=Ct("col",null,rv(n,a))}t[t.length]="";return t.join("")}function Rv(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function Iv(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Wa(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Ba(n);if(s.s.r==s.e.r){s.e.r=Ba(r["!ref"]).e.r;n=Wa(s)}for(var f=0;fa-z][^>]*)?\/?>/g;function Fv(e,r){if(!r.Views)r.Views=[{}];(e.match(Nv)||[]).forEach(function(e,t){var a=qr(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&ht(a.rightToLeft))r.Views[t].RTL=true})}function Dv(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return Ct("sheetViews",Ct("sheetView",null,n),{})}function Pv(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")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=qn[e.v];break;case"d":if(a&&a.cellDates)n=Er(e.v,-1).toISOString();else{e=Sr(e);e.t="n";n=""+(e.v=dr(Er(e.v)))}if(typeof e.z==="undefined")e.z=J[14];break;default:n=e.v;break;}var f=e.t=="z"||e.v==null?"":xt("v",it(n)),l={r:r};var o=av(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=xt("v",""+ev(a.Strings,e.v,a.revStrings));l.t="s";break}else 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=Ct("f",it(e.f),c)+(e.v!=null?f:"")}if(e.l){e.l.display=it(n);t["!links"].push([r,e.l])}if(e.D)l.cm=1;return Ct("c",f,l)}var Lv=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=wt("v"),s=wt("f");return function f(l,o,c,u,h,d){var v=0,p="",m=[],b=[],g=0,w=0,k=0,T="",E;var y,S=0,_=0;var x,A;var C=0,O=0;var R=Array.isArray(d.CellXf),I;var N=[];var F=[];var D=o["!data"]!=null;var P=[],L={},M=false;var U=!!c.sheetStubs;for(var B=l.split(r),W=0,H=B.length;W!=H;++W){p=B[W].trim();var z=p.length;if(z===0)continue;var V=0;e:for(v=0;v":if(p[v-1]!="/"){++v;break e}if(c&&c.cellStyles){y=qr(p.slice(V,v),true);S=y.r!=null?parseInt(y.r,10):S+1;_=-1;if(c.sheetRows&&c.sheetRows=v)break;y=qr(p.slice(V,v),true);S=y.r!=null?parseInt(y.r,10):S+1;_=-1;if(c.sheetRows&&c.sheetRowsS-1)u.s.r=S-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;y=qr(p.slice(0,w),true);if(!y.r)y.r=Ua({r:S-1,c:_});T=p.slice(w);E={t:""};if((b=T.match(i))!=null&&b[1]!=="")E.v=tt(b[1]);if(c.cellFormula){if((b=T.match(s))!=null&&b[1]!==""){E.f=tt(bt(b[1]),true);if(!c.xlfn)E.f=Vu(E.f);if(b[0].indexOf('t="array"')>-1){E.F=(T.match(n)||[])[1];if(E.F.indexOf(":")>-1)N.push([Va(E.F),E.F])}else if(b[0].indexOf('t="shared"')>-1){A=qr(b[0]);var G=tt(bt(b[1]));if(!c.xlfn)G=Vu(G);F[parseInt(A.si,10)]=[A,G,y.r]}}else if(b=T.match(/]*\/>/)){A=qr(b[0]);if(F[A.si])E.f=Hu(F[A.si][1],F[A.si][2],y.r)}var j=Ma(y.r);for(w=0;w=N[w][0].s.r&&j.r<=N[w][0].e.r)if(j.c>=N[w][0].s.c&&j.c<=N[w][0].e.c)E.F=N[w][1]}if(y.t==null&&E.v===undefined){if(E.f||E.F){E.v=0;E.t="n"}else if(!U)continue;else E.t="z"}else E.t=y.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(!U)continue;E.t="z"}else E.v=parseFloat(E.v);break;case"s":if(typeof E.v=="undefined"){if(!U)continue;E.t="z"}else{x=Jd[parseInt(E.v,10)];E.v=x.t;E.r=x.r;if(c.cellHTML)E.h=x.h}break;case"str":E.t="s";E.v=E.v!=null?tt(bt(E.v),true):"";if(c.cellHTML)E.h=lt(E.v);break;case"inlineStr":b=T.match(a);E.t="s";if(b!=null&&(x=zl(b[1]))){E.v=x.t;if(c.cellHTML)E.h=x.h}else E.v="";break;case"b":E.v=ht(E.v);break;case"d":if(c.cellDates)E.v=Er(E.v,1);else{E.v=dr(Er(E.v,1));E.t="n"}break;case"e":if(!c||c.cellText!==false)E.w=E.v;E.v=Qn[E.v];break;}C=O=0;I=null;if(R&&y.s!==undefined){I=d.CellXf[y.s];if(I!=null){if(I.numFmtId!=null)C=I.numFmtId;if(c.cellStyles){if(I.fillId!=null)O=I.fillId}}}nv(E,C,O,c,h,d);if(c.cellDates&&R&&E.t=="n"&&Ue(J[C])){E.t="d";E.v=br(E.v)}if(y.cm&&c.xlmeta){var X=(c.xlmeta.Cell||[])[+y.cm-1];if(X&&X.type=="XLDAPR")E.D=true}var Y;if(c.nodim){Y=Ma(y.r);if(u.s.r>Y.r)u.s.r=Y.r;if(u.e.r0)o["!rows"]=P}}();function Mv(e,r,t,a){var n=[],i=[],s=Va(e["!ref"]),f="",l,o="",c=[],u=0,h=0,d=e["!rows"];var v=e["!data"]!=null;var p={r:o},m,b=-1;for(h=s.s.c;h<=s.e.c;++h)c[h]=Fa(h);for(u=s.s.r;u<=s.e.r;++u){i=[];o=Oa(u);for(h=s.s.c;h<=s.e.c;++h){l=c[h]+o;var g=v?(e["!data"][u]||[])[h]:e[l];if(g===undefined)continue;if((f=Pv(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=Go(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]=Ct("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]=Ct("row","",p)}}return n.join("")}function Uv(e,r,t,a){var n=[Gr,Ct("worksheet",null,{xmlns:Dt[0],"xmlns:r":Ft.r})];var i=t.SheetNames[e],s=0,f="";var l=t.Sheets[i];if(l==null)l={};var o=l["!ref"]||"A1";var c=Va(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=Wa(c)}if(!a)a={};l["!comments"]=[];var u=[];Tv(l,t,e,r,n);n[n.length]=Ct("dimension",null,{ref:o});n[n.length]=Dv(l,r,e,t);if(r.sheetFormat)n[n.length]=Ct("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]=Ov(l,l["!cols"]);n[s=n.length]="";l["!links"]=[];if(l["!ref"]!=null){f=Mv(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]=Sv(l["!protect"]);if(l["!autofilter"]!=null)n[n.length]=Iv(l["!autofilter"],l,t,e);if(l["!merges"]!=null&&l["!merges"].length>0)n[n.length]=gv(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=ci(a,-1,it(e[1].Target).replace(/#.*$/,""),si.HLINK);d["r:id"]="rId"+v}if((h=e[1].Target.indexOf("#"))>-1)d.location=it(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=it(e[1].Tooltip);d.display=e[1].display;n[n.length]=Ct("hyperlink",null,d)});n[n.length]=""}delete l["!links"];if(l["!margins"]!=null)n[n.length]=Av(l["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=xt("ignoredErrors",Ct("ignoredError",null,{numberStoredAsText:1,sqref:o}));if(u.length>0){v=ci(a,-1,"../drawings/drawing"+(e+1)+".xml",si.DRAW);n[n.length]=Ct("drawing",null,{"r:id":"rId"+v});l["!drawing"]=u}if(l["!comments"].length>0){v=ci(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",si.VML);n[n.length]=Ct("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 Bv(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 Wv(e,r,t){var a=ka(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Go(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};var c=t["!data"]!=null;for(var u=0;u<16;++u){if(r.s.c>u+1<<10||r.e.ca.l?a.slice(0,a.l):a}function Hv(e,r,t,a){var n=Wv(a,t,r);if(n.length>17||(r["!rows"]||[])[a])ya(e,0,n)}var zv=Tn;var Vv=En;function $v(){}function Gv(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=cn(e,r-19);return t}function jv(e,r,t){if(t==null)t=ka(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);xn({auto:1},t);t._W(-4,-1);t._W(-4,-1);un(e,t);return t.slice(0,t.l)}function Xv(e){var r=sn(e);return[r]}function Yv(e,r,t){if(t==null)t=ka(8);return fn(r,t)}function Kv(e){var r=ln(e);return[r]}function Zv(e,r,t){if(t==null)t=ka(4);return on(r,t)}function Jv(e){var r=sn(e);var t=e._R(1);return[r,t,"b"]}function qv(e,r,t){if(t==null)t=ka(9);fn(r,t);t._W(1,e.v?1:0);return t}function Qv(e){var r=ln(e);var t=e._R(1);return[r,t,"b"]}function ep(e,r,t){if(t==null)t=ka(5);on(r,t);t._W(1,e.v?1:0);return t}function rp(e){var r=sn(e);var t=e._R(1);return[r,t,"e"]}function tp(e,r,t){if(t==null)t=ka(9);fn(r,t);t._W(1,e.v);return t}function ap(e){var r=ln(e);var t=e._R(1);return[r,t,"e"]}function np(e,r,t){if(t==null)t=ka(8);on(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function ip(e){var r=sn(e);var t=e._R(4);return[r,t,"s"]}function sp(e,r,t){if(t==null)t=ka(12);fn(r,t);t._W(4,r.v);return t}function fp(e){var r=ln(e);var t=e._R(4);return[r,t,"s"]}function lp(e,r,t){if(t==null)t=ka(8);on(r,t);t._W(4,r.v);return t}function op(e){var r=sn(e);var t=yn(e);return[r,t,"n"]}function cp(e,r,t){if(t==null)t=ka(16);fn(r,t);Sn(e.v,t);return t}function up(e){var r=ln(e);var t=yn(e);return[r,t,"n"]}function hp(e,r,t){if(t==null)t=ka(12);on(r,t);Sn(e.v,t);return t}function dp(e){var r=sn(e);var t=bn(e);return[r,t,"n"]}function vp(e,r,t){if(t==null)t=ka(12);fn(r,t);gn(e.v,t);return t}function pp(e){var r=ln(e);var t=bn(e);return[r,t,"n"]}function mp(e,r,t){if(t==null)t=ka(8);on(r,t);gn(e.v,t);return t}function bp(e){var r=sn(e);var t=rn(e);return[r,t,"is"]}function gp(e){var r=sn(e);var t=Ja(e);return[r,t,"str"]}function wp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=ka(12+4*e.v.length);fn(r,t);qa(a,t);return t.length>t.l?t.slice(0,t.l):t}function kp(e){var r=ln(e);var t=Ja(e);return[r,t,"str"]}function Tp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=ka(8+4*a.length);on(r,t);qa(a,t);return t.length>t.l?t.slice(0,t.l):t}function Ep(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=gd(f,null,n,t.supbooks,t)}else e.l=a;return s}function yp(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=gd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Sp(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=yn(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=gd(f,null,n,t.supbooks,t)}else e.l=a;return s}function _p(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=Ja(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=gd(f,null,n,t.supbooks,t)}else e.l=a;return s}var xp=Tn;var Ap=En;function Cp(e,r){if(r==null)r=ka(4);r._W(4,e);return r}function Op(e,r){var t=e.l+r;var a=Tn(e,16);var n=hn(e);var i=Ja(e);var s=Ja(e);var f=Ja(e);e.l=t;var l={rfx:a,relId:n,loc:i,display:f};if(s)l.Tooltip=s;return l}function Rp(e,r){var t=ka(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));En({s:Ma(e[0]),e:Ma(e[0])},t);mn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);qa(n||"",t);qa(e[1].Tooltip||"",t);qa("",t);return t.slice(0,t.l)}function Ip(){}function Np(e,r,t){var a=e.l+r;var n=wn(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=Cd(e,a-e.l,t);s[1]=f}else e.l=a;return s}function Fp(e,r,t){var a=e.l+r;var n=Tn(e,16);var i=[n];if(t.cellFormula){var s=Id(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function Dp(e,r,t){if(t==null)t=ka(18);var a=rv(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 Pp=["left","right","top","bottom","header","footer"];function Lp(e){var r={};Pp.forEach(function(t){r[t]=yn(e,8)});return r}function Mp(e,r){if(r==null)r=ka(6*8);tv(e);Pp.forEach(function(t){Sn(e[t],r)});return r}function Up(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function Bp(e,r,t){if(t==null)t=ka(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 Wp(e){var r=ka(24);r._W(4,4);r._W(4,1);En(e,r);return r}function Hp(e,r){if(r==null)r=ka(16*4+2);r._W(2,e.password?bo(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 zp(){}function Vp(){}function $p(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 l={};if(f.dense)l["!data"]=[];var o;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var u=[];var h=false,d=false;var v,p,m,b,w,k,T,E,y;var S=[];f.biff=12;f["!row"]=0;var _=0,x=false;var A=[];var C={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=C;O.arrayf=A;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=Wa(R[0]);x=true}}if(!x&&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;Ho(e.w/256)}zo(I[e.e+1])}break;case 161:l["!autofilter"]={ref:Wa(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(g);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"+g.toString(16));}},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"]=Wa(o||c);if(f.sheetRows&&l["!ref"]){var L=Va(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"]=S;if(I.length>0)l["!cols"]=I;if(N.length>0)l["!rows"]=N;return l}function Gp(e,r,t,a,n,i,s){var f={r:t,c:a};if(r.c)i["!comments"].push([Ua(f),r.c]);if(r.v===undefined)return false;var l="";switch(r.t){case"b":l=r.v?"1":"0";break;case"d":r=Sr(r);r.z=r.z||J[14];r.v=dr(Er(r.v));r.t="n";break;case"n":;case"e":l=""+r.v;break;default:l=r.v;break;}f.s=av(n.cellXfs,r,n);if(r.l)i["!links"].push([Ua(f),r.l]);switch(r.t){case"s":;case"str":if(n.bookSST){l=ev(n.Strings,r.v==null?"":String(r.v),n.revStrings);f.t="s";f.v=l;if(s)ya(e,18,lp(r,f));else ya(e,7,sp(r,f))}else{f.t="str";if(s)ya(e,17,Tp(r,f));else ya(e,6,wp(r,f))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)ya(e,13,mp(r,f));else ya(e,2,vp(r,f))}else{if(s)ya(e,16,hp(r,f));else ya(e,5,cp(r,f))}return true;case"b":f.t="b";if(s)ya(e,15,ep(r,f));else ya(e,4,qv(r,f));return true;case"e":f.t="e";if(s)ya(e,14,np(r,f));else ya(e,3,tp(r,f));return true;}if(s)ya(e,12,Zv(r,f));else ya(e,1,Yv(r,f));return true}function jp(e,r,t,a){var n=Va(r["!ref"]||"A1"),i,s="",f=[];ya(e,145);var l=r["!data"]!=null;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=Oa(c);Hv(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]=Fa(h);i=f[h]+s;var d=l?(r["!data"][c]||[])[h]:r[i];if(!d){u=false;continue}u=Gp(e,d,c,h,a,r,u)}}ya(e,146)}function Xp(e,r){if(!r||!r["!merges"])return;ya(e,177,Cp(r["!merges"].length));r["!merges"].forEach(function(r){ya(e,176,Ap(r))});ya(e,178)}function Yp(e,r){if(!r||!r["!cols"])return;ya(e,390);r["!cols"].forEach(function(r,t){if(r)ya(e,60,Dp(t,r))});ya(e,391)}function Kp(e,r){if(!r||!r["!ref"])return;ya(e,648);ya(e,649,Wp(Va(r["!ref"])));ya(e,650)}function Zp(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ci(t,-1,r[1].Target.replace(/#.*$/,""),si.HLINK);ya(e,494,Rp(r,a))});delete r["!links"]}function Jp(e,r,t,a){if(r["!comments"].length>0){var n=ci(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",si.VML);ya(e,551,mn("rId"+n));r["!legacy"]=n}}function qp(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Wa(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Ba(i);if(f.s.r==f.e.r){f.e.r=Ba(r["!ref"]).e.r;i=Wa(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"]=[];ya(n,129);if(t.vbaraw||s["!outline"])ya(n,147,jv(f,s["!outline"]));ya(n,148,Vv(o));Qp(n,s,t.Workbook);em(n,s);Yp(n,s,e,r,t);jp(n,s,e,r,t);rm(n,s);qp(n,s,t,e);Xp(n,s);Zp(n,s,a);if(s["!margins"])ya(n,476,Mp(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)Kp(n,s);Jp(n,s,e,a);ya(n,130);return n.end()}function am(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=tt((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 nm(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=am(e);c.s.r=c.s.c=0;c.e.c=f;o=Fa(f);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][f]={t:"n",v:e,z:r[1]}}else s[o+Oa(t)]={t:"n",v:e,z:r[1]};l=t});if(c.e.r0)s["!ref"]=Wa(c);return s}function im(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(vv);if(f)wv(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 sm(e,r){e.l+=10;var t=Ja(e,r-10);return{name:t}}function fm(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;Ta(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(o);break;case 38:s.pop();break;default:if(a.T>0)s.push(o);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}var lm=[["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 om=[["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 cm=[];var um=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function hm(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]]=ht(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function dm(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]]=ht(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function vm(e){dm(e.WBProps,lm);dm(e.CalcPr,um);hm(e.WBView,om);hm(e.Sheets,cm);qd.date1904=ht(e.WBProps.date1904)}function pm(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return ht(e.Workbook.WBProps.date1904)?"true":"false"}var mm=":][*?/\\".split("");function bm(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");mm.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function gm(e,r,t){e.forEach(function(a,n){bm(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function wm(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||[];gm(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":lm.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=ht(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=bt(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=tt(bt(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){lm.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]=Ct("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:it(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]=Ct("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]=Ct("definedName",it(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ym(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=pn(e,r-8);t.name=Ja(e);return t}function Sm(e,r){if(!r)r=ka(127);r._W(4,e.Hidden);r._W(4,e.iTabID);mn(e.strRelID,r);qa(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function _m(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Ja(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 xm(e,r){if(!r)r=ka(72);var t=0;if(e){if(e.date1904)t|=1;if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);un(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Am(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Cm(e,r,t){var a=e.l+r;var n=e._R(4);e.l+=1;var i=e._R(4);var s=vn(e);var f=Rd(e,0,t);var l=hn(e);if(n&32)s="_xlnm."+s;e.l=a;var o={Name:s,Ptg:f,Flags:n};if(i<268435455)o.Sheet=i;if(l)o.Comment=l;return o}function Om(e,r){var t=ka(9);var a=0;var n=e.Name;if(ei.indexOf(n)>-1){a|=32;n=n.slice(6)}t._W(4,a);t._W(1,0);t._W(4,e.Sheet==null?4294967295:e.Sheet);var i=[t,qa(n),Vd(e.Ref,r)];if(e.Comment)i.push(dn(e.Comment));else{var s=ka(4);s._W(4,4294967295);i.push(s)}return D(i)}function Rm(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=[];Db[16]={n:"BrtFRTArchID$",f:Am};Ta(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=gd(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(o);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(o);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(l.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+o.toString(16));}},r);vm(t);t.Names=i;t.supbooks=s;return t}function Im(e,r){ya(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]};ya(e,156,Sm(n))}ya(e,144)}function Nm(r,t){if(!t)t=ka(127);for(var a=0;a!=4;++a)t._W(4,0);qa("SheetJS",t);qa(e.version,t);qa(e.version,t);qa("7262",t);return t.length>t.l?t.slice(0,t.l):t}function Fm(e,r){if(!r)r=ka(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 Dm(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;ya(e,135);ya(e,158,Fm(n));ya(e,136)}function Pm(e,r){if(!r.Workbook||!r.Workbook.Names)return;r.Workbook.Names.forEach(function(t){try{if(t.Flags&14)return;ya(e,39,Om(t,r))}catch(a){console.error("Could not serialize defined name "+JSON.stringify(t))}})}function Lm(e){var r=e.SheetNames.length;var t=ka(12*r+28);t._W(4,r+2);t._W(4,0);t._W(4,-2);t._W(4,-2);t._W(4,0);t._W(4,-1);t._W(4,-1);for(var a=0;a-1?tt(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(Er(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=tt(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=Qn[e];if(o.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=ct(r||e)}break;}ab(a,c,o);if(o.cellFormula!==false){if(a.Formula){var p=tt(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=Mu(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=Mu("RC:RC",n);else if(a.ArrayRange){a.F=Mu(a.ArrayRange,n);l.push([Va(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 sb(e){return ei.indexOf("_xlnm."+e)>-1?"_xlnm."+e:e}function fb(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 lb(e,r){var t=r||{};je();var n=v(It(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=bt(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=Sr(t);f.type="string";return Fl.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return ig(n,t);eb={"General Number":"General","General Date":J[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":J[15],"Short Date":J[14],"Long Time":J[19],"Medium Time":J[18],"Short Time":J[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:J[2],Standard:J[4],Percent:J[10],Scientific:J[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var l;var o=[],u;if(g!=null&&t.dense==null)t.dense=g;var h={},d=[],p={},m="";if(t.dense)p["!data"]=[];var b={},w={};var k=qm(''),T=0;var E=0,y=0;var S={s:{r:2e6,c:2e6},e:{r:0,c:0}};var _={},x={};var A="",C=0;var O=[];var R={},I={},N=0,F=[];var D=[],P={};var L=[],M,U=false;var B=[];var W=[],H={},z=0,V=0;var $={Sheets:[],WBProps:{date1904:false}},G={};Nt.lastIndex=0;n=n.replace(//gm,"");var j="";while(l=Nt.exec(n))switch(l[3]=(j=l[3]).toLowerCase()){case"data":if(j=="data"){if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break}if(o[o.length-1][1])break;if(l[1]==="/")ib(n.slice(T,l.index),A,k,o[o.length-1][0]=="comment"?P:b,{c:E,r:y},_,L[E],w,B,t);else{A="";k=qm(l[0]);T=l.index+l[0].length}break;case"cell":if(l[1]==="/"){if(D.length>0)b.c=D;if((!t.sheetRows||t.sheetRows>y)&&b.v!==void 0){if(t.dense){if(!p["!data"][y])p["!data"][y]=[];p["!data"][y][E]=b}else p[Fa(E)+Oa(y)]=b}if(b.HRef){b.l={Target:tt(b.HRef)};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){z=E+(parseInt(b.MergeAcross,10)|0);V=y+(parseInt(b.MergeDown,10)|0);if(z>E||V>y)O.push({s:{c:E,r:y},e:{c:z,r:V}})}if(!t.sheetStubs){if(b.MergeAcross)E=z+1;else++E}else if(b.MergeAcross||b.MergeDown){for(var X=E;X<=z;++X){for(var Y=y;Y<=V;++Y){if(X>E||Y>y){if(t.dense){if(!p["!data"][Y])p["!data"][Y]=[];p["!data"][Y][X]={t:"z"}}else p[Fa(X)+Oa(Y)]={t:"z"}}}}E=z+1}else++E}else{b=Qm(l[0]);if(b.Index)E=+b.Index-1;if(ES.e.c)S.e.c=E;if(l[0].slice(-2)==="/>")++E;D=[]}break;case"row":if(l[1]==="/"||l[0].slice(-2)==="/>"){if(yS.e.r)S.e.r=y;if(l[0].slice(-2)==="/>"){w=qm(l[0]);if(w.Index)y=+w.Index-1}E=0;++y}else{w=qm(l[0]);if(w.Index)y=+w.Index-1;H={};if(w.AutoFitHeight=="0"||w.Height){H.hpx=parseInt(w.Height,10);H.hpt=Go(H.hpx);W[y]=H}if(w.Hidden=="1"){H.hidden=true;W[y]=H}}break;case"worksheet":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"));d.push(m);if(S.s.r<=S.e.r&&S.s.c<=S.e.c){p["!ref"]=Wa(S);if(t.sheetRows&&t.sheetRows<=S.e.r){p["!fullref"]=p["!ref"];S.e.r=t.sheetRows-1;p["!ref"]=Wa(S)}}if(O.length)p["!merges"]=O;if(L.length>0)p["!cols"]=L;if(W.length>0)p["!rows"]=W;h[m]=p}else{S={s:{r:2e6,c:2e6},e:{r:0,c:0}};y=E=0;o.push([l[3],false]);u=qm(l[0]);m=tt(u.Name);p={};if(t.dense)p["!data"]=[];O=[];B=[];W=[];G={name:m,Hidden:0};$.Sheets.push(G)}break;case"table":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].slice(-2)=="/>")break;else{o.push([l[3],false]);L=[];U=false}break;case"style":if(l[1]==="/")nb(_,x,t);else x=qm(l[0]);break;case"numberformat":x.nf=tt(qm(l[0]).Format||"General");if(eb[x.nf])x.nf=eb[x.nf];for(var K=0;K!=392;++K)if(J[K]==x.nf)break;if(K==392)for(K=57;K!=392;++K)if(J[K]==null){Qe(x.nf,K);break}break;case"column":if(o[o.length-1][0]!=="table")break;if(l[1]==="/")break;M=qm(l[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;Lo=Fo;for(var Z=0;Z0)ee.Sheet=$.Sheets.length-1;$.Names.push(ee);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(l[0].slice(-2)==="/>")break;else if(l[1]==="/")A+=n.slice(C,l.index);else C=l.index+l[0].length;break;case"interior":if(!t.cellStyles)break;x.Interior=qm(l[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(l[0].slice(-2)==="/>")break;else if(l[1]==="/")Fi(R,j,n.slice(N,l.index));else N=l.index+l[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else o.push([l[3],false]);break;case"comment":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"));fb(P);D.push(P)}else{o.push([l[3],false]);u=qm(l[0]);P={a:u.Author}}break;case"autofilter":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/"){var re=qm(l[0]);p["!autofilter"]={ref:Mu(re.Range).replace(/\$/g,"")};o.push([l[3],true])}break;case"name":break;case"datavalidation":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else{if(l[0].charAt(l[0].length-2)!=="/")o.push([l[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(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break;case"null":break;default:if(o.length==0&&l[3]=="document")return bg(n,t);if(o.length==0&&l[3]=="uof")return bg(n,t);var te=true;switch(o[o.length-1][0]){case"officedocumentsettings":switch(l[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:te=false;}break;case"componentoptions":switch(l[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:te=false;}break;case"excelworkbook":switch(l[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:te=false;}break;case"workbookoptions":switch(l[3]){case"owcversion":break;case"height":break;case"width":break;default:te=false;}break;case"worksheetoptions":switch(l[3]){case"visible":if(l[0].slice(-2)==="/>"){}else if(l[1]==="/")switch(n.slice(N,l.index)){case"SheetHidden":G.Hidden=1;break;case"SheetVeryHidden":G.Hidden=2;break;}else N=l.index+l[0].length;break;case"header":if(!p["!margins"])tv(p["!margins"]={},"xlml");if(!isNaN(+qr(l[0]).Margin))p["!margins"].header=+qr(l[0]).Margin;break;case"footer":if(!p["!margins"])tv(p["!margins"]={},"xlml");if(!isNaN(+qr(l[0]).Margin))p["!margins"].footer=+qr(l[0]).Margin;break;case"pagemargins":var ae=qr(l[0]);if(!p["!margins"])tv(p["!margins"]={},"xlml");if(!isNaN(+ae.Top))p["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))p["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))p["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))p["!margins"].bottom=+ae.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:te=false;}break;case"pivottable":;case"pivotcache":switch(l[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:te=false;}break;case"pagebreaks":switch(l[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:te=false;}break;case"autofilter":switch(l[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=false;}break;case"querytable":switch(l[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:te=false;}break;case"datavalidation":switch(l[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:te=false;}break;case"sorting":;case"conditionalformatting":switch(l[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:te=false;}break;case"mapinfo":;case"schema":;case"data":switch(l[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:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)break;if(l[3].match(/!\[CDATA/))break;if(!o[o.length-1][1])throw"Unrecognized tag: "+l[3]+"|"+o.join("|");if(o[o.length-1][0]==="customdocumentproperties"){if(l[0].slice(-2)==="/>")break;else if(l[1]==="/")tb(I,j,F,n.slice(N,l.index));else{F=l;N=l.index+l[0].length}break}if(t.WTF)throw"Unrecognized tag: "+l[3]+"|"+o.join("|");}var ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=h;ne.SheetNames=d;ne.Workbook=$;ne.SSF=Sr(J);ne.Props=R;ne.Custprops=I;ne.bookType="xlml";return ne}function ob(e,r){Ew(r=r||{});switch(r.type||"base64"){case"base64":return lb(y(e),r);case"binary":;case"buffer":;case"file":return lb(e,r);case"array":return lb(I(e),r);}}function cb(e,r){var t=[];if(e.Props)t.push(Di(e.Props,r));if(e.Custprops)t.push(Pi(e.Props,e.Custprops,r));return t.join("")}function ub(e){if((((e||{}).Workbook||{}).WBProps||{}).date1904)return'';return""}function hb(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(Ct("NumberFormat",null,{"ss:Format":it(J[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(Ct("Style",a.join(""),n))});return Ct("Styles",t.join(""))}function db(e){return Ct("NamedRange",null,{"ss:Name":e.Name.slice(0,6)=="_xlnm."?e.Name.slice(6):e.Name,"ss:RefersTo":"="+Bu(e.Ref,{r:0,c:0})})}function vb(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(Ct("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(Ct("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(Ct("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(Ct("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(xt("ProtectContents","True"));if(e["!protect"].objects)n.push(xt("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(xt("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(xt("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(xt("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 Ct("WorksheetOptions",n.join(""),{xmlns:Pt.x})}function bb(e){return e.map(function(e){var r=ut(e.t||"");var t=Ct("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return Ct("Comment",t,{"ss:Author":e.a})}).join("")}function gb(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+it(Bu(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var l=Ma(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"]=it(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=it(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=qn[e.v];break;case"d":u="DateTime";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||J[14];break;case"s":u="String";h=ot(e.v||"");break;}var d=av(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+=bb(e.c);return Ct("Cell",p,f)}function wb(e,r){var t='"}function kb(e,r,t,a){if(!e["!ref"])return"";var n=Va(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){zo(e);var t=!!e.width;var a=rv(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(Ct("Column",null,n))});var l=e["!data"]!=null;for(var o=n.s.r;o<=n.e.r;++o){var c=[wb(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 Tb(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?pb(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?kb(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(mb(i,r,e,t));if(i["!autofilter"])a.push('');return a.join("")}function Eb(e,r){if(!r)r={};if(!e.SSF)e.SSF=Sr(J);if(e.SSF){je();Ge(e.SSF);r.revssf=cr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];av(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(cb(e,r));t.push(ub(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=In(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var Sb=[60,1084,2066,2165,2175];function _b(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 l=fa(t,t.l),o=Pb[l];var c=0;while(o!=null&&Sb.indexOf(l)>-1){i=fa(t,t.l+2);c=t.l+4;if(l==2066)c+=4;else if(l==2165||l==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;o=Pb[l=fa(t,t.l)]}var u=D(s);ga(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=Ua(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: "+K+"!="+j);if(Y.r==12){e.l+=10;X-=10}}var Z={};if(j===10)Z=Y.f(e,X,R);else Z=_b(j,Y,e,X,R);if(B==0&&[9,521,1033,2057].indexOf(U)===-1)continue;switch(j){case 34:t.opts.Date1904=_.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;}l(R.codepage=q);$=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:y.push(Z);break;case 430:M.push([Z]);M[M.length-1].XTI=[];break;case 35:;case 547:M[M.length-1].push(Z);break;case 24:;case 536:V={Name:Z.Name,Ref:gd(Z.rgce,s,null,M,R)};if(Z.itab>0)V.Sheet=Z.itab-1;M.names.push(V);if(!M[0]){M[0]=[];M[0].XTI=[]}M[M.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")z[Z.itab-1]={ref:Wa(Z.rgce[0][0][1][2])};break;case 22:R.ExternCount=Z;break;case 23:if(M.length==0){M[0]=[];M[0].XTI=[]}M[M.length-1].XTI=M[M.length-1].XTI.concat(Z);M.XTI=M.XTI.concat(Z);break;case 2196:if(R.biff<8)break;if(V!=null)V.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(--B)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Wa(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var Q=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=Wa(s);s.e.r=Q}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(F.length>0)n["!objects"]=F;if(D.length>0)n["!cols"]=D;if(P.length>0)n["!rows"]=P;_.Sheets.push(x)}if(c==="")u=n;else a[c]=n;n={};if(r.dense)n["!data"]=[]}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}[Z.BIFFVer]||8;R.biffguess=Z.BIFFVer==0;if(Z.BIFFVer==0&&Z.dt==4096){R.biff=5;$=true;l(R.codepage=28591)}if(R.biff==8&&Z.BIFFVer==0&&Z.dt==16)R.biff=2;if(B++)break;n={};if(r.dense)n["!data"]=[];if(R.biff<8&&!$){$=true;l(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 ee={pos:e.l-X,name:c};i[ee.pos]=ee;R.snames.push(c)}else c=(i[G]||{name:""}).name;if(Z.dt==32)n["!type"]="chart";if(Z.dt==64)n["!type"]="macro";N=[];F=[];R.arrayf=k=[];D=[];P=[];L=false;x={Hidden:(i[G]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n["!data"][Z.r]||[])[Z.c]:n[Fa(Z.c)+Oa(Z.r)])++Z.c;T={ixfe:Z.ixfe,XF:y[Z.ixfe]||{},v:Z.val,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 5:;case 517:{T={ixfe:Z.ixfe,XF:y[Z.ixfe],v:Z.val,t:Z.t};if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 638:{T={ixfe:Z.ixfe,XF:y[Z.ixfe],v:Z.rknum,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 189:{for(var re=Z.c;re<=Z.C;++re){var te=Z.rkrec[re-Z.c][0];T={ixfe:te,XF:y[te],v:Z.rkrec[re-Z.c][1],t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O({c:re,r:Z.r},T,r)}}break;case 6:;case 518:;case 1030:{if(Z.val=="String"){f=Z;break}T=Ab(Z.val,Z.cell.ixfe,Z.tt);T.XF=y[T.ixfe];if(r.cellFormula){var ae=Z.formula;if(ae&&ae[0]&&ae[0][0]&&ae[0][0][0]=="PtgExp"){var ne=ae[0][0][1][0],ie=ae[0][0][1][1];var se=Ua({r:ne,c:ie});if(w[se])T.f=""+gd(Z.formula,s,Z.cell,M,R);else T.F=((r.dense?(n["!data"][ne]||[])[ie]:n[se])||{}).F}else T.f=""+gd(Z.formula,s,Z.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O(Z.cell,T,r);f=Z}break;case 7:;case 519:{if(f){f.val=Z;T=Ab(Z,f.cell.ixfe,"s");T.XF=y[T.ixfe];if(r.cellFormula){T.f=""+gd(f.formula,s,f.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];xb(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 fe=Ua(Z[0].s);v=r.dense?(n["!data"][Z[0].s.r]||[])[Z[0].s.c]:n[fe];if(r.cellFormula&&v){if(!f)break;if(!fe||!v)break;v.f=""+gd(Z[1],s,Z[0],M,R);v.F=Wa(Z[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Ua(f.cell)]=Z[0];v=r.dense?(n["!data"][f.cell.r]||[])[f.cell.c]:n[Ua(f.cell)];(v||{}).f=""+gd(Z[0],s,h,M,R)}}break;case 253:T=Ab(o[Z.isst].t,Z.ixfe,"s");if(o[Z.isst].h)T.h=o[Z.isst].h;T.XF=y[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];xb(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:y[Z.ixfe],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];xb(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 oe=Z.ixfe[le-Z.c];T={ixfe:oe,XF:y[oe],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O({c:le,r:Z.r},T,r)}}break;case 214:;case 516:;case 4:T=Ab(Z.val,Z.ixfe,"s");T.XF=y[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];xb(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r);break;case 0:;case 512:{if(B===1)s=Z}break;case 252:{o=Z}break;case 1054:{if(R.biff==4){H[W++]=Z[1];for(var ce=0;ce=163)Qe(Z[1],W+163)}else Qe(Z[1],Z[0])}break;case 30:{H[W++]=Z;for(var ue=0;ue=163)Qe(Z,W+163)}break;case 229:N=N.concat(Z);break;case 93:F[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["!data"][b]||[])[m]:n[Ua({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["!data"][b]||[])[m]:n[Ua({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["!data"][Z[0].r]||[])[Z[0].c]:n[Ua(Z[0])];var he=F[Z[2]];if(!v){if(r.dense){if(!n["!data"][Z[0].r])n["!data"][Z[0].r]=[];v=n["!data"][Z[0].r][Z[0].c]={t:"z"}}else{v=n[Ua(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:he.TxO.t};v.c.push(p)}break;case 2173:Zc(y[Z.ixfe],Z.ext);break;case 125:{if(!R.cellStyles)break;while(Z.e>=Z.s){D[Z.e--]={width:Z.w/256,level:Z.level||0,hidden:!!(Z.flags&1)};if(!L){L=true;Ho(Z.w/256)}zo(D[Z.e+1])}}break;case 520:{var de={};if(Z.level!=null){P[Z.r]=de;de.level=Z.level}if(Z.hidden){P[Z.r]=de;de.hidden=true}if(Z.hpt){P[Z.r]=de;de.hpt=Z.hpt;de.hpx=jo(Z.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])tv(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=Z;break;case 161:if(!n["!margins"])tv(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:S=Z;break;case 2198:I=Z;break;case 140:E=Z;break;case 442:{if(!c)_.WBProps.CodeName=Z||"ThisWorkbook";else x.CodeName=Z||x.name}break;}}else{if(!Y)console.error("Missing Info for XLS Record 0x"+j.toString(16));e.l+=X}}t.SheetNames=fr(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=Sr(J);if(R.enc)t.Encryption=R.enc;if(I)t.Themes=I;t.Metadata={};if(E!==undefined)t.Metadata.Country=E;if(M.names.length>0)_.Names=M.names;t.Workbook=_;return t}var Ob={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function Rb(e,r,t){var a=rr.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=ts(a,Gn,Ob.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=rr.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var l=ts(f,jn,Ob.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){_i(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function Ib(e,r){var t=[],a=[],n=[];var i=0,s;var f=lr(Gn,"n");var l=lr(jn,"n");if(e.Props){s=fr(e.Props);for(i=0;i-1||Si.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;o.push(n[i])}if(a.length)rr.utils.cfb_add(r,"/SummaryInformation",as(a,Ob.SI,l,jn));if(t.length||o.length)rr.utils.cfb_add(r,"/DocumentSummaryInformation",as(t,Ob.DSI,f,Gn,o.length?o:null,Ob.UDI))}function Nb(e,r){if(!r)r={};Ew(r);o();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(rr.find(e,"/encryption"))throw new Error("File is password-protected");t=rr.find(e,"!CompObj");a=rr.find(e,"/Workbook")||rr.find(e,"/Book")}else{switch(r.type){case"base64":e=O(y(e));break;case"binary":e=O(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}ga(e,0);a={content:e}}var n;var i;if(t)yb(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=S?"buffer":"array";if(a&&a.content)n=Cb(a.content,r);else if((i=rr.find(e,"PerfectOffice_MAIN"))&&i.content)n=Pl.to_workbook(i.content,(r.type=f,r));else if((i=rr.find(e,"NativeContent_MAIN"))&&i.content)n=Pl.to_workbook(i.content,(r.type=f,r));else if((i=rr.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&&rr.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=Ru(e)}var l={};if(e.FullPaths)Rb(e,l,r);n.Props=n.Custprops=l;if(r.bookFiles)n.cfb=e;return n}function Fb(e,r){var t=r||{};var a=rr.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");}rr.utils.cfb_add(a,n,eg(e,t));if(t.biff==8&&(e.Props||e.Custprops))Ib(e,a);if(t.biff==8&&e.vbaraw)Iu(a,rr.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Db={0:{f:Bv},1:{f:Xv},2:{f:dp},3:{f:rp},4:{f:Jv},5:{f:op},6:{f:gp},7:{f:ip},8:{f:_p},9:{f:Sp},10:{f:Ep},11:{f:yp},12:{f:Kv},13:{f:pp},14:{f:ap},15:{f:Qv},16:{f:up},17:{f:kp},18:{f:fp},19:{f:rn},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:Cm},40:{},42:{},43:{f:fc},44:{f:ic},45:{f:uc},46:{f:mc},47:{f:dc},48:{},49:{f:Ka},50:{},51:{f:Qc},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ul},62:{f:bp},63:{f:ou},64:{f:zp},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:wa,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:Up},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:Gv},148:{f:zv,p:16},151:{f:Ip},152:{},153:{f:_m},154:{},155:{},156:{f:ym},157:{},158:{},159:{T:1,f:Kl},160:{T:-1},161:{T:1,f:Tn},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:xp},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:Jc},336:{T:-1},337:{f:tu,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:pn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:zf},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:Np},427:{f:Fp},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:Lp},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:$v},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:Op},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:pn},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:_u},633:{T:1},634:{T:-1},635:{T:1,f:yu},636:{T:-1},637:{f:an},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:sm},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:Vp},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 Pb={6:{f:_d},10:{f:ns},12:{f:os},13:{f:os},14:{f:fs},15:{f:fs},16:{f:yn},17:{f:fs},18:{f:fs},19:{f:os},20:{f:Uf},21:{f:Uf},23:{f:zf},24:{f:Hf},25:{f:fs},26:{},27:{},28:{f:Kf},29:{},34:{f:fs},35:{f:Wf},38:{f:yn},39:{f:yn},40:{f:yn},41:{f:yn},42:{f:fs},43:{f:fs},47:{f:yo},49:{f:pf},51:{f:os},60:{},61:{f:cf},64:{f:fs},65:{f:vf},66:{f:os},77:{},80:{},81:{},82:{},85:{f:os},89:{},90:{},91:{},92:{f:Js},93:{f:qf},94:{},95:{f:fs},96:{},97:{},99:{f:fs},125:{f:ul},128:{f:Nf},129:{f:Qs},130:{f:os},131:{f:fs},132:{f:fs},133:{f:ef},134:{},140:{f:sl},141:{f:os},144:{},146:{f:ol},151:{},152:{},153:{},154:{},155:{},156:{f:os},157:{},158:{},160:{f:bl},161:{f:dl},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:Af},190:{f:Cf},193:{f:ns},197:{},198:{},199:{},200:{},201:{},202:{f:fs},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:os},220:{},221:{f:fs},222:{},224:{f:Rf},225:{f:Zs},226:{f:ns},227:{},229:{f:Zf},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:tf},253:{f:bf},255:{f:nf},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:us},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:fs},353:{f:ns},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Bf},431:{f:fs},432:{},433:{},434:{},437:{},438:{f:rl},439:{f:fs},440:{f:tl},441:{},442:{f:gs},443:{},444:{f:os},445:{},446:{},448:{f:ns},449:{f:lf,r:2},450:{f:ns},512:{f:Sf},513:{f:ml},515:{f:Lf},516:{f:wf},517:{f:Df},519:{f:gl},520:{f:sf},523:{},545:{f:jf},549:{f:of},566:{},574:{f:hf},638:{f:xf},659:{},1048:{},1054:{f:Tf},1084:{},1212:{f:Gf},2048:{f:nl},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Ys},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:ns},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:cl,r:12},2173:{f:Kc,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:fs,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:$f,r:12},2197:{},2198:{f:Vc,r:12},2199:{},2200:{},2201:{},2202:{f:Xf,r:12},2203:{f:ns},2204:{},2205:{},2206:{},2207:{},2211:{f:ff},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:os},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:vl},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:ll},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:Sf},1:{},2:{f:yl},3:{f:Tl},4:{f:kl},5:{f:Df},7:{f:_l},8:{},9:{f:Ys},11:{},22:{f:os},30:{f:yf},31:{},32:{},33:{f:jf},36:{},37:{f:of},50:{f:xl},62:{},52:{},67:{},68:{f:os},69:{},86:{},126:{},127:{f:wl},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:Al},223:{},234:{},354:{},421:{},518:{f:_d},521:{f:Ys},536:{f:Hf},547:{f:Wf},561:{},579:{},1030:{f:_d},1033:{f:Ys},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},101:{},102:{},105:{},106:{},107:{},109:{},112:{},114:{},29282:{}};function Lb(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&&na(t))e.push(t)}function Mb(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return Lb(e,r,t,n);var i=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)Lb(e,2,Sl(t,a,n));else Lb(e,3,El(t,a,n));return;case"b":;case"e":Lb(e,5,Bb(t,a,r.v,r.t));return;case"s":;case"str":Lb(e,4,Wb(t,a,r.v==null?"":String(r.v).slice(0,255)));return;}Lb(e,1,Ub(null,t,a))}function zb(e,r,t,a){var n=r["!data"]!=null;var i=Va(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)}var o=[];for(var c=i.s.c;c<=i.e.c;++c)l[c]=Fa(c);for(var u=i.s.r;u<=i.e.r;++u){if(n)o=r["!data"][u]||[];f=Oa(u);for(c=i.s.c;c<=i.e.c;++c){var h=n?o[c]:r[l[c]+f];if(!h)continue;Hb(e,h,u,c,a)}}}function Vb(e,r){var t=r||{};var a=Ea();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)}Lb(a,2057,Ks(t,16,r));Lb(a,13,cs(1));Lb(a,12,cs(100));Lb(a,15,ls(true));Lb(a,17,ls(false));Lb(a,16,Sn(.001));Lb(a,95,ls(true));Lb(a,42,ls(false));Lb(a,43,ls(false));Lb(a,130,cs(1));Lb(a,128,Ff([0,0]));Lb(a,131,ls(false));Lb(a,132,ls(false));if(o)Kb(a,i["!cols"]);Lb(a,512,_f(d,r));if(o)i["!links"]=[];var p=[];var m=[];for(var b=d.s.c;b<=d.e.c;++b)h[b]=Fa(b);for(var g=d.s.r;g<=d.e.r;++g){if(l)m=i["!data"][g]||[];u=Oa(g);for(b=d.s.c;b<=d.e.c;++b){c=h[b]+u;var w=l?m[b]:i[c];if(!w)continue;Zb(a,w,g,b,r);if(o&&w.l)i["!links"].push([c,w.l]);if(o&&w.c)p.push([c,w.c])}}var k=f.CodeName||f.name||n;if(o)Lb(a,574,df((s.Views||[])[0]));if(o&&(i["!merges"]||[]).length)Lb(a,229,Jf(i["!merges"]));if(o)Yb(a,i);Lb(a,442,ks(k,r));if(o)jb(a,i);Lb(a,10);return a.end()}function qb(e,r,t){var a=Ea();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,l=t.biff==5;Lb(a,2057,Ks(e,5,t));if(t.bookType=="xla")Lb(a,135);Lb(a,225,f?cs(1200):null);Lb(a,193,is(2));if(l)Lb(a,191);if(l)Lb(a,192);Lb(a,226);Lb(a,92,qs("SheetJS",t));Lb(a,66,cs(f?1200:1252));if(f)Lb(a,353,cs(0));if(f)Lb(a,448);Lb(a,317,pl(e.SheetNames.length));if(f&&e.vbaraw)Lb(a,211);if(f&&e.vbaraw){var o=s.CodeName||"ThisWorkbook";Lb(a,442,ks(o,t))}Lb(a,156,cs(17));Lb(a,25,ls(false));Lb(a,18,ls(false));Lb(a,19,cs(0));if(f)Lb(a,431,ls(false));if(f)Lb(a,444,cs(0));Lb(a,61,uf(t));Lb(a,64,ls(false));Lb(a,141,cs(0));Lb(a,34,ls(pm(e)=="true"));Lb(a,14,ls(true));if(f)Lb(a,439,ls(false));Lb(a,218,cs(0));$b(a,e,t);Gb(a,e.SSF,t);Xb(a,t);if(f)Lb(a,352,ls(false));var c=a.end();var u=Ea();if(f)Lb(u,140,fl());if(f&&t.Strings)Mb(u,252,af(t.Strings,t));Lb(u,10);var h=u.end();var d=Ea();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 Qb(e,r);case 4:;case 3:;case 2:return Vb(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function rg(e,r){var t=r||{};var a=t.dense!=null?t.dense:g;var n={};if(a)n["!data"]=[];e=e.replace(//g,"");var i=e.match(/");var s=e.match(/<\/table/i);var f=i.index,l=s&&s.index||e.length;var o=Ir(e.slice(f,l),/(:?]*>)/i,"");var c=-1,u=0,h=0,d=0;var v={s:{r:1e7,c:1e7},e:{r:0,c:0}};var p=[];for(f=0;f/i);for(l=0;l"))>-1)T=T.slice(E+1);for(var y=0;y")));d=_.colspan?+_.colspan:1;if((h=+_.rowspan)>1||d>1)p.push({s:{r:c,c:u},e:{r:c+(h||1)-1,c:u+d-1}});var x=_.t||_["data-t"]||"";if(!T.length){u+=d;continue}T=kt(T);if(v.s.r>c)v.s.r=c;if(v.e.ru)v.s.c=u;if(v.e.ct||n[u].s.c>l)continue;if(n[u].e.r1)s.rowspan=o;if(c>1)s.colspan=c;if(a.editable)v=''+v+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=d.v;if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")v=''+v+""}s.id=(a.id||"sjs")+"-"+h;i.push(Ct("td",v,s))}var p="";return p+i.join("")+""}var ag='SheetJS Table Export';var ng="";function ig(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1){var a=ja(rg(t[0],r),r);a.bookType="html";return a}var n=vk();t.forEach(function(e,t){pk(n,rg(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function sg(e,r,t){var a=[];return a.join("")+""}function fg(e,r){var t=r||{};var a=t.header!=null?t.header:ag;var n=t.footer!=null?t.footer:ng;var i=[a];var s=Ba(e["!ref"]);i.push(sg(e,s,t));for(var f=s.s.r;f<=s.e.r;++f)i.push(tg(e,s,f,t));i.push("
"+n);return i.join("")}function lg(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,f=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var l=typeof n.origin=="string"?Ma(n.origin):n.origin;s=l.r;f=l.c}}var o=Math.min(n.sheetRows||1e7,a.length);var c={s:{r:0,c:0},e:{r:s,c:f}};if(e["!ref"]){var u=Ba(e["!ref"]);c.s.r=Math.min(c.s.r,u.s.r);c.s.c=Math.min(c.s.c,u.s.c);c.e.r=Math.max(c.e.r,u.e.r);c.e.c=Math.max(c.e.c,u.e.c);if(s==-1)c.e.r=s=u.e.r+1}var h=[],d=0;var v=e["!rows"]||(e["!rows"]=[]);var p=0,m=0,b=0,g=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;p1||k>1)h.push({s:{r:m+s,c:g+f},e:{r:m+s+(w||1)-1,c:g+f+(k||1)-1}});var A={t:"s",v:S};var C=y.getAttribute("data-t")||y.getAttribute("t")||"";if(S!=null){if(S.length==0)A.t=C||"z";else if(n.raw||S.trim().length==0||C=="s"){}else if(S==="TRUE")A={t:"b",v:true};else if(S==="FALSE")A={t:"b",v:false};else if(!isNaN(xr(S)))A={t:"n",v:xr(S)};else if(!isNaN(Rr(S).getDate())){A={t:"d",v:Er(S)};if(!n.cellDates)A={t:"n",v:dr(A.v)};A.z=n.dateNF||J[14]}}if(A.z===undefined&&_!=null)A.z=_;var O="",R=y.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=o)e["!fullref"]=Wa((c.e.r=a.length-p+m-1+s,c));return e}function og(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return lg(a,e,r)}function cg(e,r){var t=ja(og(e,r),r);return t}function ug(e){var r="";var t=hg(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function hg(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=tt(r.replace(/<[^>]*>/g,""));return[t]}function vg(e,r,t){var a=t||{};var n=It(e);Nt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");var i,s,f="",l="",o,c=0,u=-1,h=false,d="";while(i=Nt.exec(n)){switch(i[3]=i[3].replace(/_.*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){h=false;if(s["truncate-on-overflow"]=="false"){if(f.match(/h/))f=f.replace(/h+/,"[$&]");else if(f.match(/m/))f=f.replace(/m+/,"[$&]");else if(f.match(/s/))f=f.replace(/s+/,"[$&]")}a[s.name]=f;f=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;f="";s=qr(i[0],false)}break;case"boolean-style":if(i[1]==="/"){h=false;a[s.name]="General";f=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;f="";s=qr(i[0],false)}break;case"boolean":f+="General";break;case"text":if(i[1]==="/"){d=n.slice(u,Nt.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")f=a[o["apply-style-name"]]+";"+f;else console.error("ODS number format may be incorrect: "+o["condition"]);break;case"number":if(i[1]==="/")break;o=qr(i[0],false);l="";l+=_r("0",+o["min-integer-digits"]||1);if(ht(o["grouping"]))l=ve(_r("#",Math.max(0,4-l.length))+l);if(+o["min-decimal-places"]||+o["decimal-places"])l+=".";if(+o["min-decimal-places"])l+=_r("0",+o["min-decimal-places"]||1);if(+o["decimal-places"]-(+o["min-decimal-places"]||0))l+=_r("0",+o["decimal-places"]-(+o["min-decimal-places"]||0));f+=l;break;case"embedded-text":if(i[1]==="/"){if(c==0)f+='"'+n.slice(u,Nt.lastIndex-i[0].length).replace(/"/g,'""')+'"';else f=f.slice(0,c)+'"'+n.slice(u,Nt.lastIndex-i[0].length).replace(/"/g,'""')+'"'+f.slice(c)}else if(i[0].charAt(i[0].length-2)!=="/"){u=Nt.lastIndex;c=-+qr(i[0],false)["position"]||0}break;}}return a}function pg(e,r,t){var a=r||{};if(g!=null&&a.dense==null)a.dense=g;var n=It(e);var i=[],s;var f;var l,o="",c=0;var u;var h;var d={},v=[];var p={};if(a.dense)p["!data"]=[];var m,b;var w={value:""};var k="",T=0,E;var y=[];var S=-1,_=-1,x={s:{r:1e6,c:1e7},e:{r:0,c:0}};var A=0;var C=t||{},O={};var R=[],I={},N=0,F=0;var D=[],P=1,L=1;var M=[];var U={Names:[],WBProps:{}};var B={};var W=["",""];var H=[],z={};var V="",$=0;var G=false,j=false;var X=0;var Y=0;Nt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");while(m=Nt.exec(n))switch(m[3]=m[3].replace(/_.*$/,"")){case"table":;case"工作表":if(m[1]==="/"){if(x.e.c>=x.s.c&&x.e.r>=x.s.r)p["!ref"]=Wa(x);else p["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=x.e.r){p["!fullref"]=p["!ref"];x.e.r=a.sheetRows-1;p["!ref"]=Wa(x)}if(R.length)p["!merges"]=R;if(D.length)p["!rows"]=D;u.name=u["名称"]||u.name;if(typeof JSON!=="undefined")JSON.stringify(u);v.push(u.name);d[u.name]=p;j=false}else if(m[0].charAt(m[0].length-2)!=="/"){u=qr(m[0],false);S=_=-1;x.s.r=x.s.c=1e7;x.e.r=x.e.c=0;p={};if(a.dense)p["!data"]=[];R=[];D=[];j=true}break;case"table-row-group":if(m[1]==="/")--A;else++A;break;case"table-row":;case"行":if(m[1]==="/"){S+=P;P=1;break}h=qr(m[0],false);if(h["行号"])S=h["行号"]-1;else if(S==-1)S=0;P=+h["number-rows-repeated"]||1;if(P<10)for(X=0;X0)D[S+X]={level:A};_=-1;break;case"covered-table-cell":if(m[1]!=="/")++_;if(a.sheetStubs){if(a.dense){if(!p["!data"][S])p["!data"][S]=[];p["!data"][S][_]={t:"z"}}else p[Ua({r:S,c:_})]={t:"z"}}k="";y=[];break;case"table-cell":;case"数据":if(m[0].charAt(m[0].length-2)==="/"){++_;w=qr(m[0],false);L=parseInt(w["number-columns-repeated"]||"1",10);b={t:"z",v:null};if(w.formula&&a.cellFormula!=false)b.f=Xd(tt(w.formula));if(w["style-name"]&&O[w["style-name"]])b.z=O[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){b.t="s";b.v=tt(w["string-value"]||"");if(a.dense){if(!p["!data"][S])p["!data"][S]=[];p["!data"][S][_]=b}else{p[Fa(_)+Oa(S)]=b}}_+=L-1}else if(m[1]!=="/"){++_;k="";T=0;y=[];L=1;var K=P?S+P-1:S;if(_>x.e.c)x.e.c=_;if(_x.e.r)x.e.r=K;w=qr(m[0],false);H=[];z={};b={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&O[w["style-name"]])b.z=O[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=tt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){N=parseInt(w["number-matrix-rows-spanned"],10)||0;F=parseInt(w["number-matrix-columns-spanned"],10)||0;I={s:{r:S,c:_},e:{r:S+N-1,c:_+F-1}};b.F=Wa(I);M.push([I,b.F])}if(w.formula)b.f=Xd(w.formula);else for(X=0;X=M[X][0].s.r&&S<=M[X][0].e.r)if(_>=M[X][0].s.c&&_<=M[X][0].e.c)b.F=M[X][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){N=parseInt(w["number-rows-spanned"],10)||0;F=parseInt(w["number-columns-spanned"],10)||0;I={s:{r:S,c:_},e:{r:S+N-1,c:_+F-1}};R.push(I)}if(w["number-columns-repeated"])L=parseInt(w["number-columns-repeated"],10);switch(b.t){case"boolean":b.t="b";b.v=ht(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":b.t="n";b.v=parseFloat(w.value);break;case"percentage":b.t="n";b.v=parseFloat(w.value);break;case"currency":b.t="n";b.v=parseFloat(w.value);break;case"date":b.t="d";b.v=Er(w["date-value"]);if(!a.cellDates){b.t="n";b.v=dr(b.v,U.WBProps.date1904)-Y}if(!b.z)b.z="m/d/yy";break;case"time":b.t="n";b.v=gr(w["time-value"])/86400;if(a.cellDates){b.t="d";b.v=br(b.v)}if(!b.z)b.z="HH:MM:SS";break;case"number":b.t="n";b.v=parseFloat(w["数据数值"]);break;default:if(b.t==="string"||b.t==="text"||!b.t){b.t="s";if(w["string-value"]!=null){k=tt(w["string-value"]);y=[]}}else throw new Error("Unsupported value type "+b.t);}}else{G=false;if(b.t==="s"){b.v=k||"";if(y.length)b.R=y;G=T==0}if(B.Target)b.l=B;if(H.length>0){b.c=H;H=[]}if(k&&a.cellText!==false)b.w=k;if(G){b.t="z";delete b.v}if(!G||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=S)){for(var Z=0;Z0)p["!data"][S+Z][_+L]=Sr(b)}else{p[Ua({r:S+Z,c:_})]=b;while(--L>0)p[Ua({r:S+Z,c:_+L})]=Sr(b)}if(x.e.c<=_)x.e.c=_}}}L=parseInt(w["number-columns-repeated"]||"1",10);_+=L-1;L=0;b={};k="";y=[]}B={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],true]);break;case"annotation":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s;z.t=k;if(y.length)z.R=y;z.a=V;H.push(z)}else if(m[0].charAt(m[0].length-2)!=="/"){i.push([m[3],false])}V="";$=0;k="";T=0;y=[];break;case"creator":if(m[1]==="/"){V=n.slice($,m.index)}else $=m.index+m[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(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],false]);k="";T=0;y=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(m[1]==="/"){var J=Nt.lastIndex;vg(n.slice(l,Nt.lastIndex),r,C);Nt.lastIndex=J}else if(m[0].charAt(m[0].length-2)!=="/"){l=Nt.lastIndex-m[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var q=qr(m[0],false);if(q["family"]=="table-cell"&&C[q["data-style-name"]])O[q["name"]]=C[q["data-style-name"]]}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":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":break;case"boolean":break;case"text":if(m[0].slice(-2)==="/>")break;else if(m[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=n.slice(c,m.index);break;}else c=m.index+m[0].length;break;case"named-range":f=qr(m[0],false);W=Kd(f["cell-range-address"]);var Q={Name:f.name,Ref:W[0]+"!"+W[1]};if(j)Q.Sheet=v.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":f=qr(m[0],false);switch(f["date-value"]){case"1904-01-01":U.WBProps.date1904=true;case"1900-01-01":Y=0;}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(i[i.length-1][0])>-1)break;if(m[1]==="/"&&(!w||!w["string-value"])){var ee=dg(n.slice(T,m.index),E);k=(k.length>0?k+"\n":"")+ee[0]}else{E=qr(m[0],false);T=m.index+m[0].length}break;case"s":break;case"database-range":if(m[1]==="/")break;try{W=Kd(qr(m[0])["target-range-address"]);d[W[0]]["!autofilter"]={ref:W[1]}}catch(re){}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(m[1]!=="/"){B=qr(m[0],false);if(!B.href)break;B.Target=tt(B.href);delete B.href;if(B.Target.charAt(0)=="#"&&B.Target.indexOf(".")>-1){W=Kd(B.Target.slice(1));B.Target="#"+W[0]+"!"+W[1]}else if(B.Target.match(/^\.\.[\\\/]/))B.Target=B.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(m[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(a.WTF)throw new Error(m);};}var te={Sheets:d,SheetNames:v,Workbook:U};if(a.bookSheets)delete te.Sheets;return te}function mg(e,r){r=r||{};if(Pr(e,"META-INF/manifest.xml"))hi(Mr(e,"META-INF/manifest.xml"),r);var t=Ur(e,"styles.xml");var a=t&&vg(bt(t),r);var n=Ur(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=pg(bt(n),r,a);if(Pr(e,"meta.xml"))i.Props=ki(Mr(e,"meta.xml"));i.bookType="ods";return i}function bg(e,r){var t=pg(e,r);t.bookType="fods";return t}var gg=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Gr+r}}();function wg(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+it(i.replace(/""/g,'"'))+""}else{a+=""+it(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/# (\?+)\/(\?+)/);if(f){a+=Ct("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:max-denominator-value":Math.max(+f[1].replace(/./g,"9"),+f[2].replace(/./g,"9"))});break e}if(f=e.match(/# (\?+)\/(\d+)/)){a+=Ct("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:denominator-value":+f[2]});break e}if(f=e.match(/(\d+)(|\.\d+)%/)){t="percentage";a+=Ct("number:number",null,{"number:decimal-places":f[2]&&f.length-1||0,"number:min-decimal-places":f[2]&&f.length-1||0,"number:min-integer-digits":f[1].length})+"%";break e}var l=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.slice(1).replace(/""/g,'"'))+"";break;case"/":a+=""+it(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!l)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.slice(1).replace(/""/g,'"'))+"";break;case"/":a+=""+it(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+it(i.replace(/""/g,'"'))+""}else{a+=""+it(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var c=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!c||!c[0])console.error("Could not find numeric part of "+e);else{var u=c[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(c[2]&&' number:decimal-places="'+(c[2].length-1)+'"'||' number:decimal-places="0"')+(c[3]&&c[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(c[3]?' number:min-exponent-digits="'+c[3].match(/0+/)[0].length+'"':"")+">"+"";s=c.index+c[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return Ct("number:"+t+"-style",a,n)}function kg(e,r,t){var a=e.filter(function(e){return e.Sheet==(t==-1?null:t)});if(!a.length)return"";return" \n"+a.map(function(e){var r=Zd(e.Ref);return" "+Ct("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.]?[^\.]*$/,".$A$1")})}).join("\n")+"\n \n"}var Tg=function(){var e=function(e){return it(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,s,f){var l=[];l.push(' \n');var o=0,c=0,u=Ba(a["!ref"]||"A1");var h=a["!merges"]||[],d=0;var v=a["!data"]!=null;if(a["!cols"]){for(c=0;c<=u.e.c;++c)l.push(" \n")}var p="",m=a["!rows"]||[];for(o=0;o\n")}for(;o<=u.e.r;++o){p=m[o]?' table:style-name="ro'+m[o].ods+'"':""; -l.push(" \n");for(c=0;cc)continue;if(h[d].s.r>o)continue;if(h[d].e.c\n")}if((n.Workbook||{}).Names)l.push(kg(n.Workbook.Names,n.SheetNames,i));l.push(" \n");return l.join("")};var n=function(e,r){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');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;var a=Ba(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var f=0;f<=a.e.c;++f){var l=t?(r["!data"][s]||[])[f]:r[Ua({r:s,c:f})];if(!l||!l.z||l.z.toLowerCase()=="general")continue;if(!n[l.z]){var o=wg(l.z,"N"+i);if(o){n[l.z]="N"+i;++i;e.push(o+"\n")}}}});e.push(' \n');fr(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function i(e,r){var t=[Gr];var i=At({"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=At({"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(bi().replace(//,"").replace(/<\/office:document-meta>/,"")+"\n")}else t.push("\n");var f=n(t,e);t.push(" \n");t.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)t.push(' \n \n \n');for(var l=0;l!=e.SheetNames.length;++l)t.push(a(e.Sheets[e.SheetNames[l]],e,l,r,f));if((e.Workbook||{}).Names)t.push(kg(e.Workbook.Names,e.SheetNames,-1));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function Eg(e,r){if(r.bookType=="fods")return Tg(e,r);var t=zr();var a="";var n=[];var i=[];a="mimetype";Hr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Hr(t,a,Tg(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Hr(t,a,gg(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Hr(t,a,Gr+bi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Hr(t,a,mi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Hr(t,a,di(n));return t}var yg=function(){try{if(typeof Uint8Array=="undefined")return"slice";if(typeof Uint8Array.prototype.subarray=="undefined")return"slice";if(typeof Buffer!=="undefined"){if(typeof Buffer.prototype.subarray=="undefined")return"slice";if((typeof Buffer.from=="function"?Buffer.from([72,62]):new Buffer([72,62]))instanceof Uint8Array)return"subarray";return"slice"}return"subarray"}catch(e){return"slice"}}();function Sg(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function _g(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):bt(I(e))}function xg(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):O(gt(e))}function Ag(e){var r=0;for(var t=0;t>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function Og(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 Rg(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-16;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function Ig(e,r){var t=r.l;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}r.l=t;return a}function Ng(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r[yg](0,t)}function Fg(e){var r={l:0};var t=[];while(r.l=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 Lg(e){var r=0,t=e[r]&127,a=0;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;a=e[r]>>4&7;if(e[r++]<128)break e;a|=(e[r]&127)<<3;if(e[r++]<128)break e;a|=(e[r]&127)<<10;if(e[r++]<128)break e;a|=(e[r]&127)<<17;if(e[r++]<128)break e;a|=(e[r]&127)<<24;if(e[r++]<128)break e;a|=(e[r]&127)<<31}return[t>>>0,a>>>0]}function Mg(e){var r=[],t={l:0};while(t.l=128);s=e[yg](t.l,f);t.l=f}break;case 1:{s=e[yg](f,f+8);t.l=f+8}break;case 2:{var l=Ig(e,t);s=e[yg](t.l,t.l+l);t.l+=l}break;case 5:{s=e[yg](f,f+4);t.l=f+4}break;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var o={data:s,type:i};if(r[n]==null)r[n]=[];r[n].push(o)}return r}function Ug(e){var r=[];e.forEach(function(e,t){if(t==0)return;e.forEach(function(e){if(!e.data)return;r.push(Ng(t*8+e.type));if(e.type==2)r.push(Ng(e.data.length));r.push(e.data)})});return Ag(r)}function Bg(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function Wg(e){var r;var t=[],a={l:0};while(a.l>>0>0;t.push(s)}return t}function Hg(e){var r=[];e.forEach(function(e){var t=[[],[{data:Ng(e.id),type:0}],[]];if(e.merge!=null)t[3]=[{data:Ng(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:Ng(e.data.length)}];t[2].push({data:Ug(e.meta),type:2})});var n=Ug(t);r.push(Ng(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return Ag(r)}function zg(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t={l:0};var a=Ig(r,t);var n=[];var i=t.l;while(i>2;if(f<60)++f;else{var l=f-59;f=r[i];if(l>1)f|=r[i+1]<<8;if(l>2)f|=r[i+2]<<16;if(l>3)f|=r[i+3]<<24;f>>>=0;f++;i+=l}n.push(r[yg](i,i+f));i+=f;continue}else{var o=0,c=0;if(s==1){c=(r[i]>>2&7)+4;o=(r[i++]&224)<<3;o|=r[i++]}else{c=(r[i++]>>2)+1;if(s==2){o=r[i]|r[i+1]<<8;i+=2}else{o=(r[i]|r[i+1]<<8|r[i+2]<<16|r[i+3]<<24)>>>0;i+=4}}if(o==0)throw new Error("Invalid offset 0");var u=n.length-1,h=o;while(u>=0&&h>=n[u].length){h-=n[u].length;--u}if(u<0){if(h==0)h=n[u=0].length;else throw new Error("Invalid offset beyond length")}if(c0){n.push(n[u][yg](n[u].length-h));c-=h}++u;while(c>=n[u].length){n.push(n[u]);c-=n[u].length;++u}if(c)n.push(n[u][yg](0,c))}if(n.length>25)n=[Ag(n)]}}var d=0;for(var v=0;v>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e[yg](t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return Ag(r)}var Gg=function(){return{sst:[],rsst:[],ofmt:[],nfmt:[]}};function jg(e,r,t,a,n){var i,s,f,l;var o=r&255,c=r>>8;var u=c>=5?n:a;e:if(t&(c>4?8:4)&&e.t=="n"&&o==7){var h=((i=u[7])==null?void 0:i[0])?Pg(u[7][0].data):-1;if(h==-1)break e;var d=((s=u[15])==null?void 0:s[0])?Pg(u[15][0].data):-1;var v=((f=u[16])==null?void 0:f[0])?Pg(u[16][0].data):-1;var p=((l=u[40])==null?void 0:l[0])?Pg(u[40][0].data):-1;var m=e.v,b=m;r:if(p){if(m==0){d=v=2;break r}if(m>=604800)d=1;else if(m>=86400)d=2;else if(m>=3600)d=4;else if(m>=60)d=8;else if(m>=1)d=16;else d=32;if(Math.floor(m)!=m)v=32;else if(m%60)v=16;else if(m%3600)v=8;else if(m%86400)v=4;else if(m%604800)v=2;if(v=2){b=m/86400;if(v>2){b|=0;m-=86400*b}w.push('d"d"');g.push(b+(h==2?" day"+(b==1?"":"s"):h==1?"d":""))}if(d<=4&&v>=4){b=m/3600;if(v>4){b|=0;m-=3600*b}w.push((d>=4?"[h]":"h")+'"h"');g.push(b+(h==2?" hour"+(b==1?"":"s"):h==1?"h":""))}if(d<=8&&v>=8){b=m/60;if(v>8){b|=0;m-=60*b}w.push((d>=8?"[m]":"m")+'"m"');if(h==0)g.push((d==8&&v==8||b>=10?"":"0")+b);else g.push(b+(h==2?" minute"+(b==1?"":"s"):h==1?"m":""))}if(d<=16&&v>=16){b=m;if(v>16){b|=0;m-=b}w.push((d>=16?"[s]":"s")+'"s"');if(h==0)g.push((v==16&&d==16||b>=10?"":"0")+b);else g.push(b+(h==2?" second"+(b==1?"":"s"):h==1?"s":""))}if(v>=32){b=Math.round(1e3*m);if(d<32)w.push('.000"ms"');if(h==0)g.push((b>=100?"":b>=10?"0":"00")+b);else g.push(b+(h==2?" millisecond"+(b==1?"":"s"):h==1?"ms":""))}e.w=g.join(h==0?":":" ");e.z=w.join(h==0?'":"':" ");if(h==0)e.w=e.w.replace(/:(\d\d\d)$/,".$1")}}function Xg(e,r,t){var a=Sg(e);var n=a.getUint32(4,true);var i=-1,s=-1,f=-1,l=NaN,o=new Date(2001,0,1);var c=t>1?12:8;if(n&2){f=a.getUint32(c,true);c+=4}c+=Cg(n&(t>1?3468:396))*4;if(n&512){i=a.getUint32(c,true);c+=4}c+=Cg(n&(t>1?12288:4096))*4;if(n&16){s=a.getUint32(c,true);c+=4}if(n&32){l=a.getFloat64(c,true);c+=8}if(n&64){o.setTime(o.getTime()+a.getFloat64(c,true)*1e3);c+=8}if(t>1){n=a.getUint32(8,true)>>>16;if(n&255){if(f==-1)f=a.getUint32(c,true);c+=4}}var u;var h=e[t>=4?1:2];switch(h){case 0:return void 0;case 2:u={t:"n",v:l};break;case 3:u={t:"s",v:r.sst[s]};break;case 5:u={t:"d",v:o};break;case 6:u={t:"b",v:l>0};break;case 7:u={t:"n",v:l};break;case 8:u={t:"e",v:0};break;case 9:{if(i>-1)u={t:"s",v:r.rsst[i]};else throw new Error("Unsupported cell type ".concat(e[yg](0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e[yg](0,4)));}if(f>-1)jg(u,h|t<<8,n,r.ofmt[f],r.nfmt[f]);if(h==7)u.v/=86400;return u}function Yg(e,r){var t=Sg(e);var a=t.getUint32(4,true);var n=t.getUint32(8,true);var i=12;var s=-1,f=-1,l=-1,o=NaN,c=NaN,u=new Date(2001,0,1);if(n&1){o=Og(e,i);i+=16}if(n&2){c=t.getFloat64(i,true);i+=8}if(n&4){u.setTime(u.getTime()+t.getFloat64(i,true)*1e3);i+=8}if(n&8){f=t.getUint32(i,true);i+=4}if(n&16){s=t.getUint32(i,true);i+=4}var h;var d=e[1];switch(d){case 0:return void 0;case 2:h={t:"n",v:o};break;case 3:h={t:"s",v:r.sst[f]};break;case 5:h={t:"d",v:u};break;case 6:h={t:"b",v:c>0};break;case 7:h={t:"n",v:c};break;case 8:h={t:"e",v:0};break;case 9:h={t:"s",v:r.rsst[s]};break;case 10:h={t:"n",v:o};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e[yg](0,4)));}i+=Cg(n&8160)*4;if(n&516096){if(l==-1)l=t.getUint32(i,true);i+=4}if(l>-1)jg(h,d|5<<8,n>>13,r.ofmt[l],r.nfmt[l]);if(d==7)h.v/=86400;return h}function Kg(e,r){var t=new Uint8Array(32),a=Sg(t),n=12,i=0;t[0]=5;switch(e.t){case"n":t[1]=2;Rg(t,n,e.v);i|=1;n+=16;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":var s=e.v==null?"":String(e.v);var f=r.indexOf(s);if(f==-1)r[f=r.length]=s;t[1]=3;a.setUint32(n,f,true);i|=8;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[yg](0,n)}function Zg(e,r){var t=new Uint8Array(32),a=Sg(t),n=12,i=0;t[0]=4;switch(e.t){case"n":t[2]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[2]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":var s=e.v==null?"":String(e.v);var f=r.indexOf(s);if(f==-1)r[f=r.length]=s;t[2]=3;a.setUint32(n,f,true);i|=16;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[yg](0,n)}function Jg(e,r){switch(e[0]){case 0:;case 1:;case 2:;case 3:;case 4:return Xg(e,r,e[0]);case 5:return Yg(e,r);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function qg(e){var r=Mg(e);return Pg(r[1][0].data)}function Qg(e){return Ug([[],[{type:0,data:Ng(e)}]])}function ew(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Fg(e.messages[0].meta[5][0].data):[];var n=a.indexOf(r);if(n==-1){a.push(r);e.messages[0].meta[5]=[{type:2,data:Dg(a)}]}}function rw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Fg(e.messages[0].meta[5][0].data):[];e.messages[0].meta[5]=[{type:2,data:Dg(a.filter(function(e){return e!=r}))}]}function tw(e,r){var t=Mg(r.data);var a=Pg(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=Mg(r.data);if(!t[1])return;var n=Pg(t[1][0].data)>>>0;switch(a){case 1:i[n]=_g(t[3][0].data);break;case 8:{var s=e[qg(t[9][0].data)][0];var f=Mg(s.data);var l=e[qg(f[1][0].data)][0];var o=Pg(l.meta[1][0].data);if(o!=2001)throw new Error("2000 unexpected reference to ".concat(o));var c=Mg(l.data);i[n]=c[3].map(function(e){return _g(e.data)}).join("")}break;case 2:i[n]=Mg(t[6][0].data);break;default:throw a;}});return i}function aw(e,r){var t,a,n,i,s,f,l,o,c,u,h,d,v,p;var m=Mg(e);var b=Pg(m[1][0].data)>>>0;var g=Pg(m[2][0].data)>>>0;var w=((a=(t=m[8])==null?void 0:t[0])==null?void 0:a.data)&&Pg(m[8][0].data)>0||false;var k,T;if(((i=(n=m[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=m[7])==null?void 0:s[0])==null?void 0:f.data;T=(o=(l=m[6])==null?void 0:l[0])==null?void 0:o.data}else if(((u=(c=m[4])==null?void 0:c[0])==null?void 0:u.data)&&r!=1){k=(d=(h=m[4])==null?void 0:h[0])==null?void 0:d.data;T=(p=(v=m[3])==null?void 0:v[0])==null?void 0:p.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var E=w?4:1;var y=Sg(k);var S=[];for(var _=0;_=1)A[S[S.length-1][0]]=T[yg](S[S.length-1][1]*E);return{R:b,cells:A}}function nw(e,r){var t;var a=Mg(r.data);var n=-1;if((t=a==null?void 0:a[7])==null?void 0:t[0]){if(Pg(a[7][0].data)>>>0)n=1;else n=0}var i=Bg(a[5],function(e){return aw(e,n)});return{nrows:Pg(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function iw(e,r,t){var a,n,i,s,f,l;var o=Mg(r.data);var c={s:{r:0,c:0},e:{r:0,c:0}};c.e.r=(Pg(o[6][0].data)>>>0)-1;if(c.e.r<0)throw new Error("Invalid row varint ".concat(o[6][0].data));c.e.c=(Pg(o[7][0].data)>>>0)-1;if(c.e.c<0)throw new Error("Invalid col varint ".concat(o[7][0].data));t["!ref"]=Wa(c);var u=t["!data"]!=null,h=t;var d=Mg(o[4][0].data);var v=Gg();if((a=d[4])==null?void 0:a[0])v.sst=tw(e,e[qg(d[4][0].data)][0]);if((n=d[11])==null?void 0:n[0])v.ofmt=tw(e,e[qg(d[11][0].data)][0]);if((i=d[17])==null?void 0:i[0])v.rsst=tw(e,e[qg(d[17][0].data)][0]);if((s=d[22])==null?void 0:s[0])v.nfmt=tw(e,e[qg(d[22][0].data)][0]);var p=Mg(d[3][0].data);var m=0;p[1].forEach(function(r){var a=Mg(r.data);var n=e[qg(a[2][0].data)][0];var i=Pg(n.meta[1][0].data);if(i!=6002)throw new Error("6001 unexpected reference to ".concat(i));var s=nw(e,n);s.data.forEach(function(e,r){e.forEach(function(e,a){var n=Jg(e,v);if(n){if(u){if(!h["!data"][m+r])h["!data"][m+r]=[];h["!data"][m+r][a]=n}else{t[Fa(a)+Oa(m+r)]=n}}})});m+=s.nrows});if((f=d[13])==null?void 0:f[0]){var b=e[qg(d[13][0].data)][0];var g=Pg(b.meta[1][0].data);if(g!=6144)throw new Error("Expected merge type 6144, found ".concat(g));t["!merges"]=(l=Mg(b.data))==null?void 0:l[1].map(function(e){var r=Mg(e.data);var t=Sg(Mg(r[1][0].data)[1][0].data),a=Sg(Mg(r[2][0].data)[1][0].data);return{s:{r:t.getUint16(0,true),c:t.getUint16(2,true)},e:{r:t.getUint16(0,true)+a.getUint16(0,true)-1,c:t.getUint16(2,true)+a.getUint16(2,true)-1}}})}}function sw(e,r,t){var a=Mg(r.data);var n={"!ref":"A1"};if(t==null?void 0:t.dense)n["!data"]=[];var i=e[qg(a[2][0].data)];var s=Pg(i[0].meta[1][0].data);if(s!=6001)throw new Error("6000 unexpected reference to ".concat(s));iw(e,i[0],n);return n}function fw(e,r,t){var a;var n=Mg(r.data);var i={name:((a=n[1])==null?void 0:a[0])?_g(n[1][0].data):"",sheets:[]};var s=Bg(n[2],qg);s.forEach(function(r){e[r].forEach(function(r){var a=Pg(r.meta[1][0].data);if(a==6e3)i.sheets.push(sw(e,r,t))})});return i}function lw(e,r,t){var a;var n=vk();var i=Mg(r.data);if((a=i[2])==null?void 0:a[0])throw new Error("Keynote presentations are not supported");var s=Bg(i[1],qg);s.forEach(function(r){e[r].forEach(function(r){var a=Pg(r.meta[1][0].data);if(a==2){var i=fw(e,r,t);i.sheets.forEach(function(e,r){pk(n,e,r==0?i.name:i.name+"_"+r,true)})}})});if(n.SheetNames.length==0)throw new Error("Empty NUMBERS file");n.bookType="numbers";return n}function ow(e,r){var t,a,n,i,s,f,l;var o={},c=[];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;if(e.content[0]!=0)return;var r;try{r=Vg(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=Wg(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){o[e.id]=e.messages;c.push(e.id)})});if(!c.length)throw new Error("File has no messages");if(((n=(a=(t=o==null?void 0:o[1])==null?void 0:t[0].meta)==null?void 0:a[1])==null?void 0:n[0].data)&&Pg(o[1][0].meta[1][0].data)==1e4)throw new Error("Pages documents are not supported");var u=((l=(f=(s=(i=o==null?void 0:o[1])==null?void 0:i[0])==null?void 0:s.meta)==null?void 0:f[1])==null?void 0:l[0].data)&&Pg(o[1][0].meta[1][0].data)==1&&o[1][0];if(!u)c.forEach(function(e){o[e].forEach(function(e){var r=Pg(e.meta[1][0].data)>>>0;if(r==1){if(!u)u=e;else throw new Error("Document has multiple roots")}})});if(!u)throw new Error("Cannot find Document root");return lw(o,u,r)}function cw(e,r,t){var a,n;var i=[[],[{type:0,data:Ng(0)}],[{type:0,data:Ng(0)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:Ng(5)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:Ng(1)}]];if(!((a=i[6])==null?void 0:a[0])||!((n=i[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var s=0;if(i[7][0].data.length<2*e.length){var f=new Uint8Array(2*e.length);f.set(i[7][0].data);i[7][0].data=f}if(i[4][0].data.length<2*e.length){var l=new Uint8Array(2*e.length);l.set(i[4][0].data);i[4][0].data=l}var o=Sg(i[7][0].data),c=0,u=[];var h=Sg(i[4][0].data),d=0,v=[];var p=t?4:1;for(var m=0;m1)throw new Error("Template NUMBERS file must have exactly one sheet");e.SheetNames.forEach(function(r,s){if(s>=1){bw(t,a,s+1);n=mw(t,a,1);i=Bg(Mg(n.messages[0].data)[1],qg)}gw(t,a,e.Sheets[r],r,s,i[s])});return t}function pw(e,r,t,a){var n=rr.find(e,r[t].location);if(!n)throw"Could not find ".concat(r[t].location," in Numbers template");var i=Wg(Vg(n.content));var s=i.find(function(e){return e.id==t});a(s,i);n.content=$g(Hg(i));n.size=n.content.length}function mw(e,r,t){var a=rr.find(e,r[t].location);if(!a)throw"Could not find ".concat(r[t].location," in Numbers template");var n=Wg(Vg(a.content));var i=n.find(function(e){return e.id==t});return i}function bw(e,r,t){var a=-1,n=-1;var i={};pw(e,r,1,function(t,s){var f=Mg(t.messages[0].data);a=qg(Mg(t.messages[0].data)[1][0].data);n=hw({deps:[1],location:r[a].location,type:2},r);i[a]=n;ew(t,n);f[1].push({type:2,data:Qg(n)});var l=mw(e,r,a);l.id=n;if(r[1].location==r[n].location)s.push(l);else pw(e,r,n,function(e,r){return r.push(l)});t.messages[0].data=Ug(f)});var s=-1;pw(e,r,n,function(t,a){var f=Mg(t.messages[0].data);for(var l=3;l<=69;++l)delete f[l];var o=Bg(f[2],qg);o.forEach(function(e){return rw(t,e)});s=hw({deps:[n],location:r[o[0]].location,type:r[o[0]].type},r);ew(t,s);i[o[0]]=s;f[2]=[{type:2,data:Qg(s)}];var c=mw(e,r,o[0]);c.id=s;if(r[o[0]].location==r[n].location)a.push(c);else{var u=r[n].location;u=u.replace(/^Root Entry\//,"");u=u.replace(/^Index\//,"").replace(/\.iwa$/,"");pw(e,r,2,function(e){var r=Mg(e.messages[0].data);var t=r[3].findIndex(function(e){var r,t;var a=Mg(e.data);if((r=a[3])==null?void 0:r[0])return _g(a[3][0].data)==u;if(((t=a[2])==null?void 0:t[0])&&_g(a[2][0].data)==u)return true;return false});var a=Mg(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ug([[],[{type:0,data:Ng(s)}]])});r[3][t].data=Ug(a);e.messages[0].data=Ug(r)});pw(e,r,s,function(e,r){return r.push(c)})}t.messages[0].data=Ug(f)});var f=-1;pw(e,r,s,function(t,a){var n=Mg(t.messages[0].data);var l=Mg(n[1][0].data);for(var o=3;o<=69;++o)delete l[o];var c=qg(l[2][0].data);l[2][0].data=Qg(i[c]);n[1][0].data=Ug(l);var u=qg(n[2][0].data);rw(t,u);f=hw({deps:[s],location:r[u].location,type:r[u].type},r);ew(t,f);i[u]=f;n[2][0].data=Qg(f);var h=mw(e,r,u);h.id=f;if(r[s].location==r[f].location)a.push(h);else pw(e,r,f,function(e,r){return r.push(h)});t.messages[0].data=Ug(n)});var l=r[f].location;l=l.replace(/^Root Entry\//,"");l=l.replace(/^Index\//,"").replace(/\.iwa$/,"");pw(e,r,f,function(a,n){var s,o;var c=Mg(a.messages[0].data);var u=_g(c[1][0].data),h=u.replace(/-[A-Z0-9]*/,"-".concat(t.toString(16).padStart(4,"0")));c[1][0].data=xg(h);[12,13,29,31,32,33,39,44,47,81,82,84].forEach(function(e){return delete c[e]});if(c[45]){var d=Mg(c[45][0].data);var v=qg(d[1][0].data);rw(a,v);delete c[45]}if(c[70]){var p=Mg(c[70][0].data);(s=p[2])==null?void 0:s.forEach(function(e){var r=Mg(e.data);[2,3].map(function(e){return r[e][0]}).forEach(function(e){var r=Mg(e.data);if(!r[8])return;var t=qg(r[8][0].data);rw(a,t)})});delete c[70]}[46,30,34,35,36,38,48,49,60,61,62,63,64,71,72,73,74,75,85,86,87,88,89].forEach(function(e){if(!c[e])return;var r=qg(c[e][0].data);delete c[e];rw(a,r)});var m=Mg(c[4][0].data);{[2,4,5,6,11,12,13,15,16,17,18,19,20,21,22].forEach(function(t){var s;if(!((s=m[t])==null?void 0:s[0]))return;var o=qg(m[t][0].data);var c=hw({deps:[f],location:r[o].location,type:r[o].type},r);rw(a,o);ew(a,c);i[o]=c;var u=mw(e,r,o);u.id=c;if(r[o].location==r[f].location)n.push(u);else{r[c].location=r[o].location.replace(o.toString(),c.toString());if(r[c].location==r[o].location)r[c].location=r[c].location.replace(/\.iwa/,"-".concat(c,".iwa"));rr.utils.cfb_add(e,r[c].location,$g(Hg([u])));var h=r[c].location;h=h.replace(/^Root Entry\//,"");h=h.replace(/^Index\//,"").replace(/\.iwa$/,"");pw(e,r,2,function(e){var r=Mg(e.messages[0].data);r[3].push({type:2,data:Ug([[],[{type:0,data:Ng(c)}],[{type:2,data:xg(h.replace(/-.*$/,""))}],[{type:2,data:xg(h)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:Ng(0)}],[],[{type:0,data:Ng(0)}]])});r[1]=[{type:0,data:Ng(Math.max(c+1,Pg(r[1][0].data)))}];var t=r[3].findIndex(function(e){var r,t;var a=Mg(e.data);if((r=a[3])==null?void 0:r[0])return _g(a[3][0].data)==l;if(((t=a[2])==null?void 0:t[0])&&_g(a[2][0].data)==l)return true;return false});var a=Mg(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ug([[],[{type:0,data:Ng(c)}]])});r[3][t].data=Ug(a);e.messages[0].data=Ug(r)})}m[t][0].data=Qg(c)});var b=Mg(m[1][0].data);{(o=b[2])==null?void 0:o.forEach(function(t){var s=qg(t.data);var o=hw({deps:[f],location:r[s].location,type:r[s].type},r);rw(a,s);ew(a,o);i[s]=o;var c=mw(e,r,s);c.id=o;if(r[s].location==r[f].location){n.push(c)}else{r[o].location=r[s].location.replace(s.toString(),o.toString());if(r[o].location==r[s].location)r[o].location=r[o].location.replace(/\.iwa/,"-".concat(o,".iwa"));rr.utils.cfb_add(e,r[o].location,$g(Hg([c]))); -var u=r[o].location;u=u.replace(/^Root Entry\//,"");u=u.replace(/^Index\//,"").replace(/\.iwa$/,"");pw(e,r,2,function(e){var r=Mg(e.messages[0].data);r[3].push({type:2,data:Ug([[],[{type:0,data:Ng(o)}],[{type:2,data:xg(u.replace(/-.*$/,""))}],[{type:2,data:xg(u)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:Ng(0)}],[],[{type:0,data:Ng(0)}]])});r[1]=[{type:0,data:Ng(Math.max(o+1,Pg(r[1][0].data)))}];var t=r[3].findIndex(function(e){var r,t;var a=Mg(e.data);if((r=a[3])==null?void 0:r[0])return _g(a[3][0].data)==l;if(((t=a[2])==null?void 0:t[0])&&_g(a[2][0].data)==l)return true;return false});var a=Mg(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ug([[],[{type:0,data:Ng(o)}]])});r[3][t].data=Ug(a);e.messages[0].data=Ug(r)})}t.data=Qg(o)})}m[1][0].data=Ug(b);var g=Mg(m[3][0].data);{g[1].forEach(function(t){var n=Mg(t.data);var s=qg(n[2][0].data);var o=i[s];if(!i[s]){o=hw({deps:[f],location:"",type:r[s].type},r);r[o].location="Root Entry/Index/Tables/Tile-".concat(o,".iwa");i[s]=o;var c=mw(e,r,s);c.id=o;rw(a,s);ew(a,o);rr.utils.cfb_add(e,"/Index/Tables/Tile-".concat(o,".iwa"),$g(Hg([c])));pw(e,r,2,function(e){var r=Mg(e.messages[0].data);r[3].push({type:2,data:Ug([[],[{type:0,data:Ng(o)}],[{type:2,data:xg("Tables/Tile")}],[{type:2,data:xg("Tables/Tile-".concat(o))}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:Ng(0)}],[],[{type:0,data:Ng(0)}]])});r[1]=[{type:0,data:Ng(Math.max(o+1,Pg(r[1][0].data)))}];var t=r[3].findIndex(function(e){var r,t;var a=Mg(e.data);if((r=a[3])==null?void 0:r[0])return _g(a[3][0].data)==l;if(((t=a[2])==null?void 0:t[0])&&_g(a[2][0].data)==l)return true;return false});var a=Mg(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ug([[],[{type:0,data:Ng(o)}]])});r[3][t].data=Ug(a);e.messages[0].data=Ug(r)})}n[2][0].data=Qg(o);t.data=Ug(n)})}m[3][0].data=Ug(g)}c[4][0].data=Ug(m);a.messages[0].data=Ug(c)})}function gw(e,r,t,a,n,i){var s=[];pw(e,r,i,function(e){var r=Mg(e.messages[0].data);{r[1]=[{type:2,data:xg(a)}];s=Bg(r[2],qg)}e.messages[0].data=Ug(r)});var f=mw(e,r,s[0]);var l=qg(Mg(f.messages[0].data)[2][0].data);pw(e,r,l,function(a,n){return kw(e,r,t,a,n,l)})}var ww=true;function kw(e,r,t,a,n,i){var s=Ba(t["!ref"]);s.s.r=s.s.c=0;var f=false;if(s.e.c>999){f=true;s.e.c=999}if(s.e.r>999999){f=true;s.e.r=999999}if(f)console.error("Truncating to ".concat(Wa(s)));var l=nk(t,{range:s,header:1});var o=["~Sh33tJ5~"];var c=r[i].location;c=c.replace(/^Root Entry\//,"");c=c.replace(/^Index\//,"").replace(/\.iwa$/,"");var u=Mg(a.messages[0].data);{u[6][0].data=Ng(s.e.r+1);u[7][0].data=Ng(s.e.c+1);delete u[46];var h=Mg(u[4][0].data);{var d=qg(Mg(h[1][0].data)[2][0].data);pw(e,r,d,function(e,r){var t;var a=Mg(e.messages[0].data);if((t=a==null?void 0:a[2])==null?void 0:t[0])for(var n=0;n-1)return"sheet";if(si.CS&&e==si.CS)return"chart";if(si.DS&&e==si.DS)return"dialog";if(si.MS&&e==si.MS)return"macro";return e&&e.length?e:"sheet"}function _w(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,Sw(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function xw(e,r,t,a,n,i,s,f,l,o,c,u){try{i[a]=li(Ur(e,t,true),r);var h=Mr(e,r);var d;switch(f){case"sheet":d=Wm(h,r,n,l,i[a],o,c,u);break;case"chart":d=Hm(h,r,n,l,i[a],o,c,u);if(!d||!d["!drawel"])break;var v=$r(d["!drawel"].Target,r);var p=fi(v);var m=du(Ur(e,v,true),li(Ur(e,p,true),v));var b=$r(m,v);var g=fi(b);d=nm(Ur(e,b,true),b,l,li(Ur(e,g,true),b),o,d);break;case"macro":d=zm(h,r,n,l,i[a],o,c,u);break;case"dialog":d=Vm(h,r,n,l,i[a],o,c,u);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[],k=[];if(i&&i[a])fr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==si.CMNT){n=$r(i[a][t].Target,r);w=jm(Mr(e,n,true),n,l);if(!w||!w.length)return;mu(d,w,false)}if(i[a][t].Type==si.TCMNT){n=$r(i[a][t].Target,r);k=k.concat(wu(Mr(e,n,true),l))}});if(k&&k.length)mu(d,k,true,l.people||[])}catch(T){if(l.WTF)throw T}}function Aw(e){return e.charAt(0)=="/"?e.slice(1):e}function Cw(e,r){je();r=r||{};Ew(r);if(Pr(e,"META-INF/manifest.xml"))return mg(e,r);if(Pr(e,"objectdata.xml"))return mg(e,r);if(Pr(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof ow!="undefined"){if(e.FileIndex)return ow(e,r);var t=rr.utils.cfb_new();Wr(e).forEach(function(r){Hr(t,r,Br(e,r))});return ow(t,r)}throw new Error("Unsupported NUMBERS file")}if(!Pr(e,"[Content_Types].xml")){if(Pr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Pr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=rr.find(e,"Index.zip");if(a){r=Sr(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return Ww(new Uint8Array(a.content),r);return Ww(a.content,r)}throw new Error("Unsupported ZIP file")}var n=Wr(e);var i=ni(Ur(e,"[Content_Types].xml"));var s=false;var f,l;if(i.workbooks.length===0){l="xl/workbook.xml";if(Mr(e,l,true))i.workbooks.push(l)}if(i.workbooks.length===0){l="xl/workbook.bin";if(!Mr(e,l,true))throw new Error("Could not find workbook");i.workbooks.push(l);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var o={};var c={};if(!r.bookSheets&&!r.bookProps){Jd=[];if(i.sst)try{Jd=Gm(Mr(e,Aw(i.sst)),i.sst,r)}catch(u){if(r.WTF)throw u}if(r.cellStyles&&i.themes.length)o=Hc(Ur(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)c=$m(Mr(e,Aw(i.style)),i.style,o,r)}i.links.map(function(t){try{var a=li(Ur(e,fi(Aw(t))),t);return Ym(Mr(e,Aw(t)),a,t,r)}catch(n){}});var h=Bm(Mr(e,Aw(i.workbooks[0])),i.workbooks[0],r);var d={},v="";if(i.coreprops.length){v=Mr(e,Aw(i.coreprops[0]),true);if(v)d=ki(v);if(i.extprops.length!==0){v=Mr(e,Aw(i.extprops[0]),true);if(v)xi(v,d,r)}}var p={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){v=Ur(e,Aw(i.custprops[0]),true);if(v)p=Oi(v,r)}}var m={};if(r.bookSheets||r.bookProps){if(h.Sheets)f=h.Sheets.map(function N(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)f=d.SheetNames;if(r.bookProps){m.Props=d;m.Custprops=p}if(r.bookSheets&&typeof f!=="undefined")m.SheetNames=f;if(r.bookSheets?m.SheetNames:r.bookProps)return m}f={};var b={};if(r.bookDeps&&i.calcchain)b=Xm(Mr(e,Aw(i.calcchain)),i.calcchain,r);var g=0;var w={};var k,T;{var E=h.Sheets;d.Worksheets=E.length;d.SheetNames=[];for(var y=0;y!=E.length;++y){d.SheetNames[y]=E[y].name}}var S=s?"bin":"xml";var _=i.workbooks[0].lastIndexOf("/");var x=(i.workbooks[0].slice(0,_+1)+"_rels/"+i.workbooks[0].slice(_+1)+".rels").replace(/^\//,"");if(!Pr(e,x))x="xl/_rels/workbook."+S+".rels";var A=li(Ur(e,x,true),x.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=Km(Mr(e,Aw(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=Tu(Mr(e,Aw(i.people[0])),r)}if(A)A=_w(A,h.Sheets);var C=Mr(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(g=0;g!=d.Worksheets;++g){var O="sheet";if(A&&A[g]){k="xl/"+A[g][1].replace(/[\/]?xl\//,"");if(!Pr(e,k))k=A[g][1];if(!Pr(e,k))k=x.replace(/_rels\/.*$/,"")+A[g][1];O=A[g][2]}else{k="xl/worksheets/sheet"+(g+1-C)+"."+S;k=k.replace(/sheet0\./,"sheet.")}T=k.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(d.SheetNames[g].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var R=false;for(var I=0;I!=r.sheets.length;++I){if(typeof r.sheets[I]=="number"&&r.sheets[I]==g)R=1;if(typeof r.sheets[I]=="string"&&r.sheets[I].toLowerCase()==d.SheetNames[g].toLowerCase())R=1}if(!R)continue e};}xw(e,k,T,d.SheetNames[g],g,w,f,O,r,h,o,c)}m={Directory:i,Workbook:h,Props:d,Custprops:p,Deps:b,Sheets:f,SheetNames:d.SheetNames,Strings:Jd,Styles:c,Themes:o,SSF:Sr(J)};if(r&&r.bookFiles){if(e.files){m.keys=n;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(i.vba.length>0)m.vbaraw=Mr(e,Aw(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===Ou)m.vbaraw=Mr(e,"xl/vbaProject.bin",true)}m.bookType=s?"xlsb":"xlsx";return m}function Ow(e,r){var t=r||{};var a="Workbook",n=rr.find(e,a);try{a="/!DataSpaces/Version";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);to(n.content);a="/!DataSpaces/DataSpaceMap";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=no(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=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=io(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);fo(n.content)}catch(f){}a="/EncryptionInfo";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=co(n.content);a="/EncryptedPackage";n=rr.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 Rw(e,r){if(e&&!e.SSF){e.SSF=Sr(J)}if(e&&e.SSF){je();Ge(e.SSF);r.revssf=cr(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(Qd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=ai();yw(r=r||{});var i=zr();var s="",f=0;r.cellXfs=[];av(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Hr(i,s,Ei(e.Props,r));n.coreprops.push(s);ci(r.rels,2,s,si.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";Hr(i,s,Ri(e.Custprops,r));n.custprops.push(s);ci(r.rels,4,s,si.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;Hr(i,s,tm(f-1,r,e,c));n.sheets.push(s);ci(r.wbrels,-1,"worksheets/sheet"+f+"."+t,si.WS[0]);}if(u){var d=u["!comments"];var v=false;var p="";if(d&&d.length>0){p="xl/comments"+f+"."+t;Hr(i,p,Cu(d,r));n.comments.push(p);ci(c,-1,"../comments"+f+"."+t,si.CMNT);v=true}if(u["!legacy"]){if(v)Hr(i,"xl/drawings/vmlDrawing"+f+".vml",vu(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(c["!id"].rId1)Hr(i,fi(s),oi(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Hr(i,s,Ql(r.Strings,r));n.strs.push(s);ci(r.wbrels,-1,"sharedStrings."+t,si.SST)}s="xl/workbook."+t;Hr(i,s,Um(e,r));n.workbooks.push(s);ci(r.rels,1,s,si.WB);s="xl/theme/theme1.xml";var m=zc(e.Themes,r);Hr(i,s,m);n.themes.push(s);ci(r.wbrels,-1,"theme/theme1.xml",si.THEME);s="xl/styles."+t;Hr(i,s,Ic(e,r));n.styles.push(s);ci(r.wbrels,-1,"styles."+t,si.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Hr(i,s,e.vbaraw);n.vba.push(s);ci(r.wbrels,-1,"vbaProject.bin",si.VBA)}s="xl/metadata."+t;Hr(i,s,iu());n.metadata.push(s);ci(r.wbrels,-1,"metadata."+t,si.XLMETA);Hr(i,"[Content_Types].xml",ii(n,r));Hr(i,"_rels/.rels",oi(r.rels));Hr(i,"xl/_rels/workbook."+t+".rels",oi(r.wbrels));delete r.revssf;delete r.ssf;return i}function Iw(e,r){if(e&&!e.SSF){e.SSF=Sr(J)}if(e&&e.SSF){je();Ge(e.SSF);r.revssf=cr(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(Qd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Nu.indexOf(r.bookType)>-1;var n=ai();yw(r=r||{});var i=zr();var s="",f=0;r.cellXfs=[];av(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Hr(i,s,Ei(e.Props,r));n.coreprops.push(s);ci(r.rels,2,s,si.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";Hr(i,s,Ri(e.Custprops,r));n.custprops.push(s);ci(r.rels,4,s,si.CUST_PROPS)}var c=["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;Hr(i,s,Uv(f-1,r,e,u));n.sheets.push(s);ci(r.wbrels,-1,"worksheets/sheet"+f+"."+t,si.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+".xml";Hr(i,m,ku(v,c,r));n.threadedcomments.push(m);ci(u,-1,"../threadedComments/threadedComment"+f+".xml",si.TCMNT)}m="xl/comments"+f+"."+t;Hr(i,m,gu(v,r));n.comments.push(m);ci(u,-1,"../comments"+f+"."+t,si.CMNT);p=true}if(h["!legacy"]){if(p)Hr(i,"xl/drawings/vmlDrawing"+f+".vml",vu(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)Hr(i,fi(s),oi(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Hr(i,s,Yl(r.Strings,r));n.strs.push(s);ci(r.wbrels,-1,"sharedStrings."+t,si.SST)}s="xl/workbook."+t;Hr(i,s,Em(e,r));n.workbooks.push(s);ci(r.rels,1,s,si.WB);s="xl/theme/theme1.xml";Hr(i,s,zc(e.Themes,r));n.themes.push(s);ci(r.wbrels,-1,"theme/theme1.xml",si.THEME);s="xl/styles."+t;Hr(i,s,nc(e,r));n.styles.push(s);ci(r.wbrels,-1,"styles."+t,si.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Hr(i,s,e.vbaraw);n.vba.push(s);ci(r.wbrels,-1,"vbaProject.bin",si.VBA)}s="xl/metadata."+t;Hr(i,s,fu());n.metadata.push(s);ci(r.wbrels,-1,"metadata."+t,si.XLMETA);if(c.length>1){s="xl/persons/person.xml";Hr(i,s,Eu(c,r));n.people.push(s);ci(r.wbrels,-1,"persons/person.xml",si.PEOPLE)}Hr(i,"[Content_Types].xml",ii(n,r));Hr(i,"_rels/.rels",oi(r.rels));Hr(i,"xl/_rels/workbook."+t+".rels",oi(r.wbrels));delete r.revssf;delete r.ssf;return i}function Nw(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=y(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 Fw(e,r){if(rr.find(e,"EncryptedPackage"))return Ow(e,r);return Nb(e,r)}function Dw(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=S&&Buffer.isBuffer(e)?"buffer":"base64";t=Vr(a,n);return Cw(t,n)}function Pw(e,r){var t=0;e:while(t=2&&i[3]===0)return Pl.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return Pl.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return Ol.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return xo(n,t);break;case 10:;case 13:;case 32:return Lw(n,t);case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Cl.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return Ol.to_workbook(n,t);return Bw(e,n,t,s)}function Hw(e,r){var t=r||{};t.type="file";return Ww(e,t)}function zw(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return ir(r.file,rr.write(e,{type:S?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return rr.write(e,r)}function Vw(e,r){switch(r.bookType){case"ods":return Eg(e,r);case"numbers":return vw(e,r);case"xlsb":return Rw(e,r);default:return Iw(e,r);}}function $w(e,r){var t=Sr(r||{});var a=Vw(e,t);return jw(a,t)}function Gw(e,r){var t=Sr(r||{});var a=Iw(e,t);return jw(a,t)}function jw(e,r){var t={};var a=S?"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?rr.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(R(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return zw(encrypt_agile(n,r.password),r);if(r.type==="file")return ir(r.file,n);return r.type=="string"?bt(n):n}function Xw(e,r){var t=r||{};var a=Fb(e,t);return zw(a,t)}function Yw(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return T(gt(a));case"binary":return gt(a);case"string":return e;case"file":return ir(r.file,a,"utf8");case"buffer":{if(S)return _(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Yw(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Kw(e,r){switch(r.type){case"base64":return E(e);case"binary":return e;case"string":return e;case"file":return ir(r.file,e,"binary");case"buffer":{if(S)return _(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Zw(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=Oa(l.s.r);var h=[];var d=[];var v=0,p=0;var m=e["!data"]!=null;var b=l.s.r,g=0;var w={};if(m&&!e["!data"][b])e["!data"][b]=[];var k=o.skipHidden&&e["!cols"]||[];var T=o.skipHidden&&e["!rows"]||[];for(g=l.s.c;g<=l.e.c;++g){if((k[g]||{}).hidden)continue;h[g]=Fa(g);t=m?e["!data"][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=Ga(t,null,o);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=l.s.r+n;b<=l.e.r;++b){if((T[b]||{}).hidden)continue;var E=ak(e,l,b,h,a,i,o);if(E.isempty===false||(a===1?o.blankrows!==false:!!o.blankrows))d[v++]=E.row}d.length=v;return d}var ik=/"/g;function sk(e,r,t,a,n,i,s,f){var l=true;var o=[],c="",u=Oa(t);var h=e["!data"]!=null;var d=h&&e["!data"][t]||[];for(var v=r.s.c;v<=r.e.c;++v){if(!a[v])continue;var p=h?d[v]:e[a[v]+u];if(p==null)c="";else if(p.v!=null){l=false;c=""+(f.rawNumbers&&p.t=="n"?p.v:Ga(p,null,f));for(var m=0,b=0;m!==c.length;++m)if((b=c.charCodeAt(m))===n||b===i||b===34||f.forceQuotes){c='"'+c.replace(ik,'""')+'"';break}if(c=="ID")c='"ID"'}else if(p.f!=null&&!p.F){l=false;c="="+p.f;if(c.indexOf(",")>=0)c='"'+c.replace(ik,'""')+'"'}else c="";o.push(c)}if(f.blankrows===false&&l)return null;return o.join(s)}function fk(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Va(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=[];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]=Fa(v);var p=0;for(var m=n.s.r;m<=n.e.r;++m){if((d[m]||{}).hidden)continue;c=sk(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)}return t.join("")}function lk(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=fk(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 ok(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Va(e["!ref"]),i="",s=[],f;var l=[]; -var o=e["!data"]!=null;for(f=n.s.c;f<=n.e.c;++f)s[f]=Fa(f);for(var c=n.s.r;c<=n.e.r;++c){i=Oa(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=o?(e["!data"][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 ck(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(g!=null&&n==null)n=g;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var f=0,l=0;if(s&&a.origin!=null){if(typeof a.origin=="number")f=a.origin;else{var o=typeof a.origin=="string"?Ma(a.origin):a.origin;f=o.r;l=o.c}}var c={s:{c:0,r:0},e:{c:l,r:f+r.length-1+i}};if(s["!ref"]){var u=Va(s["!ref"]);c.e.c=Math.max(c.e.c,u.e.c);c.e.r=Math.max(c.e.r,u.e.r);if(f==-1){f=u.e.r+1;c.e.r=f+r.length-1+i}}else{if(f==-1){f=0;c.e.r=r.length-1+i}}var h=a.header||[],d=0;var v=[];r.forEach(function(e,r){if(n&&!s["!data"][f+r+i])s["!data"][f+r+i]=[];if(n)v=s["!data"][f+r+i];fr(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var o=e[t];var c="z";var u="";var p=n?"":Fa(l+d)+Oa(f+r+i);var m=n?v[l+d]:s[p];if(o&&typeof o==="object"&&!(o instanceof Date)){if(n)v[l+d]=o;else s[p]=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=dr(o)}u=m!=null&&m.z&&Ue(m.z)?m.z:a.dateNF||J[14]}else if(o===null&&a.nullError){c="e";o=0}if(!m){if(!n)s[p]=m={t:c,v:o};else v[l+d]=m={t:c,v:o}}else{m.t=c;m.v=o;delete m.w;delete m.R;if(u)m.z=u}if(u)m.z=u}})});c.e.c=Math.max(c.e.c,l+h.length-1);var p=Oa(f);if(n&&!s["!data"][f])s["!data"][f]=[];if(i)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 vk(){return{SheetNames:[],Sheets:{}}}function pk(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}bm(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function mk(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=dk(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 bk(e,r){e.z=r;return e}function gk(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function wk(e,r,t){return gk(e,"#"+r,t)}function kk(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Tk(e,r,t,a){var n=typeof r!="string"?r:Va(r);var i=typeof r=="string"?r:Wa(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var l=hk(e,s,f);l.t="n";l.F=i;delete l.v;if(s==n.s.r&&f==n.s.c){l.f=t;if(a)l.D=true}}var o=Ba(e["!ref"]);if(o.s.r>n.s.r)o.s.r=n.s.r;if(o.s.c>n.s.c)o.s.c=n.s.c;if(o.e.rs.e.r){if(!l){l=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(tg(e,s,f,a));++f;break}};return t}function Ak(e,r){var t=yk({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=Va(u);break;case"number":o=Va(e["!ref"]);o.s.r=u;break;default:o=u;}if(n>0)i=0;var h=Oa(o.s.r);var d=[];var v=0;var p=e["!data"]!=null;var m=o.s.r,b=0;var g={};if(p&&!e["!data"][m])e["!data"][m]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((w[b]||{}).hidden)continue;d[b]=Fa(b);a=p?e["!data"][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=Ga(a,null,c);v=g[f]||0;if(!v)g[f]=1;else{do{l=f+"_"+v++}while(g[l]);g[f]=v;g[l]=1}s[b]=l;}}m=o.s.r+i;t._read=function(){while(m<=o.e.r){if((k[m-1]||{}).hidden)continue;var r=ak(e,o,m,d,n,s,c);++m;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var Ck={to_json:Ak,to_html:xk,to_csv:_k,set_readable:Sk};if(typeof Nb!=="undefined")e.parse_xlscfb=Nb;e.parse_zip=Cw;e.read=Ww;e.readFile=Hw;e.readFileSync=Hw;e.write=qw;e.writeFile=ek;e.writeFileSync=ek;e.writeFileAsync=tk;e.utils=Ek;e.writeXLSX=Jw;e.writeFileXLSX=rk;e.set_fs=ar;e.set_cptable=b;e.SSF=Xe;if(typeof Ck!=="undefined")e.stream=Ck;if(typeof rr!=="undefined")e.CFB=rr;if(typeof require!=="undefined"){var Ok=undefined;if((Ok||{}).Readable)Sk(Ok.Readable);try{tr=undefined}catch(Rk){}}}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.20.0";var r=1200,t=1252;var a;var n=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4];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(n.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[2*t]+(e[2*t+1]<<8));return r.join("")}function d(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 v=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 d(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function fT(e){return String.fromCharCode(e)};var m=function lT(e){return String.fromCharCode(e)};function b(e){a=e;l=function(e){r=e;s(e)};v=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};p=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};m=function i(e){return a.utils.decode(t,[e])[0]};fa()}var g=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function T(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e.charCodeAt(o++);s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function y(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o255)t=95;i=t>>2;a=e.charCodeAt(o++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);if(n>255)n=95;f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function E(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e[o++];s=(t&3)<<4|a>>4;n=e[o++];f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function _(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;e=e.replace(/^data:([^\/]+\/[^\/]+)?;base64\,/,"").replace(/[^\w\+\/\=]/g,"");for(var o=0;o>4;r+=String.fromCharCode(t);f=k.indexOf(e.charAt(o++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}l=k.indexOf(e.charAt(o++));n=(f&3)<<6|l;if(l!==64){r+=String.fromCharCode(n)}}return r}var S=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var x=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var A=function(){if(typeof Buffer==="undefined")return false;var e=x([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function C(e){if(S)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function R(e){if(S)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var O=function oT(e){if(S)return x(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function I(e){if(typeof ArrayBuffer==="undefined")return O(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 N(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=C(65535);a=65530}}r.push(n.slice(0,t));return P(r)}var M=/\u0000/g,U=/[\u0001-\u0006]/g;function B(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function W(e,r){var t=""+e;return t.length>=r?t:Tr("0",r-t.length)+t}function z(e,r){var t=""+e;return t.length>=r?t:Tr(" ",r-t.length)+t}function H(e,r){var t=""+e;return t.length>=r?t:t+Tr(" ",r-t.length)}function V(e,r){var t=""+Math.round(e);return t.length>=r?t:Tr("0",r-t.length)+t}function X(e,r){var t=""+e;return t.length>=r?t:Tr("0",r-t.length)+t}var G=Math.pow(2,32);function j(e,r){if(e>G||e<-G)return V(e,r);var t=Math.round(e);return X(t,r)}function K(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 Y=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var Z=[["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 J(e){if(!e)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"秒 "';return e}var q={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var Q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var ee={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 re(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 te(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=oe(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}function ae(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function ne(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function ie(e){var r=e<0?12:11;var t=ae(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function se(e){var r=ae(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function fe(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=ie(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=se(e);return ae(ne(t.toUpperCase()))}function le(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):fe(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return We(14,hr(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function oe(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function ce(e,r,t,a){var n="",i=0,s=0,f=t.y,l,o=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:l=f%100;o=2;break;default:l=f%1e4;o=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;o=r.length;break;case 3:return Z[t.m-1][1];case 5:return Z[t.m-1][0];default:return Z[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;o=r.length;break;case 3:return Y[t.q][0];default:return Y[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 W(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=W(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.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=f;o=1;break;}var c=o>0?W(l,o):"";return c}function ue(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 he=/%/g;function de(e,r,t){var a=r.replace(he,""),n=r.length-a.length;return Ne(e,a,t*Math.pow(10,2*n))+Tr("%",n)}function ve(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Ne(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function pe(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"-"+pe(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 me=/# (\?+)( ?)\/( ?)(\d+)/;function be(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?Tr(" ",e[1].length+1+e[4].length):z(s,e[1].length)+e[2]+"/"+e[3]+W(f,e[4].length))}function ge(e,r,t){return t+(r===0?"":""+r)+Tr(" ",e[1].length+2+e[4].length)}var we=/^#*0*\.([0#]+)/;var ke=/\).*[0#]/;var Te=/\(###\) ###\\?-####/;function ye(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 Ee(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function _e(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 Se(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function xe(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function Ae(e,r,t){if(e.charCodeAt(0)===40&&!r.match(ke)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Ae("n",a,t);return"("+Ae("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return ve(e,r,t);if(r.indexOf("%")!==-1)return de(e,r,t);if(r.indexOf("E")!==-1)return pe(r,t);if(r.charCodeAt(0)===36)return"$"+Ae(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+j(l,r.length);if(r.match(/^[#?]+$/)){n=j(t,0);if(n==="0")n="";return n.length>r.length?n:ye(r.substr(0,r.length-n.length))+n}if(i=r.match(me))return be(i,l,o);if(r.match(/^#+0+$/))return o+j(l,r.length-r.indexOf("0"));if(i=r.match(we)){n=Ee(t,i[1].length).replace(/^([^\.]+)$/,"$1."+ye(i[1])).replace(/\.$/,"."+ye(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+Tr("0",ye(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+Ee(l,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+ue(j(l,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Ae(e,r,-t):ue(""+(Math.floor(t)+Se(t,i[1].length)))+"."+W(_e(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Ae(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(Ae(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Ie("n",a,t);return"("+Ie("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return Ce(e,r,t);if(r.indexOf("%")!==-1)return Re(e,r,t);if(r.indexOf("E")!==-1)return Oe(r,t);if(r.charCodeAt(0)===36)return"$"+Ie(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+W(l,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:ye(r.substr(0,r.length-n.length))+n}if(i=r.match(me))return ge(i,l,o);if(r.match(/^#+0+$/))return o+W(l,r.length-r.indexOf("0"));if(i=r.match(we)){n=(""+t).replace(/^([^\.]+)$/,"$1."+ye(i[1])).replace(/\.$/,"."+ye(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+Tr("0",ye(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+(""+l).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+ue(""+l);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Ie(e,r,-t):ue(""+t)+"."+Tr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Ie(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(Ie(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-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}function Le(e,r,t,a){var n=[],i="",s=0,f="",l="t",o,c,u;var h="H";while(s=12?e.charAt(s+2):f;p.t="T";h="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(o!=null)p.v=o.H>=12?"PM":"AM";p.t="T";s+=5;h="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(o!=null)p.v=o.H>=12?"下午":"上午";p.t="T";s+=5;h="h"}else{p.t="t";++s}if(o==null&&p.t==="T")return"";n[n.length]=p;l=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Pe(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 m=0,b=0,g;for(s=n.length-1,l="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=h;l="h";if(m<1)m=1;break;case"s":if(g=n[s].v.match(/\.0+$/))b=Math.max(b,g[0].length-1);if(m<3)m=3;case"d":;case"y":;case"M":;case"e":l=n[s].t;break;case"m":if(l==="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(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 w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){y=r<0&&w.charCodeAt(0)===45?-r:r;E=Ne("n",w,y)}else{y=r<0&&a>1?-r:r;E=Ne("n",w,y);if(y<0&&n[0]&&n[0].t=="t"){E=E.substr(1);n[0].v="-"+n[0].v}}k=E.length-1;var _=n.length;for(s=0;s-1){_=s;break}var S=n.length;if(_===n.length&&E.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=E.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=E.substr(0,k+1);k=-1}n[s].t="t";S=s}if(k>=0&&S=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===_?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(k>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=E.charAt(k--)+T}n[s].v=T;n[s].t="t";S=s}if(k>=0&&S-1&&s===_?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){y=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Ne(n[s].t,n[s].v,y);n[s].t="t"}var x="";for(s=0;s!==n.length;++s)if(n[s]!=null)x+=n[s].v;return x}var Me=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Ue(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 Be(e,r){var t=Fe(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(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(Me);var f=t[1].match(Me);return Ue(r,s)?[a,t[0]]:Ue(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function We(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:q)[e];if(a==null)a=t.table&&t.table[Q[e]]||q[Q[e]];if(a==null)a=ee[e]||"General";break;}if(K(a,0))return le(r,t);if(r instanceof Date)r=hr(r,t.date1904);var n=Be(a,r);if(K(n[1]))return le(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Le(n[1],r,t,n[0])}function ze(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(q[t]==undefined){if(r<0)r=t;continue}if(q[t]==e){r=t;break}}if(r<0)r=391}q[r]=e;return r}function He(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)ze(e[r],r)}function Ve(){q=J()}var $e={format:We,load:ze,_table:q,load_table:He,parse_date_code:te,is_date:Pe,get_table:function cT(){return $e._table=q}};var Xe={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 Ge=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function je(e){var r=typeof e=="number"?q[e]:e;r=r.replace(Ge,"(\\d+)");Ge.lastIndex=0;return new RegExp("^"+r+"$")}function Ke(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,l=-1;(r.match(Ge)||[]).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;}});Ge.lastIndex=0;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 Ye={"d.m":"d\\.m"};function Ze(e,r){return ze(Ye[e]||e,r)}var Je=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"&&typeof n.subarray=="function"?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 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++]]^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 y(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=y;return e}();var qe=function uT(){var e={};e.version="1.2.2";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){ka(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;case 1:{var f=e._R(4),l=e._R(4);s.usz=l*Math.pow(2,32)+f;f=e._R(4);l=e._R(4);s.csz=l*Math.pow(2,32)+f}break;}e.l=i;r[a]=s}return r}var f;function l(){return f||(f=Qe)}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 We(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);ka(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);ka(v,28)}var w=e.slice(0,a);u(v,t);var k=v._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);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 T=-1,y=0;y<109;++y){T=v._R(4,"i");if(T<0)break;o[y]=T}var E=h(e,a);p(l,i,E,a,o);var _=b(E,s,o,a);if(s<_.length)_[s].name="!Directory";if(n>0&&f!==L)_[f].name="!MiniFAT";_[o[0]].name="!FAT";_.fat_addrs=o;_.ssz=a;var S={},x=[],A=[],C=[];g(s,_,E,x,n,S,A,f);d(A,C,x);x.shift();var R={FileIndex:A,FullPaths:C};if(r&&r.raw)R.raw={header:w,sectors:E};return R}function c(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*D,s*D+D));n-=D;s=ha(t,s*4)}if(i.length===0)return ya(0);return P(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=1)p(ha(s,a-4),r-1,t,a,n)}}function m(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var f=a-1,l=0,o=0;for(l=r;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=ha(e[c],o)}return{nodes:i,data:zt([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=ha(e[p],d);if(v[u])break}i[h]={nodes:f,data:zt([l])}}return i}function g(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)ka(b.content,0);i[d]=b;s.push(b)}}function w(e,r){return new Date((ua(e,r+4)/1e7*Math.pow(2,32)+ua(e,r)/1e7-11644473600)*1e3)}function k(e,r){l();return o(f.readFileSync(e),r)}function y(e,r){var t=r&&r.type;if(!t){if(S&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return o(O(_(e)),r);case"binary":return o(O(e),r);}return o(e,r)}function E(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(qe.find(e,"/"+r))return;var t=ya(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);I(e)}function I(e,n){E(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 N(e,r){var t=r||{};if(t.fileType=="mad")return ze(e,t);I(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 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=ya(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[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;i32){console.error("Name "+h+" will be truncated to "+h.slice(0,32));h=h.slice(0,32)}o=2*(h.length+1);n._W(64,h,"utf16le");n._W(2,o);n._W(1,c.type);n._W(1,c.color);n._W(-4,c.L);n._W(-4,c.R);n._W(-4,c.C);if(!c.clsid)for(l=0;l<4;++l)n._W(4,0);else n._W(16,c.clsid,"hex");n._W(4,c.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,c.start);n._W(4,c.size);n._W(4,0)}for(i=1;i=4096){n.l=c.start+1<<9;if(S&&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(S&&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 ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(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 ce(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 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 ve(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(S){var i=R(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=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(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=he(t,n,re[o+1]>>1)-1;else{he(t,n,3);n+=5;he(t,n,re[o-23]>>5);n+=3}var h=o<8?0:o-4>>2;if(h>0){de(t,n,u-J[o]);n+=h}o=e[i-c];n=he(t,n,re[o]>>3);n-=3;var d=o<4?0:o-2>>1;if(d>0){de(t,n,i-c-q[o]);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+ne(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+ie(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(l>>0;var f=0,l=0;while((a&1)==0){a=ie(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=Ae(e,t);f=Se;l=xe}for(;;){if(!r&&s>>1==1?be[c]:ye[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+J[u];if(h>0){d+=oe(e,t,h);t+=h}c=oe(e,t,l);u=a>>>1==1?ge[c]:Ee[c];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 Re(e,r){var t=e.slice(e.l||0);var a=Ce(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 Ie(e,r){var t=e;ka(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};E(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};E(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: "+Pe(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function He(e){var r={};E(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)E(e);var s=!i&&qe.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)qe.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 $e(e,r){E(e);var t=qe.find(e,r);if(t)for(var a=0;a=60&&e<61)return e;var r=new Date;r.setTime((e>60?e:e+1)*24*60*60*1e3+or);return r}function vr(e){var r=0,t=0,a=false;var n=e.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!n)throw new Error("|"+e+"| is not an ISO8601 Duration");for(var i=1;i!=n.length;++i){if(!n[i])continue;t=1;if(i>3)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 pr=/^(\d+):(\d+)(:\d+)?(\.\d+)?$/;var mr=/^(\d+)-(\d+)-(\d+)$/;var br=/^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/;function gr(e,r){if(e instanceof Date)return e;var t=e.match(pr);if(t)return new Date((r?ur:cr)+((parseInt(t[1],10)*60+parseInt(t[2],10))*60+(t[3]?parseInt(t[3].slice(1),10):0))*1e3+(t[4]?parseInt((t[4]+"000").slice(1,4),10):0));t=e.match(mr);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],0,0,0,0));t=e.match(br);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],+t[4],+t[5],t[6]&&parseInt(t[6].slice(1),10)||0,t[7]&&parseInt(t[7].slice(1),10)||0));var a=new Date(e);return a}function wr(e,r){if(S&&Buffer.isBuffer(e)){if(r&&A){if(e[0]==255&&e[1]==254)return kt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return kt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return kt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return kt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[],i=0;try{for(i=0;i3&&Rr.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\\ ]/))return i;return n}var Ir=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Yr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Zr=/<[^>]*>/g;var Jr=jr.match(Yr)?Yr:Zr;var qr=/<\w*:/,Qr=/<(\/?)\w+:/;function et(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(Kr),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 rt(e){return e.replace(Qr,"<$1")}var tt={""":'"',"'":"'",">":">","<":"<","&":"&"};var at=sr(tt);var nt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;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))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var it=/[&<>'"]/g,st=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function ft(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(st,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function lt(e){return ft(e).replace(/ /g,"_x0020_")}var ot=/[\u0000-\u001f]/g;function ct(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(/\n/g,"
").replace(ot,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function ut(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(ot,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var ht=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 dt(e){return e.replace(/(\r\n|[\r\n])/g," ")}function vt(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function pt(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}function mt(e){var r=C(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")}function bt(e){return x(e,"binary").toString("utf8")}var gt="foo bar baz☃🍣";var wt=S&&(bt(gt)==pt(gt)&&bt||mt(gt)==pt(gt)&&mt)||pt;var kt=S?function(e){return x(e,"utf8").toString("binary")}: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("")};var Tt=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 yt=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 _t=/<\/?(?:vt:)?variant>/g,St=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function Rt(e){return nr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function Ot(e,r,t){return"<"+e+(t!=null?Rt(t):"")+(r!=null?(r.match(At)?' xml:space="preserve"':"")+">"+r+""}function It(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function Nt(e,r){switch(typeof e){case"string":var t=Ot("vt:lpwstr",ft(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return Ot((e|0)==e?"vt:i4":"vt:r8",ft(String(e)));case"boolean":return Ot("vt:bool",e?"true":"false");}if(e instanceof Date)return Ot("vt:filetime",It(e));throw new Error("Unable to serialize "+e)}function Ft(e){if(S&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return wt(N(D(e)));throw new Error("Bad input format: expected Buffer or string")}var Dt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/](?:[^>=]|="[^"]*?")*)?>/gm;var Pt={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 Lt=["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 Mt={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 Ut(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 Bt(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 Wt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:x(e)})):Wt(e)}:Wt;var Ht=function(e,r,t){var a=[];for(var n=r;n0?jt(e,r+4,r+4+t-1):""};var Yt=Kt;var Zt=function(e,r){var t=ua(e,r);return t>0?jt(e,r+4,r+4+t-1):""};var Jt=Zt;var qt=function(e,r){var t=2*ua(e,r);return t>0?jt(e,r+4,r+4+t-1):""};var Qt=qt;var ea=function dT(e,r){var t=ua(e,r);return t>0?Vt(e,r+4,r+4+t):""};var ra=ea;var ta=function(e,r){var t=ua(e,r);return t>0?jt(e,r+4,r+4+t):""};var aa=ta;var na=function(e,r){return Ut(e,r)};var ia=na;var sa=function vT(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(S){Yt=function pT(e,r){if(!Buffer.isBuffer(e))return Kt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Jt=function mT(e,r){if(!Buffer.isBuffer(e))return Zt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Qt=function bT(e,r){if(!Buffer.isBuffer(e)||!A)return qt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};ra=function gT(e,r){if(!Buffer.isBuffer(e)||!A)return ea(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};aa=function wT(e,r){if(!Buffer.isBuffer(e))return ta(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};ia=function kT(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return na(e,r)};sa=function TT(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function fa(){Vt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(M,"")};jt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Yt=function(e,r){var n=ua(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Jt=function(e,t){var n=ua(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Qt=function(e,r){var t=2*ua(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};ra=function(e,r){var t=ua(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};aa=function(e,r){var t=ua(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")fa();var la=function(e,r){return e[r]};var oa=function(e,r){return e[r+1]*(1<<8)+e[r]};var ca=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ua=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ha=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var da=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function va(e,t){var n="",i,s,f=[],l,o,c,u;switch(t){case"dbcs":u=this.l;if(S&&Buffer.isBuffer(this)&&A)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?ha:da)(this,this.l);this.l+=4;return i}else{s=ua(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=ia(this,this.l);else s=ia([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=Xt(this,this.l,e);break;};}this.l+=e;return n}var pa=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 ma=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 ba=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function ga(e,n,i){var s=0,f=0;if(i==="dbcs"){for(f=0;f!=n.length;++f)ba(this,n.charCodeAt(f),this.l+2*f);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(f=0;f!=n.length;++f){var l=a.utils.encode(t,n.charAt(f));this[this.l+f]=l[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){l=a.utils.encode(r,n);if(l.length==n.length)for(f=0;f>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8;this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;pa(this,n,this.l);break;case 8:s=8;if(i==="f"){Bt(this,n,this.l);break};case 16:break;case-4:s=4;ma(this,n,this.l);break;}this.l+=s;return this}function wa(e,r){var t=Xt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ka(e,r){e.l=r;e._R=va;e.chk=wa;e._W=ga}function Ta(e,r){e.l+=r}function ya(e){var r=C(e);ka(r,0);return r}function Ea(e,r,t){if(!e)return;var a,n,i;ka(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&&sa(t))e.push(t)}function xa(e,r,t){var a=kr(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 Aa(e,r,t){var a=kr(e);a.s=xa(a.s,r.s,t);a.e=xa(a.e,r.s,t);return a}function Ca(e,r){if(e.cRel&&e.c<0){e=kr(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=kr(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Wa(e);if(!e.cRel&&e.cRel!=null)t=La(t);if(!e.rRel&&e.rRel!=null)t=Na(t);return t}function Ra(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?"":"$")+Pa(e.s.c)+":"+(e.e.cRel?"":"$")+Pa(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?"":"$")+Ia(e.s.r)+":"+(e.e.rRel?"":"$")+Ia(e.e.r)}}return Ca(e.s,r.biff)+":"+Ca(e.e,r.biff)}if(typeof cptable!=="undefined")b(cptable);else if(typeof module!=="undefined"&&typeof require!=="undefined"){b(undefined)}function Oa(e){return parseInt(Fa(e),10)-1}function Ia(e){return""+(e+1)}function Na(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Fa(e){return e.replace(/\$(\d+)$/,"$1")}function Da(e){var r=Ma(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function Pa(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 La(e){return e.replace(/^([A-Z])/,"$$$1")}function Ma(e){return e.replace(/^\$([A-Z])/,"$1")}function Ua(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Ba(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 Wa(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 za(e){var r=e.indexOf(":");if(r==-1)return{s:Ba(e),e:Ba(e)};return{s:Ba(e.slice(0,r)),e:Ba(e.slice(r+1))}}function Ha(e,r){if(typeof r==="undefined"||typeof r==="number"){return Ha(e.s,e.e)}if(typeof e!=="string")e=Wa(e);if(typeof r!=="string")r=Wa(r);return e==r?e:e+":"+r}function Va(e){var r=za(e);return"$"+Pa(r.s.c)+"$"+Ia(r.s.r)+":$"+Pa(r.e.c)+"$"+Ia(r.e.r)}function $a(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function Xa(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 Ga(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=We(e.z,t?hr(r):r)}catch(a){}try{return e.w=We((e.XF||{}).numFmtId||(t?14:0),t?hr(r):r)}catch(a){return""+r}}function ja(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 ei[e.v]||e.v;if(r==undefined)return Ga(e,e.v);return Ga(e,r)}function Ka(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ya(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(g!=null&&n==null)n=g;var i=e||{};if(n&&!i["!data"])i["!data"]=[];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"?Ba(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=Xa(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}var u=[];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");var d=s+h,v=""+(d+1);if(n){if(!i["!data"][d])i["!data"][d]=[];u=i["!data"][d]}for(var p=0;p!=r[h].length;++p){if(typeof r[h][p]==="undefined")continue;var m={v:r[h][p]};var b=f+p;if(o.s.r>d)o.s.r=d;if(o.s.c>b)o.s.c=b;if(o.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function rn(e){return{ich:e._R(2),ifnt:e._R(2)}}function tn(e,r){if(!r)r=ya(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function an(e,r){var t=e.l;var a=e._R(1);var n=Qa(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(rn(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function nn(e,r){var t=false;if(r==null){t=true;r=ya(15+4*e.t.length)}r._W(1,0);en(e.t,r);return t?r.slice(0,r.l):r}var sn=an;function fn(e,r){var t=false;if(r==null){t=true;r=ya(23+4*e.t.length)}r._W(1,1);en(e.t,r);r._W(4,1);tn({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function ln(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function on(e,r){if(r==null)r=ya(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function cn(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function un(e,r){if(r==null)r=ya(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var hn=Qa;var dn=en;function vn(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function pn(e,r){var t=false;if(r==null){t=true;r=ya(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 mn=Qa;var bn=vn;var gn=pn;function wn(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?ia([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):ha(r,0)>>2;return t?n/100:n}function kn(e,r){if(r==null)r=ya(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 Tn(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 yn(e,r){if(!r)r=ya(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 En=Tn;var _n=yn;function Sn(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function xn(e,r){return(r||ya(8))._W(8,e,"f")}function An(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=Qn[n];if(o)r.rgb=Vo(o);break;case 2:r.rgb=Vo([s,f,l]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function Cn(e,r){if(!r)r=ya(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 Rn(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 On(e,r){if(!r)r=ya(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 In(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 Nn(e){return In(e,1)}function Fn(e){return In(e,2)}var Dn=2;var Pn=3;var Ln=11;var Mn=12;var Un=19;var Bn=64;var Wn=65;var zn=71;var Hn=4108;var Vn=4126;var $n=80;var Xn=81;var Gn=[$n,Xn];var jn={1:{n:"CodePage",t:Dn},2:{n:"Category",t:$n},3:{n:"PresentationFormat",t:$n},4:{n:"ByteCount",t:Pn},5:{n:"LineCount",t:Pn},6:{n:"ParagraphCount",t:Pn},7:{n:"SlideCount",t:Pn},8:{n:"NoteCount",t:Pn},9:{n:"HiddenCount",t:Pn},10:{n:"MultimediaClipCount",t:Pn},11:{n:"ScaleCrop",t:Ln},12:{n:"HeadingPairs",t:Hn},13:{n:"TitlesOfParts",t:Vn},14:{n:"Manager",t:$n},15:{n:"Company",t:$n},16:{n:"LinksUpToDate",t:Ln},17:{n:"CharacterCount",t:Pn},19:{n:"SharedDoc",t:Ln},22:{n:"HyperlinksChanged",t:Ln},23:{n:"AppVersion",t:Pn,p:"version"},24:{n:"DigSig",t:Wn},26:{n:"ContentType",t:$n},27:{n:"ContentStatus",t:$n},28:{n:"Language",t:$n},29:{n:"Version",t:$n},255:{},2147483648:{n:"Locale",t:Un},2147483651:{n:"Behavior",t:Un},1919054434:{}};var Kn={1:{n:"CodePage",t:Dn},2:{n:"Title",t:$n},3:{n:"Subject",t:$n},4:{n:"Author",t:$n},5:{n:"Keywords",t:$n},6:{n:"Comments",t:$n},7:{n:"Template",t:$n},8:{n:"LastAuthor",t:$n},9:{n:"RevNumber",t:$n},10:{n:"EditTime",t:Bn},11:{n:"LastPrinted",t:Bn},12:{n:"CreatedDate",t:Bn},13:{n:"ModifiedDate",t:Bn},14:{n:"PageCount",t:Pn},15:{n:"WordCount",t:Pn},16:{n:"CharCount",t:Pn},17:{n:"Thumbnail",t:zn},18:{n:"Application",t:$n},19:{n:"DocSecurity",t:Pn},255:{},2147483648:{n:"Locale",t:Un},2147483651:{n:"Behavior",t:Un},1919054434:{}};var Yn={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 Zn=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Jn(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var qn=Jn([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,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Qn=kr(qn);var ei={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var ri={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var ti=["_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"];var ai={"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 ni={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 ii(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function si(e){var r=ii();if(!e||!e.match)return r;var t={};(e.match(Jr)||[]).forEach(function(e){var a=et(e);switch(a[0].replace(qr,"<")){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}function fi(e,r,t){var a=lr(ai);var n=[],i;if(!t){n[n.length]=jr;n[n.length]=Ot("Types",null,{xmlns:Pt.CT,"xmlns:xsd":Pt.xsd,"xmlns:xsi":Pt.xsi});n=n.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 Ot("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=Ot("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:ni[t][r.bookType]||ni[t]["xlsx"]})}};var f=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Ot("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ni[t][r.bookType]||ni[t]["xlsx"]})})};var l=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Ot("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");f("sheets");f("charts");l("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(l);l("vba");l("comments");l("threadedcomments");l("drawings");f("metadata");l("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var li={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",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function oi(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function ci(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Jr)||[]).forEach(function(e){var n=et(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function hi(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([li.HLINK,li.XPATH,li.XMISS].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 di="application/vnd.oasis.opendocument.spreadsheet";function vi(e,r){var t=Ft(e);var a;var n;while(a=Dt.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=et(a[0],false);if(n.path=="/"&&n.type!==di)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 pi(e){var r=[jr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function mi(e,r,t){return[' \n',' \n'," \n"].join("")}function bi(e,r){return[' \n',' \n'," \n"].join("")}function gi(e){var r=[jr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(mi(e[t][0],e[t][1]));r.push(bi("",e[t][0]))}r.push(mi("","Document","pkg"));r.push("");return r.join("")}function wi(r,t){return'SheetJS '+e.version+""}var ki=[["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 Ti=function(){var e=new Array(ki.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function yi(e){var r={};e=wt(e);for(var t=0;t0)r[a[1]]=nt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=gr(r[a[1]])}return r}function Ei(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=ft(r);a[a.length]=t?Ot(e,r,t):Ct(e,r)}function _i(e,r){var t=r||{};var a=[jr,Ot("cp:coreProperties",null,{"xmlns:cp":Pt.CORE_PROPS,"xmlns:dc":Pt.dc,"xmlns:dcterms":Pt.dcterms,"xmlns:dcmitype":Pt.dcmitype,"xmlns:xsi":Pt.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)Ei("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:It(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)Ei("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:It(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=ki.length;++i){var s=ki[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)Ei(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Si=[["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 xi=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Ai(e,r,t,a){var n=[];if(typeof e=="string")n=xt(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 Ci(e,r,t){var a={};if(!r)r={};e=wt(e);Si.forEach(function(t){var n=(e.match(Tt(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=nt(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)Ai(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function Ri(e){var r=[],t=Ot;if(!e)e={};e.Application="SheetJS";r[r.length]=jr;r[r.length]=Ot("Properties",null,{xmlns:Pt.EXT_PROPS,"xmlns:vt":Pt.vt});Si.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=ft(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""+ft(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Oi=/<[^>]+>[^<]*/g;function Ii(e,r){var t={},a="";var n=e.match(Oi);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=et(s);switch(rt(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]=nt(c);break;case"bool":t[a]=vt(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]=gr(c);break;case"cy":;case"error":t[a]=nt(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 Fi={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 Di;function Pi(e,r,t){if(!Di)Di=sr(Fi);r=Di[r]||r;e[r]=t}function Li(e,r){var t=[];nr(Fi).map(function(e){for(var r=0;r'+n.join("")+""}function Ui(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 Bi(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=ya(8);s._W(4,a);s._W(4,n);return s}function Wi(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 zi(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Hi(e,r,t){if(r===31)return zi(e);return Wi(e,r,t)}function Vi(e,r,t){return Hi(e,r,t===false?0:4)}function $i(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Hi(e,r,0)}function Xi(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(M,"");if(e.l-n&2)e.l+=2}return t}function Gi(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(M,"");return t}function ji(e){var r=e.l;var t=qi(e,Xn);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=qi(e,Pn);return[t,a]}function Ki(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Zi(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 Ji(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function qi(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==Mn)if(a!==r&&Gn.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===Mn?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 Wi(e,a,4).replace(M,"");case 31:return zi(e);case 64:return Ui(e);case 65:return Zi(e);case 71:return Ji(e);case 80:return Vi(e,a,!i.raw).replace(M,"");case 81:return $i(e,a).replace(M,"");case 4108:return Ki(e);case 4126:;case 4127:return a==4127?Xi(e):Gi(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Qi(e,r){var t=ya(4),a=ya(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=ya(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Bi(r);break;case 31:;case 80:a=ya(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 P([t,a])}function es(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){if(i[s][0]==0&&i.length>s+1&&i[s][1]==i[s+1][1])continue;var p=r[i[s][0]]; +d[p.n]=qi(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=qi(e,Dn);l(f);if(o!==-1){var m=e.l;e.l=i[o][1];c=Yi(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){o=s;e.l=i[s+1][1];continue}c=Yi(e,f)}else{var b=c[i[s][0]];var g;switch(e[e.l]){case 65:e.l+=4;g=Zi(e);break;case 30:e.l+=4;g=Vi(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;g=Vi(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=os(e,4);break;case 64:e.l+=4;g=gr(Ui(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[b]=g}}}e.l=t+a;return d}var rs=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function ts(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 as(e,r,t){var a=ya(8),n=[],i=[];var s=8,f=0;var l=ya(8),o=ya(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=ya(8);o._W(4,0);n.unshift(o);var c=[ya(4)];c[0]._W(4,e.length);for(f=0;f-1||xi.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)}l=Qi(v.t,h)}else{var m=ts(h);if(m==-1){m=31;h=String(h)}l=Qi(m,h)}i.push(l);o=ya(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 bs(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 gs(e){var r=e.t||"",t=1;var a=ya(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=ya(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return P(i)}function ws(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 ks(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return ws(e,a,t)}function Ts(e,r,t){if(t.biff>5)return ks(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 ys(e,r,t){if(!t)t=ya(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function Es(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function _s(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(M,"");if(a)e.l+=24;return n}function Ss(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(M,"");return t+s}function xs(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return _s(e,r);case"0303000000000000c000000000000046":return Ss(e,r);default:throw new Error("Unsupported Moniker "+t);}}function As(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(M,""):"";return t}function Cs(e,r){if(!r)r=ya(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 Us(e){var r=e._R(2);var t=wn(e);return[r,t]}function Bs(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=ms(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 Ws(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 zs(e,r){if(!r)r=ya(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 Hs(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 Vs=Hs;function $s(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 Xs(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function Gs(e){var r={};e.l+=4;e.cf=e._R(2);return r}function js(e){e.l+=2;e.l+=e._R(2)}var Ks={0:js,4:js,5:js,6:js,7:Gs,8:js,9:js,10:js,11:js,12:js,13:Xs,14:js,15:js,16:js,17:js,18:js,19:js,20:js,21:$s};function Ys(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 Js(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=ya(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 qs(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Qs(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=Ts(e,0,t);e._R(r+a-e.l);return n}function ef(e,r){var t=!r||r.biff==8;var a=ya(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=ya(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 nf(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 hf(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 df(){var e=ya(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 vf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function pf(e){var r=ya(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 mf(){}function bf(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=ms(e,0,t);return a}function gf(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=ya(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 wf(e,r,t){var a=Fs(e,r,t);a.isst=e._R(4);return a}function kf(e,r,t,a){var n=ya(10);Ds(e,r,a,n);n._W(4,t);return n}function Tf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=Fs(e,r,t);var i=ks(e,a-e.l,t);n.val=i;return n}function yf(e,r,t,a,n){var i=!n||n.biff==8;var s=ya(6+2+ +i+(1+i)*t.length);Ds(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 Ef(e,r,t){var a=e._R(2);var n=Ts(e,0,t);return[a,n]}function _f(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ya(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 Sf=Ts;function xf(e){var r=ya(1+e.length);r._W(1,e.length);r._W(e.length,e,"sbcs");return r}function Af(e){var r=ya(3+e.length);r.l+=2;r._W(1,e.length);r._W(e.length,e,"sbcs");return r}function Cf(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 Rf(e,r){var t=r.biff==8||!r.biff?4:2;var a=ya(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 Of(e){var r=e._R(2),t=e._R(2);var a=Us(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function If(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 Df(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=Ff(e,r,a.fStyle,t);return a}function Pf(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ya(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 Lf(e){var r={};r.ifnt=e._R(1);e.l++;r.flags=e._R(1);r.numFmtId=r.flags&63;r.flags>>=6;r.fStyle=0;r.data={};return r}function Mf(e){var r=ya(4);r.l+=2;r._W(1,e.numFmtId);r.l++;return r}function Uf(e){var r=ya(12);r.l++;r._W(1,e.numFmtId);r.l+=10;return r}var Bf=Uf;function Wf(e){var r={};r.ifnt=e._R(1);r.numFmtId=e._R(1);r.flags=e._R(2);r.fStyle=r.flags>>2&1;r.data={};return r}function zf(e){var r={};r.ifnt=e._R(1);r.numFmtId=e._R(1);r.flags=e._R(2);r.fStyle=r.flags>>2&1;r.data={};return r}function Hf(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 Vf(e){var r=ya(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 $f(e,r,t){var a=Fs(e,6,t);var n=vs(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Xf(e,r,t,a,n,i){var s=ya(8);Ds(e,r,a,s);ps(t,i,s);return s}function Gf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=Fs(e,6,t);var n=Sn(e,8);a.val=n;return a}function jf(e,r,t,a){var n=ya(14);Ds(e,r,a,n);xn(t,n);return n}var Kf=Ls;function Yf(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=ws(e,i);var f=[];while(a>e.l)f.push(ks(e));return[i,n,s,f]}function Zf(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=Bs(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}function Jf(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=ws(e,s,t);if(n&32)o=ti[o.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var u=a==e.l||f===0||!(c>0)?[]:Md(e,c,t,f);return{chKey:i,Name:o,itab:l,rgce:u}}function qf(e,r,t){if(t.biff<8)return Qf(e,r,t);if(!(t.biff>8)&&r==e[e.l]+(e[e.l+1]==3?1:0)+1)return Qf(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ms(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Qf(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=ms(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function el(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=ws(e,a,t);var s=ws(e,n,t);return[i,s]}function rl(e,r,t){var a=Hs(e,6);e.l++;var n=e._R(1);r-=8;return[Ud(e,r,t),n,a]}function tl(e,r,t){var a=Vs(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,Pd(e,r,t,a)]}function al(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function nl(e,r,t){var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=Ts(e,0,t);return[{r:a,c:n},f,s,i]}function il(e,r,t){if(t&&t.biff<8){var a=e._R(2),n=e._R(2);if(a==65535||a==-1)return;var i=e._R(2);var s=e._R(Math.min(i,2048),"cpstr");return[{r:a,c:n},s]}return nl(e,r,t)}function sl(e,r,t,a){var n=ya(6+(a||e.length));n._W(2,r);n._W(2,t);n._W(2,a||e.length);n._W(e.length,e,"sbcs");return n}function fl(e,r){var t=[];var a=e._R(2);while(a--)t.push(Ws(e,r));return t}function ll(e){var r=ya(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 dl(e,r){var t=Ws(e,8);e.l+=16;var a=Rs(e,r-24);return[t,a]}function vl(e){var r=ya(24);var t=Ba(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 P([r,Os(e[1])])}function pl(e,r){e._R(2);var t=Ws(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(M,"");return[t,a]}function ml(e){var r=e[1].Tooltip;var t=ya(10+2*(r.length+1));t._W(2,2048);var a=Ba(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(Ns(e,8));return t}function kl(e){var r=e._R(2);var t=[];while(r-- >0)t.push(Ns(e,8));return t}function Tl(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function yl(e,r,t){if(!t.cellStyles)return Ta(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 El(e,r){var t=ya(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 _l(e,r){var t={};if(r<32)return t;e.l+=16;t.header=Sn(e,8);t.footer=Sn(e,8);e.l+=2;return t}function Sl(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 xl(e){var r=ya(2*e);for(var t=0;t1048576)c=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(o)i.l+=36;var v=[],p={};var m=Math.min(i.length,s==2?521:u-10-(l?264:0));var b=o?32:11;while(i.l0){if(i[i.l]===42){i.l+=h;continue}++i.l;n[++g]=[];w=0;for(w=0;w!=v.length;++w){var k=i.slice(i.l,i.l+v[w].len);i.l+=v[w].len;ka(k,0);var T=typeof a!=="undefined"?a.utils.decode(d,k):N(k);switch(v[w].type){case"C":if(T.trim().length)n[g][w]=T.replace(/\s+$/,"");break;case"D":if(T.length===8){n[g][w]=new Date(Date.UTC(+T.slice(0,4),+T.slice(4,6)-1,+T.slice(6,8),0,0,0,0));if(!(t&&t.UTC)){n[g][w]=Nr(n[g][w])}}else n[g][w]=T;break;case"F":n[g][w]=parseFloat(T.trim());break;case"+":;case"I":n[g][w]=o?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(T.trim().toUpperCase()){case"Y":;case"T":n[g][w]=true;break;case"N":;case"F":n[g][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+T+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[g][w]="##MEMO##"+(o?parseInt(T.trim(),10):k._R(4));break;case"N":T=T.replace(/\u0000/g,"").trim();if(T&&T!=".")n[g][w]=+T||0;break;case"@":n[g][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":{var y=k._R(4),E=k._R(4);if(y==0&&E==0)break;n[g][w]=new Date((y-2440588)*864e5+E);if(!(t&&t.UTC))n[g][w]=Nr(n[g][w])}break;case"Y":n[g][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[g][w]=-k._R(-8,"f");break;case"B":if(l&&v[w].len==8){n[g][w]=k._R(8,"f");break};case"G":;case"P":k.l+=v[w].len;break;case"0":if(v[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[w].type);}}}if(s!=2)if(i.l=0)l(+f.codepage);if(f.type=="string")throw new Error("Cannot write DBF to JS string");var u=_a();var h=Dk(i,{header:1,raw:true,cellDates:true});var d=h[0],v=h.slice(1),p=i["!cols"]||[];var m=0,b=0,g=0,w=1;for(m=0;m250)x=250;S=((p[m]||{}).DBF||{}).type;if(S=="C"){if(p[m].DBF.len>x)x=p[m].DBF.len}if(_=="B"&&S=="N"){_="N";E[m]=p[m].DBF.dec;x=p[m].DBF.len}y[m]=_=="C"||S=="N"?x:o[_]||0;w+=y[m];T[m]=_}var C=u.next(32);C._W(4,318902576);C._W(4,v.length);C._W(2,296+32*g);C._W(2,w);for(m=0;m<4;++m)C._W(4,0);var R=+n[r]||3;C._W(4,0|R<<8);if(e[R]!=+f.codepage){if(f.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(m=0,b=0;my[b])D=D.slice(0,y[b]);for(g=0;g":190,"?":191,"{":223};var r=new RegExp("N("+nr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?m(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:m(a)};e["|"]=254;var i=function(e){return e.replace(/\n/g," :").replace(/\r/g," =")};function s(e,r){switch(r.type){case"base64":return f(_(e),r);case"binary":return f(e,r);case"buffer":return f(S&&Buffer.isBuffer(e)?e.toString("binary"):N(e),r);case"array":return f(wr(e),r);}throw new Error("Unrecognized type "+r.type)}function f(e,i){var s=e.split(/[\n\r]+/),f=-1,o=-1,c=0,u=0,h=[];var d=[];var v=null;var p={},m=[],b=[],g=[];var w=0,k;var T={Workbook:{WBProps:{},Names:[]}};if(+i.codepage>=0)l(+i.codepage);for(;c!==s.length;++c){w=0;var y=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var E=y.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var _=E[0],S;if(y.length>0)switch(_){case"ID":break;case"E":break;case"B":break;case"O":for(u=1;u=1&&x<=4)T.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(E[1].charAt(0)){case"P":d.push(y.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var A={Sheet:0};for(u=1;u-1&&h[N][F];if(!M||!M[1])throw new Error("SYLK shared formula cannot find base");D=th(M[1],{r:f-N,c:o-F})}if(D){if(!h[f][o])h[f][o]={t:"n",f:D};else h[f][o].f=D}if(L){if(!h[f][o])h[f][o]={t:"z"};h[f][o].c=[{a:"SheetJSYLK",t:L}]}break;case"F":var U=0;for(u=1;u0){m[f].hpt=w;m[f].hpx=sc(w)}else if(w===0)m[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+y);}if(U<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+y);}}if(m.length>0)p["!rows"]=m;if(b.length>0)p["!cols"]=b;b.forEach(function(e){tc(e)});if(i&&i.sheetRows)h=h.slice(0,i.sheetRows);return[h,p,T]}function o(e,r){var t=s(e,r);var a=t[0],n=t[1],i=t[2];var f=kr(r);f.date1904=(((i||{}).Workbook||{}).WBProps||{}).date1904;var l=Za(a,f);nr(n).forEach(function(e){l[e]=n[e]});var o=Ka(l,r);nr(i).forEach(function(e){o[e]=i[e]});o.bookType="sylk";return o}function c(e,r,t,a,n,i){var s="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":s+=e.v||0;if(e.f&&!e.F)s+=";E"+rh(e.f,{r:t,c:a});break;case"b":s+=e.v?"TRUE":"FALSE";break;case"e":s+=e.w||e.v;break;case"d":s+=hr(gr(e.v,i),i);break;case"s":s+='"'+(e.v==null?"":String(e.v)).replace(/"/g,"").replace(/;/g,";;")+'"';break;}return s}function u(e,r,t){var a="C;Y"+(r+1)+";X"+(t+1)+";A";a+=i(e.map(function(e){return e.t}).join(""));return a}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=Jo(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=qo(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function d(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*ic(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function v(e,r,t){if(!r)r={};r._formats=["General"];var a=["ID;PSheetJS;N;E"],n=[];var i=Xa(e["!ref"]),s;var f=e["!data"]!=null;var l="\r\n";var o=(((t||{}).Workbook||{}).WBProps||{}).date1904;var v="General";a.push("P;PGeneral");var p=i.s.r,m=i.s.c,b=[];for(p=i.s.r;p<=i.e.r;++p){if(f&&!e["!data"][p])continue;b=[];for(m=i.s.c;m<=i.e.c;++m){s=f?e["!data"][p][m]:e[Pa(m)+Ia(p)];if(!s||!s.c)continue;b.push(u(s.c,p,m))}if(b.length)n.push(b.join(l))}for(p=i.s.r;p<=i.e.r;++p){if(f&&!e["!data"][p])continue;b=[];for(m=i.s.c;m<=i.e.c;++m){s=f?e["!data"][p][m]:e[Pa(m)+Ia(p)];if(!s||s.v==null&&(!s.f||s.F))continue;if((s.z||(s.t=="d"?q[14]:"General"))!=v){var g=r._formats.indexOf(s.z);if(g==-1){r._formats.push(s.z);g=r._formats.length-1;a.push("P;P"+s.z.replace(/;/g,";;"))}b.push("F;P"+g+";Y"+(p+1)+";X"+(m+1))}b.push(c(s,e,p,m,r,o))}n.push(b.join(l))}a.push("F;P0;DG0G8;M255");if(e["!cols"])h(a,e["!cols"]);if(e["!rows"])d(a,e["!rows"]);a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(o?";V4":"")+";K47;G100 0.001");delete r._formats;return a.join(l)+l+n.join(l)+l+"E"+l}return{to_workbook:o,from_sheet:v}}();var Xl=function(){function e(e,t){switch(t.type){case"base64":return r(_(e),t);case"binary":return r(e,t);case"buffer":return r(S&&Buffer.isBuffer(e)?e.toString("binary"):N(e),t);case"array":return r(wr(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 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"]=Ha(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 Za(r(e,t),t)}function l(e,r){var t="",n=r.type=="string"?[0,0,0,0]:lk(e,r);switch(r.type){case"base64":t=_(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=S&&Buffer.isBuffer(e)?e.toString("binary"):N(e);break;case"array":t=wr(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=wt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=wt(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 Gl.to_sheet(r.type=="string"?t:wt(t),r);return f(t,r)}function o(e,r){return Ka(l(e,r),r)}function c(e){var r=[];var t=Xa(e["!ref"]),a;var n=e["!data"]!=null;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=Wa({r:i,c:f});a=n?(e["!data"][i]||[])[f]:e[l];if(!a||a.v==null){s.push(" ");continue}var o=(a.w||(ja(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:o,to_sheet:l,from_sheet:c}}();function Kl(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=$l.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 jl.to_workbook(e,r)}}var Yl=function(){function e(e,r,t){if(!e)return;ka(e,e.l||0);var a=t.Enum||V;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){n.Enum=V;e(r,function(e,r,a){switch(a){case 0:n.vers=e;if(e>=4096)n.qpro=true;break;case 255:n.vers=e;n.works=true;break;case 6:d=e;break;case 204:if(e)f=e;break;case 222:f=e;break;case 15:;case 51:if((!n.qpro&&!n.works||a==51)&&e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);if(n.works||n.works2)e[1].v=e[1].v.replace(/\r\n/g,"\n");case 13:;case 14:;case 16:if((e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=n.dateNF||t[(e[2]&15)-1]||q[14];if(n.cellDates){e[1].v=dr(e[1].v);e[1].t=typeof e[1].v=="number"?"n":"d"}}if(n.qpro){if(e[3]>l){i["!ref"]=Ha(d);o[s]=i;c.push(s);i={};if(n.dense)h=i["!data"]=[];d={s:{r:0,c:0},e:{r:0,c:0}};l=e[3];s=f||"Sheet"+(l+1);f=""}}var u=n.dense?(h[e[0].r]||[])[e[0].c]:i[Wa(e[0])];if(u){u.t=e[1].t;u.v=e[1].v;if(e[1].z!=null)u.z=e[1].z;if(e[1].f!=null)u.f=e[1].f;p=u;break}if(n.dense){if(!h[e[0].r])h[e[0].r]=[];h[e[0].r][e[0].c]=e[1]}else i[Wa(e[0])]=e[1];p=e[1];break;case 21509:n.works2=true;break;case 21506:{if(e==5281){p.z="hh:mm:ss";if(n.cellDates&&p.t=="n"){p.v=dr(p.v);p.t=typeof p.v=="number"?"n":"d"}}}break;}},n)}else if(r[2]==26||r[2]==14){n.Enum=$;if(r[2]==14){n.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:s=e;break;case 22:if(e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);e[1].v=e[1].v.replace(/\x0F./g,function(e){return String.fromCharCode(e.charCodeAt(1)-32)}).replace(/\r\n/g,"\n");case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>l){i["!ref"]=Ha(d);o[s]=i;c.push(s);i={};if(n.dense)h=i["!data"]=[];d={s:{r:0,c:0},e:{r:0,c:0}};l=e[3];s="Sheet"+(l+1)}if(v>0&&e[0].r>=v)break;if(n.dense){if(!h[e[0].r])h[e[0].r]=[];h[e[0].r][e[0].c]=e[1]}else i[Wa(e[0])]=e[1];if(d.e.c=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=_a();var n=Xa(e["!ref"]);var i=e["!data"]!=null;var f=[];qb(a,0,s(1030));qb(a,6,c(n));var o=Math.min(n.e.r,8191);for(var u=n.s.c;u<=n.e.c;++u)f[u]=Pa(u);for(var h=n.s.r;h<=o;++h){var d=Ia(h);for(u=n.s.c;u<=n.e.c;++u){var p=i?(e["!data"][h]||[])[u]:e[f[u]+d];if(!p||p.t=="z")continue;switch(p.t){case"n":if((p.v|0)==p.v&&p.v>=-32768&&p.v<=32767)qb(a,13,b(h,u,p));else qb(a,14,k(h,u,p));break;case"d":var m=hr(p.v);if((m|0)==m&&m>=-32768&&m<=32767)qb(a,13,b(h,u,{t:"n",v:m,z:p.z||q[14]}));else qb(a,14,k(h,u,{t:"n",v:m,z:p.z||q[14]}));break;default:var g=ja(p);qb(a,15,v(h,u,g.slice(0,239)));}}}qb(a,1);return a.end()}function i(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=_a();qb(a,0,f(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 o(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 c(e){var r=ya(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 u(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 if(t.works){a[0].c=e._R(2);a[0].r=e._R(2);a[2]=e._R(2)}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function h(e){if(e.z&&Pe(e.z)){return 240|(t.indexOf(e.z)+1||2)}return 255}function d(e,r,t){var a=e.l+r;var n=u(e,r,t);n[1].t="s";if((t.vers&65534)==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 v(e,r,t){var a=ya(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 p(e,r,t){var a=e.l+r;var n=u(e,r,t);n[1].t="s";if(t.vers==20768){var i=e._R(1);n[1].v=e._R(i,"utf8");return n}n[1].v=e._R(a-e.l,"cstr");return n}function m(e,r,t){var a=u(e,r,t);a[1].v=e._R(2,"i");return a}function b(e,r,t){var a=ya(7);a._W(1,h(t));a._W(2,r);a._W(2,e);a._W(2,t.v,"i");return a}function w(e,r,t){var a=u(e,r,t);a[1].v=e._R(8,"f");return a}function k(e,r,t){var a=ya(13);a._W(1,h(t));a._W(2,r);a._W(2,e);a._W(8,t.v,"f");return a}function T(e,r,t){var a=e.l+r;var n=u(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);x(e.slice(e.l,e.l+i),n);e.l+=i}return n}function y(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?Pa(r):Ia(r))}var E={31:["NA",0],33:["ABS",1],34:["TRUNC",1],35:["SQRT",1],36:["LOG",1],37:["LN",1],38:["PI",0],39:["SIN",1],40:["COS",1],41:["TAN",1],42:["ATAN2",2],43:["ATAN",1],44:["ASIN",1],45:["ACOS",1],46:["EXP",1],47:["MOD",2],49:["ISNA",1],50:["ISERR",1],51:["FALSE",0],52:["TRUE",0],53:["RAND",0],54:["DATE",3],63:["ROUND",2],64:["TIME",3],68:["ISNUMBER",1],69:["ISTEXT",1],70:["LEN",1],71:["VALUE",1],73:["MID",3],74:["CHAR",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],102:["UPPER",1],103:["LOWER",1],107:["PROPER",1],109:["TRIM",1],111:["T",1]};var S=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function x(e,r){ka(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(E[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 A(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 C(e,r){var t=A(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function R(e,r,t,a){var n=ya(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 I(e,r){var t=A(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 N(e,r){var t=A(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=ya(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 D(e,r){var t=N(e,14);e.l+=r-14;return t}function P(e,r){var t=A(e,r);var a=e._R(4);t[1].v=a>>6;return t}function L(e,r){var t=A(e,r);var a=e._R(8,"f");t[1].v=a;return t}function M(e,r){var t=L(e,12);e.l+=r-12;return t}function U(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function B(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 V={0:{n:"BOF",f:us},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:o},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:m},14:{n:"NUMBER",f:w},15:{n:"LABEL",f:d},16:{n:"FORMULA",f:T},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:p},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:U},222:{n:"SHEETNAMELP",f:B},255:{n:"BOF",f:us},21506:{n:"WKSNF",f:us},65535:{n:""}};var $={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:C},23:{n:"NUMBER17",f:N},24:{n:"NUMBER18",f:I},25:{n:"FORMULA19",f:D},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:z},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:P},38:{n:"??"},39:{n:"NUMBER27",f:L},40:{n:"FORMULA28",f:M},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:U},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:W},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:""}};var X={5:"dd-mmm-yy",6:"dd-mmm",7:"mmm-yy",8:"mm/dd/yy",10:"hh:mm:ss AM/PM",11:"hh:mm AM/PM",14:"dd-mmm-yyyy",15:"mmm-yyyy",34:"0.00",50:"0.00;[Red]0.00",66:"0.00;(0.00)",82:"0.00;[Red](0.00)",162:'"$"#,##0;\\("$"#,##0\\)'};function G(e,r){ka(e,0);var t=r||{};if(g!=null&&t.dense==null)t.dense=g; +var a={};if(t.dense)a["!data"]=[];var n=[],i="",s=[];var f={s:{r:-1,c:-1},e:{r:-1,c:-1}};var l=0,o=0,c=0,u=0;var h={SheetNames:[],Sheets:{}};var d=[];e:while(e.l255||f.s.r>999999)break;if(f.e.cc)f.s.c=c;u=m._R(4);if(f.s.r>u)f.s.r=u;u=m._R(4);if(f.e.ru)f.s.r=u;if(f.e.r0&&l>=0){if(x&32)switch(x&31){case 2:S={t:"n",v:S.v+R&65535};break;case 3:S={t:"n",v:S.v+R&65535};if(S.v>32767)S.v-=65536;break;case 7:S={t:"s",v:n[o=o+R>>>0]};break;default:throw"Cannot apply delta for QPW cell type "+(x&31);}else switch(x&31){case 1:S={t:"z"};break;case 2:S={t:"n",v:m._R(2)};break;case 7:S={t:"s",v:n[o=m._R(4)-1]};break;default:throw"Cannot apply repeat for QPW cell type "+(x&31);}if(A!=-1);if(!(!t.sheetStubs&&S.t=="z")){if(a["!data"]!=null){if(!a["!data"][u])a["!data"][u]=[];a["!data"][u][c]=S}else a[_+Ia(u)]=S}++u;--l}}}break;default:break;}e.l+=p}return h}return{sheet_to_wk1:n,book_to_wk3:i,to_workbook:r}}();function Zl(e){var r={},t=e.match(Jr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=et(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 Jl=function(){var e=Tt("t"),r=Tt("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:nt(a[1])};var i=t.match(r);if(i)n.s=Zl(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 ql=function yT(){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 Ql=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,eo=/<(?:\w+:)?r\b[^>]*>/;var ro=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function to(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=nt(wt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=wt(e);if(t)a.h=ct(a.t)}else if(e.match(eo)){a.r=wt(e);a.t=nt(wt((e.replace(ro,"").match(Ql)||[]).join("").replace(Jr,"")),true);if(t)a.h=ql(Jl(a.r))}return a}var ao=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var no=/<(?:\w+:)?(?:si|sstItem)>/g;var io=/<\/(?:\w+:)?(?:si|sstItem)>/;function so(e,r){var t=[],a="";if(!e)return t;var n=e.match(ao);if(n){a=n[2].replace(no,"").split(io);for(var i=0;i!=a.length;++i){var s=to(a[i].trim(),r);if(s!=null)t[t.length]=s}n=et(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var fo=/^\s|\s$|[\t\n\r]/;function lo(e,r){if(!r.bookSST)return"";var t=[jr];t[t.length]=Ot("sst",null,{xmlns:Lt[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 oo(e){return[e._R(4),e._R(4)]}function co(e,r){var t=[];var a=false;Ea(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 uo(e,r){if(!r)r=ya(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var ho=nn;function vo(e){var r=_a();Sa(r,159,uo(e));for(var t=0;t=4)e.l+=r-4;return t}function bo(e){var r={};r.id=e._R(0,"lpp4");r.R=mo(e,4);r.U=mo(e,4);r.W=mo(e,4);return r}function go(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 wo(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(go(e));return r}function ko(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function To(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=mo(e,4);r.U=mo(e,4);r.W=mo(e,4);return r}function yo(e){var r=To(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 Eo(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 _o(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 So(e){var r=mo(e);switch(r.Minor){case 2:return[r.Minor,xo(e,r)];case 3:return[r.Minor,Ao(e,r)];case 4:return[r.Minor,Co(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function xo(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=Eo(e,t);var n=_o(e,e.length-e.l);return{t:"Std",h:a,v:n}}function Ao(){throw new Error("File is password-protected: ECMA-376 Extensible")}function Co(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(Jr,function n(e){var t=et(e);switch(rt(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=Eo(e,n);r-=n;t.EncryptionVerifier=_o(e,r);return t}function Oo(e){var r={};var t=r.EncryptionVersionInfo=mo(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=po(e);var n=a.length+1,i,s;var f,l,o;t=C(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 No=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=po(r);var a=i(t);var s=t.length;var f=C(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 Fo=function(e,r,t,a,n){if(!n)n=r;if(!a)a=No(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 Do=function(e){var r=0,t=No(e);return function(e){var a=Fo("",e,r,t);r=a[1];return a[0]}};function Po(e,r,t,a){var n={key:us(e),verificationBytes:us(e)};if(t.password)n.verifier=Io(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=Do(t.password);return n}function Lo(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=Oo(e,r);else a.Data=Ro(e,r);return a}function Mo(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)Lo(e,r-2,a);else Po(e,t.biff>=8?r:r-2,t,a);return a}function Uo(e,r){switch(r.type){case"base64":return Bo(_(e),r);case"binary":return Bo(e,r);case"buffer":return Bo(S&&Buffer.isBuffer(e)?e.toString("binary"):N(e),r);case"array":return Bo(wr(e),r);}throw new Error("Unrecognized type "+r.type)}function Bo(e,r){var t=r||{};var a={};var n=t.dense;if(n)a["!data"]=[];var i=e.match(/\\trowd[\s\S]*?\\row\b/g);if(!i)throw new Error("RTF missing table");var s={s:{c:0,r:0},e:{c:0,r:i.length-1}};var f=[];i.forEach(function(e,r){if(n)f=a["!data"][r]=[];var i=/\\[\w\-]+\b/g;var l=0;var o;var c=-1;var u=[];while((o=i.exec(e))!=null){var h=e.slice(l,i.lastIndex-o[0].length);if(h.charCodeAt(0)==32)h=h.slice(1);if(h.length)u.push(h);switch(o[0]){case"\\cell":++c;if(u.length){var d={v:u.join(""),t:"s"};if(d.v=="TRUE"||d.v=="FALSE"){d.v=d.v=="TRUE";d.t="b"}else if(!isNaN(yr(d.v))){d.t="n";if(t.cellText!==false)d.w=d.v;d.v=yr(d.v)}if(n)f[c]=d;else a[Wa({r:r,c:c})]=d}u=[];break;case"\\par":u.push("\n");break;}l=i.lastIndex}if(c>s.e.c)s.e.c=c});a["!ref"]=Ha(s);return a}function Wo(e,r){var t=Ka(Uo(e,r),r);t.bookType="rtf";return t}function zo(e,r){var t=["{\\rtf1\\ansi"];if(!e["!ref"])return t[0]+"}";var a=Xa(e["!ref"]),n;var i=e["!data"]!=null,s=[];for(var f=a.s.r;f<=a.e.r;++f){t.push("\\trowd\\trautofit1");for(var l=a.s.c;l<=a.e.c;++l)t.push("\\cellx"+(l+1));t.push("\\pard\\intbl");if(i)s=e["!data"][f]||[];for(l=a.s.c;l<=a.e.c;++l){var o=Wa({r:f,c:l});n=i?s[l]:e[o];if(!n||n.v==null&&(!n.f||n.F)){t.push(" \\cell");continue}t.push(" "+(n.w||(ja(n),n.w)||"").replace(/[\r\n]/g,"\\par "));t.push("\\cell")}t.push("\\pard\\intbl\\row")}return t.join("")+"}"}function Ho(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 Vo(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 $o(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 Xo(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 Go(e,r){if(r===0)return e;var t=$o(Ho(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Vo(Xo(t))}var jo=6,Ko=15,Yo=1,Zo=jo;function Jo(e){return Math.floor((e+Math.round(128/Zo)/256)*Zo)}function qo(e){return Math.floor((e-5)/Zo*100+.5)/100}function Qo(e){return Math.round((e*Zo+5)/Zo*256)/256}function ec(e){return Qo(qo(Jo(e)))}function rc(e){var r=Math.abs(e-ec(e)),t=Zo;if(r>.005)for(Zo=Yo;Zo":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=vt(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=vt(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 oc(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Jr)||[]).forEach(function(e){var t=et(e);switch(rt(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 cc(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Jr)||[]).forEach(function(e){var f=et(e);switch(rt(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 uc(e,r,t){r.NumberFmt=[];var a=nr(q);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}Ze(f,l)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function hc(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]=Ot("numFmt",null,{numFmtId:a,formatCode:ft(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=Ot("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var dc=["numFmtId","fillId","fontId","borderId","xfId"];var vc=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function pc(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Jr)||[]).forEach(function(e){var i=et(e),s=0;switch(rt(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=vt(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 mc(e){var r=[];r[r.length]=Ot("cellXfs",null);e.forEach(function(e){r[r.length]=Ot("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=Ot("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var bc=function ET(){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))uc(c,o,l);if(c=s.match(a))cc(c,o,f,l);if(c=s.match(t))oc(c,o,f,l);if(c=s.match(n))lc(c,o,f,l);if(c=s.match(r))pc(c,o,l);return o}}();function gc(e,r){var t=[jr,Ot("styleSheet",null,{xmlns:Lt[0],"xmlns:vt":Pt.vt})],a;if(e.SSF&&(a=hc(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=mc(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 wc(e,r){var t=e._R(2);var a=Qa(e,r-2);return[t,a]}function kc(e,r,t){if(!t)t=ya(6+4*r.length);t._W(2,e);en(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 Tc(e,r,t){var a={};a.sz=e._R(2)/20;var n=Rn(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=An(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Qa(e,r-21);return a}function yc(e,r){if(!r)r=ya(25+4*32);r._W(2,e.sz*20);On(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);Cn(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);en(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Ec=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var _c;var Sc=Ta;function xc(e,r){if(!r)r=ya(4*3+8*7+16*1);if(!_c)_c=sr(Ec);var t=_c[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){Cn({auto:1},r);Cn({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 Ac(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 Cc(e,r,t){if(!t)t=ya(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 Rc(e,r){if(!r)r=ya(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var Oc=Ta;function Ic(e,r){if(!r)r=ya(51);r._W(1,0);Rc(null,r);Rc(null,r);Rc(null,r);Rc(null,r);Rc(null,r);return r.length>r.l?r.slice(0,r.l):r}function Nc(e,r){if(!r)r=ya(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);pn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function Fc(e,r,t){var a=ya(4+256*2*4);a._W(4,e);pn(r,a);pn(t,a);return a.length>a.l?a.slice(0,a.l):a}function Dc(e,r,t){var a={};a.NumberFmt=[];for(var n in q)a.NumberFmt[n]=q[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;Ea(e,function f(e,n,l){switch(l){case 44:a.NumberFmt[e[0]]=e[1];Ze(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=Go(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(l);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(l);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+l.toString(16));}});return a}function Pc(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;Sa(e,615,qa(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)Sa(e,44,kc(a,r[a]))});Sa(e,616)}function Lc(e){var r=1;if(r==0)return;Sa(e,611,qa(r));Sa(e,43,yc({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));Sa(e,612)}function Mc(e){var r=2;if(r==0)return;Sa(e,603,qa(r));Sa(e,45,xc({patternType:"none"}));Sa(e,45,xc({patternType:"gray125"}));Sa(e,604)}function Uc(e){var r=1;if(r==0)return;Sa(e,613,qa(r));Sa(e,46,Ic({}));Sa(e,614)}function Bc(e){var r=1;Sa(e,626,qa(r));Sa(e,47,Cc({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));Sa(e,627)}function Wc(e,r){Sa(e,617,qa(r.length));r.forEach(function(r){Sa(e,47,Cc(r,0))});Sa(e,618)}function zc(e){var r=1;Sa(e,619,qa(r));Sa(e,48,Nc({xfId:0,builtinId:0,name:"Normal"}));Sa(e,620)}function Hc(e){var r=0;Sa(e,505,qa(r));Sa(e,506)}function Vc(e){var r=0;Sa(e,508,Fc(r,"TableStyleMedium9","PivotStyleMedium4"));Sa(e,509)}function $c(){return}function Xc(e,r){var t=_a();Sa(t,278);Pc(t,e.SSF);Lc(t,e);Mc(t,e);Uc(t,e);Bc(t,e);Wc(t,r.cellXfs);zc(t,e);Hc(t,e);Vc(t,e);$c(t,e);Sa(t,279);return t.end()}var Gc=["","","","","","","","","","","",""];function jc(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Jr)||[]).forEach(function(e){var n=et(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[Gc.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 Kc(){}function Yc(){}var Zc=/]*)>[\s\S]*<\/a:clrScheme>/;var Jc=/]*)>[\s\S]*<\/a:fontScheme>/;var qc=/]*)>[\s\S]*<\/a:fmtScheme>/;function Qc(e,r,t){r.themeElements={};var a;[["clrScheme",Zc,jc],["fontScheme",Jc,Kc],["fmtScheme",qc,Yc]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var eu=/]*)>[\s\S]*<\/a:themeElements>/;function ru(e,r){if(!e||e.length===0)e=tu();var t;var a={};if(!(t=e.match(eu)))throw new Error("themeElements not found in theme");Qc(t[0],a,r);a.raw=e;return a}function tu(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[jr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";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 au(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=Xr(i,{type:"array"})}catch(f){return}var l=Wr(s,"theme/theme/theme1.xml",true);if(!l)return;return ru(l,t)}function nu(e){return e._R(4)}function iu(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=su(e,4);break;case 2:r.xclrValue=Is(e,4);break;case 3:r.xclrValue=nu(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function su(e,r){return Ta(e,r)}function fu(e,r){return Ta(e,r)}function lu(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]=iu(e,t);break;case 6:a[1]=fu(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 ou(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(lu(e,t-e.l));return{ixfe:a,ext:i}}function cu(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 uu(e,r){return{flags:e._R(4),version:e._R(4),name:Qa(e,r-8)}}function hu(e){var r=ya(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);en(e.name,r);return r.slice(0,r.l)}function du(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function vu(e){var r=ya(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;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function yu(e){var r=[];if(!e)return r;var t=1;(e.match(Jr)||[]).forEach(function(e){var a=et(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var Cu=/<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g;function Ru(e,r,t){var a=0;(e.match(Cu)||[]).forEach(function(e){var n="";var i=true;var s=-1;var f=-1,l=-1;e.replace(Jr,function(r,t){var a=et(r);switch(rt(a[0])){case"":i=false;break;case"":s=t+r.length;break;case"":f=+e.slice(s,t).trim();break;case"":s=t+r.length;break;case"":l=+e.slice(s,t).trim();break;}return""});switch(n){case"Note":var o=Hk(r,f>=0&&l>=0?Wa({r:f,c:l}):t[a].ref);if(o.c){o.c.hidden=i}++a;break;}})}function Ou(e,r,t){var a=[21600,21600];var n=["m0,0l0",a[1],a[0],a[1],a[0],"0xe"].join(",");var i=[Ot("xml",null,{"xmlns:v":Mt.v,"xmlns:o":Mt.o,"xmlns:x":Mt.x,"xmlns:mv":Mt.mv}).replace(/\/>/,">"),Ot("o:shapelayout",Ot("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var s=65536*e;var f=r||[];if(f.length>0)i.push(Ot("v:shapetype",[Ot("v:stroke",null,{joinstyle:"miter"}),Ot("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:a.join(","),"o:spt":202,path:n}));f.forEach(function(e){++s;i.push(Iu(e,s))});i.push("");return i.join("")}function Iu(e,r,t){var a=Ba(e[0]);var n={color2:"#BEFF82",type:"gradient"};if(n.type=="gradient")n.angle="-180";var i=n.type=="gradient"?Ot("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var s=Ot("v:fill",i,n);var f={on:"t",obscured:"t"};return["",s,Ot("v:shadow",null,f),Ot("v:path",null,{"o:connecttype":"none"}),'
','',"","",Ct("x:Anchor",[a.c+1,0,a.r+1,0,a.c+3,20,a.r+5,20].join(",")),Ct("x:AutoFill","False"),Ct("x:Row",String(a.r)),Ct("x:Column",String(a.c)),e[1].hidden?"":"","",""].join("")}function Nu(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=Ba(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var f=Xa(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=et(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Ba(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]&&to(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}function Du(e){var r=[jr,Ot("comments",null,{xmlns:Lt[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=ft(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=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(ft(e.a));if(e.T)++i;n.push(e.t==null?"":ft(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(Ct("t",a.t==null?"":ft(a.t)));r.push("")})}else{if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);r.push('');var s="Comment:\n "+n[0]+"\n";for(var f=1;f")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Pu(e,r){var t=[];var a=false,n={},i=0;e.replace(Jr,function s(f,l){var o=et(f);switch(rt(o[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"":n.t=e.slice(i,l).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 "+o[0]+" in threaded comments");}return f});return t}function Lu(e,r,t){var a=[jr,Ot("ThreadedComments",null,{xmlns:Pt.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(Ot("threadedComment",Ct("text",i.t||""),f))})});a.push("");return a.join("")}function Mu(e,r){var t=[];var a=false;e.replace(Jr,function n(e){var n=et(e);switch(rt(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 Uu(e){var r=[jr,Ot("personList",null,{xmlns:Pt.TCMNT,"xmlns:x":Lt[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(Ot("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function Bu(e){var r={};r.iauthor=e._R(4);var t=En(e,16);r.rfx=t.s;r.ref=Wa(t.s);e.l+=16;return r}function Wu(e,r){if(r==null)r=ya(36);r._W(4,e[1].iauthor);_n(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var zu=Qa;function Hu(e){return en(e.slice(0,54))}function Vu(e,r){var t=[];var a=[];var n={};var i=false;Ea(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.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}});return t}function $u(e){var r=_a();var t=[];Sa(r,628);Sa(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));Sa(r,632,Hu(e.a));if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);Sa(r,632,Hu("tc="+e.ID))}})});Sa(r,631);Sa(r,633);e.forEach(function(e){e[1].forEach(function(a){var n=-1;if(a.ID)n=t.indexOf("tc="+a.ID);if(n==-1&&e[1][0].T&&e[1][0].ID)n=t.indexOf("tc="+e[1][0].ID);if(n==-1)n=t.indexOf(a.a);a.iauthor=n;var i={s:Ba(e[0]),e:Ba(e[0])};Sa(r,635,Wu([i,a]));if(a.t&&a.t.length>0)Sa(r,637,fn(a));Sa(r,636);delete a.iauthor})});Sa(r,634);Sa(r,629);return r.end()}var Xu="application/vnd.ms-office.vbaProject";function Gu(e){var r=qe.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*/,"");qe.utils.cfb_add(r,n,e.FileIndex[a].content)});return qe.write(r)}function ju(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")qe.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Ku=["xlsb","xlsm","xlam","biff8","xla"];function Yu(){return{"!type":"dialog"}}function Zu(){return{"!type":"dialog"}}function Ju(){return{"!type":"macro"}}function qu(){return{"!type":"macro"}}var Qu=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?"":"$")+Pa(l)+(s?"":"$")+Ia(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var eh=/(^|[^._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 rh=function(){return function e(r,t){return r.replace(eh,function(e,r,a,n,i,s){var f=Da(n)-(a?0:t.c);var l=Oa(s)-(i?0:t.r);var o=i=="$"?l+1:l==0?"":"["+l+"]";var c=a=="$"?f+1:f==0?"":"["+f+"]";return r+"R"+o+"C"+c})}}();function th(e,r){return e.replace(eh,function(e,t,a,n,i,s){return t+(a=="$"?a+n:Pa(Da(n)+r.c))+(i=="$"?i+s:Ia(Oa(s)+r.r))})}function ah(e,r,t){var a=za(r),n=a.s,i=Ba(t);var s={r:i.r-n.r,c:i.c-n.c};return th(e,s)}function nh(e){if(e.length==1)return false;return true}function ih(e){return e.replace(/_xlfn\./g,"")}function sh(e){e.l+=1;return}function fh(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function lh(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return oh(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=fh(e,2);var f=fh(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 oh(e){var r=fh(e,2),t=fh(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 ch(e,r,t){if(t.biff<8)return oh(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=fh(e,2);var s=fh(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 uh(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return hh(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=fh(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function hh(e){var r=fh(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function dh(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 vh(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return ph(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 ph(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 mh(e,r,t){var a=(e[e.l++]&96)>>5;var n=lh(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function bh(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=lh(e,i,t);return[a,n,s]}function gh(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 wh(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 kh(e,r,t){var a=(e[e.l++]&96)>>5;var n=ch(e,r-1,t);return[a,n]}function Th(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function yh(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Eh(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 _h(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 Sh(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 xh(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function Ah(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Ch(e){var r=e._R(1),t=e._R(1);return[r,t]}function Rh(e){e._R(2);return Ch(e,2)}function Oh(e){e._R(2);return Ch(e,2)}function Ih(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=uh(e,0,t);return[a,n]}function Nh(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=vh(e,0,t);return[a,n]}function Fh(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=uh(e,0,t);return[a,n,i]}function Dh(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[lv[n],fv[n],a]}function Ph(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)]:Lh(e);return[n,(i[0]===0?fv:sv)[i[1]]]}function Lh(e){return[e[e.l+1]>>7,e._R(2)&32767]}function Mh(e,r,t){e.l+=t&&t.biff==2?3:4;return}function Uh(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 Bh(e){e.l++;return ei[e._R(1)]}function Wh(e){e.l++;return e._R(2)}function zh(e){e.l++;return e._R(1)!==0}function Hh(e){e.l++;return Sn(e,8)}function Vh(e,r,t){e.l++;return ms(e,r-1,t)}function $h(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]=os(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=ei[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=Sn(e,8);break;case 2:t[1]=Ts(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function Xh(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?En:Ws)(e,8));return n}function Gh(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]=$h(e,t.biff);return s}function jh(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 Kh(e,r,t){ +if(t.biff==5)return Yh(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 Yh(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 Zh(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 Jh(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function qh(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 Qh(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 ed=Ta;var rd=Ta;var td=Ta;function ad(e,r,t){e.l+=2;return[dh(e,4,t)]}function nd(e){e.l+=6;return[]}var id=ad;var sd=nd;var fd=nd;var ld=ad;function od(e){e.l+=2;return[us(e),e._R(2)&1]}var cd=ad;var ud=od;var hd=nd;var dd=ad;var vd=ad;var pd=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function md(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=pd[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function bd(e){e.l+=2;return[e._R(4)]}function gd(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function wd(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function kd(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Td(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function yd(e){e.l+=4;return[0,0]}var Ed={1:{n:"PtgExp",f:Uh},2:{n:"PtgTbl",f:td},3:{n:"PtgAdd",f:sh},4:{n:"PtgSub",f:sh},5:{n:"PtgMul",f:sh},6:{n:"PtgDiv",f:sh},7:{n:"PtgPower",f:sh},8:{n:"PtgConcat",f:sh},9:{n:"PtgLt",f:sh},10:{n:"PtgLe",f:sh},11:{n:"PtgEq",f:sh},12:{n:"PtgGe",f:sh},13:{n:"PtgGt",f:sh},14:{n:"PtgNe",f:sh},15:{n:"PtgIsect",f:sh},16:{n:"PtgUnion",f:sh},17:{n:"PtgRange",f:sh},18:{n:"PtgUplus",f:sh},19:{n:"PtgUminus",f:sh},20:{n:"PtgPercent",f:sh},21:{n:"PtgParen",f:sh},22:{n:"PtgMissArg",f:sh},23:{n:"PtgStr",f:Vh},26:{n:"PtgSheet",f:gd},27:{n:"PtgEndSheet",f:wd},28:{n:"PtgErr",f:Bh},29:{n:"PtgBool",f:zh},30:{n:"PtgInt",f:Wh},31:{n:"PtgNum",f:Hh},32:{n:"PtgArray",f:Th},33:{n:"PtgFunc",f:Dh},34:{n:"PtgFuncVar",f:Ph},35:{n:"PtgName",f:jh},36:{n:"PtgRef",f:Ih},37:{n:"PtgArea",f:mh},38:{n:"PtgMemArea",f:Zh},39:{n:"PtgMemErr",f:ed},40:{n:"PtgMemNoMem",f:rd},41:{n:"PtgMemFunc",f:Jh},42:{n:"PtgRefErr",f:qh},43:{n:"PtgAreaErr",f:gh},44:{n:"PtgRefN",f:Nh},45:{n:"PtgAreaN",f:kh},46:{n:"PtgMemAreaN",f:kd},47:{n:"PtgMemNoMemN",f:Td},57:{n:"PtgNameX",f:Kh},58:{n:"PtgRef3d",f:Fh},59:{n:"PtgArea3d",f:bh},60:{n:"PtgRefErr3d",f:Qh},61:{n:"PtgAreaErr3d",f:wh},255:{}};var _d={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 Sd={1:{n:"PtgElfLel",f:od},2:{n:"PtgElfRw",f:dd},3:{n:"PtgElfCol",f:id},6:{n:"PtgElfRwV",f:vd},7:{n:"PtgElfColV",f:ld},10:{n:"PtgElfRadical",f:cd},11:{n:"PtgElfRadicalS",f:hd},13:{n:"PtgElfColS",f:sd},15:{n:"PtgElfColSV",f:fd},16:{n:"PtgElfRadicalLel",f:ud},25:{n:"PtgList",f:md},29:{n:"PtgSxName",f:bd},255:{}};var xd={0:{n:"PtgAttrNoop",f:yd},1:{n:"PtgAttrSemi",f:Ah},2:{n:"PtgAttrIf",f:Sh},4:{n:"PtgAttrChoose",f:Eh},8:{n:"PtgAttrGoto",f:_h},16:{n:"PtgAttrSum",f:Mh},32:{n:"PtgAttrBaxcel",f:yh},33:{n:"PtgAttrBaxcel",f:yh},64:{n:"PtgAttrSpace",f:Rh},65:{n:"PtgAttrSpaceSemi",f:Oh},128:{n:"PtgAttrIfError",f:xh},255:{}};function Ad(e,r,t,a){if(a.biff<8)return Ta(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]=Gh(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=Xh(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(Ta(e,r));return i}function Cd(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=Ed[i]||Ed[_d[i]];if(i===24||i===25)n=(i===24?Sd:xd)[e[e.l+1]];if(!n||!n.f){Ta(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function Rd(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Id(e,r){var t=e.lastIndexOf("!"),a=r.lastIndexOf("!");if(t==-1&&a==-1)return e+":"+r;if(t>0&&a>0&&e.slice(0,t).toLowerCase()==r.slice(0,a).toLowerCase())return e+":"+r.slice(a+1);console.error("Cannot hydrate range",e,r);return e+":"+r}function Nd(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 Fd(e,r,t){var a=Nd(e,r,t);return a=="#REF"?a:$a(a,t)}function Dd(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=Tr(" ",e[0][p][1][1]);break;case 1:m=Tr("\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+Od[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(Id(o,l));break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=xa(w[1][1],s,n);f.push(Ca(c,i));break;case"PtgRefN":c=t?xa(w[1][1],t,n):w[1][1];f.push(Ca(c,i));break;case"PtgRef3d":u=w[1][1];c=xa(w[1][2],s,n);v=Fd(a,u,n);var k=v;f.push(v+"!"+Ca(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],y=w[1][1];if(!T)T=0;T&=127;var E=T==0?[]:f.slice(-T);f.length-=T;if(y==="User")y=E.shift();f.push(y+"("+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=Aa(w[1][1],t?{s:t}:s,n);f.push(Ra(d,n));break;case"PtgArea":d=Aa(w[1][1],s,n);f.push(Ra(d,n));break;case"PtgArea3d":u=w[1][1];d=w[1][2];v=Fd(a,u,n);f.push(v+"!"+Ra(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":h=w[1][2];var _=(a.names||[])[h-1]||(a[0]||[])[h];var S=_?_.Name:"SH33TJSNAME"+String(h);if(S&&S.slice(0,6)=="_xlfn."&&!n.xlfn)S=S.slice(6);f.push(S);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=(Nd(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=Tr(" ",e[0][p][1][1])+O;break;case 3:O=Tr("\r",e[0][p][1][1])+O;break;case 4:I=Tr(" ",e[0][p][1][1])+I;break;case 5:I=Tr("\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":c={c:w[1][1],r:w[1][0]};var N={c:t.c,r:t.r};if(a.sharedf[Wa(c)]){var F=a.sharedf[Wa(c)];f.push(Dd(F,s,N,a,n))}else{var D=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(Dd(o[1],s,N,a,n));D=true;break}if(!D)f.push(w[1])}break;case"PtgArray":f.push("{"+Rd(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=Tr(" ",w[1][1]);break;case 5:L=false;case 1:m=Tr("\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");if(f[0]=="TRUE")return true;if(f[0]=="FALSE")return false;return f[0]}function Pd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ta(e,r-2)];var f=Cd(e,s,t);if(r!==s+n)i=Ad(e,r-s-n,f,t);e.l=a;return[f,i]}function Ld(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ta(e,r-2)];var f=Cd(e,s,t);if(r!==s+n)i=Ad(e,r-s-n,f,t);e.l=a;return[f,i]}function Md(e,r,t,a){var n=e.l+r;var i=Cd(e,a,t);var s;if(n!==e.l)s=Ad(e,n-e.l,i,t);return[i,s]}function Ud(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Cd(e,i,t);if(i==65535)return[[],Ta(e,r-2)];if(r!==i+2)n=Ad(e,a-i-2,s,t);return[s,n]}function Bd(e){var r;if(oa(e,e.l+6)!==65535)return[Sn(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 Wd(e){if(e==null){var r=ya(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 xn(e);return xn(0)}function zd(e,r,t){var a=e.l+r;var n=Fs(e,6,t);var i=Bd(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=Ld(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function Hd(e,r,t,a,n){var i=Ds(r,t,n);var s=Wd(e.v);var f=ya(6);var l=1|32;f._W(2,l);f._W(4,0);var o=ya(e.bf.length);for(var c=0;c0?Ad(e,i,n,t):null;return[n,s]}var $d=Vd;var Xd=Vd;var Gd=Vd;var jd=Vd;function Kd(e){if((e|0)==e&&e=0){var r=ya(11);r._W(4,3);r._W(1,30);r._W(2,e);r._W(4,0);return r}var t=ya(17);t._W(4,11);t._W(1,31);t._W(8,e);t._W(4,0);return t}function Yd(e){var r=ya(10);r._W(4,2);r._W(1,28);r._W(1,e);r._W(4,0);return r}function Zd(e){var r=ya(10);r._W(4,2);r._W(1,29);r._W(1,e?1:0);r._W(4,0);return r}function Jd(e){var r=ya(7);r._W(4,3+2*e.length);r._W(1,23);r._W(2,e.length);var t=ya(2*e.length);t._W(2*e.length,e,"utf16le");var a=ya(4);a._W(4,0);return P([r,t,a])}function qd(e){var r=Ba(e);var t=ya(15);t._W(4,7);t._W(1,4|1<<5);t._W(4,r.r);t._W(2,r.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);t._W(4,0);return t}function Qd(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);var n=Ba(e);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var i=ya(17);i._W(4,9);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.r);i._W(2,n.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);i._W(4,0);return i}function ev(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=ya(17);n._W(4,9);n._W(1,28|1<<5);n._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));n._W(4,0);n._W(2,0);n._W(4,0);return n}function rv(e){var r=e.split(":"),t=r[0];var a=ya(23);a._W(4,15);t=r[0];var n=Ba(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);t=r[1];n=Ba(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);a._W(1,17);a._W(4,0);return a}function tv(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=e.split(":");var i=ya(27);i._W(4,19);var s=n[0],f=Ba(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);s=n[1];f=Ba(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);i._W(1,17);i._W(4,0);return i}function av(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=za(e);var i=ya(23);i._W(4,15);i._W(1,27|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.s.r);i._W(4,n.e.r);i._W(2,n.s.c);i._W(2,n.e.c);i._W(4,0);return i}function nv(e,r){if(typeof e=="number")return Kd(e);if(typeof e=="boolean")return Zd(e);if(/^#(DIV\/0!|GETTING_DATA|N\/A|NAME\?|NULL!|NUM!|REF!|VALUE!)$/.test(e))return Yd(+ri[e]);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return qd(e);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return rv(e);if(e.match(/^#REF!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return av(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Qd(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return tv(e,r);if(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!#REF!$/.test(e))return ev(e,r);if(/^".*"$/.test(e))return Jd(e);if(/^[+-]\d+$/.test(e))return Kd(parseInt(e,10));throw"Formula |"+e+"| not supported for XLSB"}var iv=nv;var sv={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 fv={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 lv={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 ov(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(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function cv(e){var r="of:="+e.replace(eh,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function uv(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});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 hv(e){return e.replace(/!/,".").replace(/:/,":.")}var dv={};var vv={};var pv=typeof Map!=="undefined";function mv(e,r,t){var a=0,n=e.length;if(t){if(pv?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=pv?t.get(r):t[r];for(;a-1){t.width=Qo(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 gv(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 wv(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){Ze(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 kv(e,r,t,a,n,i,s){try{if(a.cellNF)e.z=q[r]}catch(f){if(a.WTF)throw f}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=gr(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(q[r]==null)Ze(Xe[r]||"General",r);if(e.t==="e")e.w=e.w||ei[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=fe(e.v)}else if(e.t==="d"){var l=hr(e.v,!!s);if((l|0)===l)e.w=l.toString(10);else e.w=fe(l)}else if(e.v===undefined)return"";else e.w=le(e.v,vv)}else if(e.t==="d")e.w=We(r,hr(e.v,!!s),vv);else e.w=We(r,e.v,vv)}catch(f){if(a.WTF)throw f}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=Go(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=Go(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(f){if(a.WTF&&i.Fills)throw f}}function Tv(e,r,t){if(e&&e["!ref"]){var a=Xa(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Ha(t)}var Ev=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var _v=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Sv=/<(?:\w:)?hyperlink [^>]*>/gm;var xv=/"(\w*:\w*)"/;var Av=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Cv=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Rv=/<(?:\w:)?pageMargins[^>]*\/>/g;var Ov=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Iv=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Nv=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Fv(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={};if(r.dense)f["!data"]=[];var l={s:{r:2e6,c:2e6},e:{r:0,c:0}};var o="",c="";var u=e.match(_v);if(u){o=e.slice(0,u.index);c=e.slice(u.index+u[0].length)}else o=c=e;var h=o.match(Ov);if(h)Pv(h[0],f,n,t);else if(h=o.match(Iv))Lv(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(xv);if(v&&!(r&&r.nodim))yv(f,v[1])}var p=o.match(Nv);if(p&&p[1])Yv(p[1],n);var m=[];if(r.cellStyles){var b=o.match(Av);if(b)$v(m,b)}if(u)qv(u[1],f,r,l,i,s,n);var w=c.match(Cv);if(w)f["!autofilter"]=Gv(w[0]);var k=[];var T=c.match(Ev);if(T)for(d=0;d!=T.length;++d)k[d]=Xa(T[d].slice(T[d].indexOf('"')+1));var y=c.match(Sv);if(y)zv(f,y,a);var E=c.match(Rv);if(E)f["!margins"]=Hv(et(E[0]));var _;if(_=c.match(/legacyDrawing r:id="(.*?)"/))f["!legrel"]=_[1];if(r&&r.nodim)l.s.c=l.s.r=0;if(!f["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r)f["!ref"]=Ha(l);if(r.sheetRows>0&&f["!ref"]){var S=Xa(f["!ref"]);if(r.sheetRows<=+S.e.r){S.e.r=r.sheetRows-1;if(S.e.r>l.e.r)S.e.r=l.e.r;if(S.e.rl.e.c)S.e.c=l.e.c;if(S.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;if(a["!id"][f["!legrel"]])f["!legdrawel"]=a["!id"][f["!legrel"]];return f}function Dv(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Pv(e,r,t,a){var n=et(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=nt(wt(n.codeName))}function Lv(e,r,t,a,n){Pv(e.slice(0,e.indexOf(">")),t,a,n)}function Mv(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=kt(ft(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||"")+Ot("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=Ot("sheetPr",f,s)}var Uv=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Bv=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Wv(e){var r={sheet:1};Uv.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Bv.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=Io(e.password).toString(16).toUpperCase();return Ot("sheetProtection",null,r)}function zv(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=et(wt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+nt(i.location)}else{i.Target="#"+nt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Xa(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=Pa(o)+Ia(l);if(a){if(!e["!data"][l])e["!data"][l]=[];if(!e["!data"][l][o])e["!data"][l][o]={t:"z",v:undefined};e["!data"][l][o].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Hv(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Vv(e){gv(e);return Ot("pageMargins",null,e)}function $v(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=et(r[a],true);if(n.hidden)n.hidden=vt(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;rc(n.width)}tc(n);while(i<=s)e[i++]=kr(n)}}function Xv(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=Ot("col",null,bv(n,a))}t[t.length]="";return t.join("")}function Gv(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function jv(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Ha(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=za(n);if(s.s.r==s.e.r){s.e.r=za(r["!ref"]).e.r;n=Ha(s)}for(var f=0;fa-z][^>]*)?\/?>/g;function Yv(e,r){if(!r.Views)r.Views=[{}];(e.match(Kv)||[]).forEach(function(e,t){var a=et(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&vt(a.rightToLeft))r.Views[t].RTL=true})}function Zv(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return Ot("sheetViews",Ot("sheetView",null,n),{})}function Jv(e,r,t,a,n,i,s){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")return"";var f="";var l=e.t,o=e.v;if(e.t!=="z")switch(e.t){case"b":f=e.v?"1":"0";break;case"n":if(isNaN(e.v)){e.t="e";f=ei[e.v=36]}else if(!isFinite(e.v)){e.t="e";f=ei[e.v=7]}else f=""+e.v;break;case"e":f=ei[e.v];break;case"d":if(a&&a.cellDates){var c=gr(e.v,s);f=c.toISOString();if(c.getUTCFullYear()<1900)f=f.slice(f.indexOf("T")+1).replace("Z","")}else{e=kr(e);e.t="n";f=""+(e.v=hr(gr(e.v,s),s))}if(typeof e.z==="undefined")e.z=q[14];break;default:f=e.v;break;}var u=e.t=="z"||e.v==null?"":Ct("v",ft(f)),h={r:r};var d=wv(a.cellXfs,e,a);if(d!==0)h.s=d;switch(e.t){case"n":break;case"d":h.t="d";break;case"b":h.t="b";break;case"e":h.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){u=Ct("v",""+mv(a.Strings,e.v,a.revStrings));h.t="s";break}else h.t="str";break;}if(e.t!=l){e.t=l;e.v=o}if(typeof e.f=="string"&&e.f){var v=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;u=Ot("f",ft(e.f),v)+(e.v!=null?u:"")}if(e.l){e.l.display=ft(f);t["!links"].push([r,e.l])}if(e.D)h.cm=1;return Ot("c",u,h)}var qv=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=Tt("v"),s=Tt("f");return function f(l,o,c,u,h,d,v){var p=0,m="",b=[],g=[],w=0,k=0,T=0,y="",E;var _,S=0,x=0;var A,C;var R=0,O=0;var I=Array.isArray(d.CellXf),N;var F=[];var D=[];var P=o["!data"]!=null;var L=[],M={},U=false;var B=!!c.sheetStubs;var W=!!((v||{}).WBProps||{}).date1904;for(var z=l.split(r),H=0,V=z.length;H!=V;++H){m=z[H].trim();var $=m.length;if($===0)continue;var X=0;e:for(p=0;p<$;++p)switch(m[p]){case">":if(m[p-1]!="/"){++p;break e}if(c&&c.cellStyles){_=et(m.slice(X,p),true);S=_.r!=null?parseInt(_.r,10):S+1;x=-1;if(c.sheetRows&&c.sheetRows=p)break;_=et(m.slice(X,p),true);S=_.r!=null?parseInt(_.r,10):S+1;x=-1;if(c.sheetRows&&c.sheetRowsS-1)u.s.r=S-1;if(u.e.r":"")+m;if(g!=null&&g.length===2){w=0;y=g[1];for(k=0;k!=y.length;++k){if((T=y.charCodeAt(k)-64)<1||T>26)break;w=26*w+T}--w;x=w}else++x;for(k=0;k!=m.length;++k)if(m.charCodeAt(k)===62)break;++k;_=et(m.slice(0,k),true);if(!_.r)_.r=Wa({r:S-1,c:x});y=m.slice(k);E={t:""};if((g=y.match(i))!=null&&g[1]!=="")E.v=nt(g[1]);if(c.cellFormula){if((g=y.match(s))!=null){if(g[1]==""){if(g[0].indexOf('t="shared"')>-1){C=et(g[0]);if(D[C.si])E.f=ah(D[C.si][1],D[C.si][2],_.r)}}else{E.f=nt(wt(g[1]),true);if(!c.xlfn)E.f=ih(E.f);if(g[0].indexOf('t="array"')>-1){E.F=(y.match(n)||[])[1];if(E.F.indexOf(":")>-1)F.push([Xa(E.F),E.F])}else if(g[0].indexOf('t="shared"')>-1){C=et(g[0]);var j=nt(wt(g[1]));if(!c.xlfn)j=ih(j);D[parseInt(C.si,10)]=[C,j,_.r]}}}else if(g=y.match(/]*\/>/)){C=et(g[0]);if(D[C.si])E.f=ah(D[C.si][1],D[C.si][2],_.r)}var K=Ba(_.r);for(k=0;k=F[k][0].s.r&&K.r<=F[k][0].e.r)if(K.c>=F[k][0].s.c&&K.c<=F[k][0].e.c)E.F=F[k][1]}if(_.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=_.t||"n";if(u.s.c>x)u.s.c=x;if(u.e.cZ.r)u.s.r=Z.r;if(u.e.r0)o["!rows"]=L}}();function Qv(e,r,t,a){var n=[],i=[],s=Xa(e["!ref"]),f="",l,o="",c=[],u=0,h=0,d=e["!rows"];var v=e["!data"]!=null;var p={r:o},m,b=-1;var g=(((a||{}).Workbook||{}).WBProps||{}).date1904;for(h=s.s.c;h<=s.e.c;++h)c[h]=Pa(h);for(u=s.s.r;u<=s.e.r;++u){i=[];o=Ia(u);for(h=s.s.c;h<=s.e.c;++h){l=c[h]+o;var w=v?(e["!data"][u]||[])[h]:e[l];if(w===undefined)continue;if((f=Jv(w,l,e,r,t,a,g))!=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=ic(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]=Ot("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]=Ot("row","",p)}}return n.join("")}function ep(e,r,t,a){var n=[jr,Ot("worksheet",null,{xmlns:Lt[0],"xmlns:r":Pt.r})];var i=t.SheetNames[e],s=0,f="";var l=t.Sheets[i];if(l==null)l={};var o=l["!ref"]||"A1";var c=Xa(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=Ha(c)}if(!a)a={};l["!comments"]=[];var u=[];Mv(l,t,e,r,n);n[n.length]=Ot("dimension",null,{ref:o});n[n.length]=Zv(l,r,e,t);if(r.sheetFormat)n[n.length]=Ot("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]=Xv(l,l["!cols"]);n[s=n.length]="";l["!links"]=[];if(l["!ref"]!=null){f=Qv(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]=Wv(l["!protect"]);if(l["!autofilter"]!=null)n[n.length]=jv(l["!autofilter"],l,t,e);if(l["!merges"]!=null&&l["!merges"].length>0)n[n.length]=Dv(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=hi(a,-1,ft(e[1].Target).replace(/#.*$/,""),li.HLINK);d["r:id"]="rId"+v}if((h=e[1].Target.indexOf("#"))>-1)d.location=ft(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=ft(e[1].Tooltip);d.display=e[1].display;n[n.length]=Ot("hyperlink",null,d)});n[n.length]=""}delete l["!links"];if(l["!margins"]!=null)n[n.length]=Vv(l["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=Ct("ignoredErrors",Ot("ignoredError",null,{numberStoredAsText:1,sqref:o}));if(u.length>0){v=hi(a,-1,"../drawings/drawing"+(e+1)+".xml",li.DRAW);n[n.length]=Ot("drawing",null,{"r:id":"rId"+v});l["!drawing"]=u}if(l["!comments"].length>0){v=hi(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",li.VML);n[n.length]=Ot("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 rp(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 tp(e,r,t){var a=ya(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=ic(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};var c=t["!data"]!=null;for(var u=0;u<16;++u){if(r.s.c>u+1<<10||r.e.ca.l?a.slice(0,a.l):a}function ap(e,r,t,a){var n=tp(a,t,r);if(n.length>17||(r["!rows"]||[])[a])Sa(e,0,n)}var np=En;var ip=_n;function sp(){}function fp(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=hn(e,r-19);return t}function lp(e,r,t){if(t==null)t=ya(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);Cn({auto:1},t);t._W(-4,-1);t._W(-4,-1);dn(e,t);return t.slice(0,t.l)}function op(e){var r=ln(e);return[r]}function cp(e,r,t){if(t==null)t=ya(8);return on(r,t)}function up(e){var r=cn(e);return[r]}function hp(e,r,t){if(t==null)t=ya(4);return un(r,t)}function dp(e){var r=ln(e);var t=e._R(1);return[r,t,"b"]}function vp(e,r,t){if(t==null)t=ya(9);on(r,t);t._W(1,e.v?1:0);return t}function pp(e){var r=cn(e);var t=e._R(1);return[r,t,"b"]}function mp(e,r,t){if(t==null)t=ya(5);un(r,t);t._W(1,e.v?1:0);return t}function bp(e){var r=ln(e);var t=e._R(1);return[r,t,"e"]}function gp(e,r,t){if(t==null)t=ya(9);on(r,t);t._W(1,e.v);return t}function wp(e){var r=cn(e);var t=e._R(1);return[r,t,"e"]}function kp(e,r,t){if(t==null)t=ya(8);un(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Tp(e){var r=ln(e);var t=e._R(4);return[r,t,"s"]}function yp(e,r,t){if(t==null)t=ya(12);on(r,t);t._W(4,r.v);return t}function Ep(e){var r=cn(e);var t=e._R(4);return[r,t,"s"]}function _p(e,r,t){if(t==null)t=ya(8);un(r,t);t._W(4,r.v);return t}function Sp(e){var r=ln(e);var t=Sn(e);return[r,t,"n"]}function xp(e,r,t){if(t==null)t=ya(16);on(r,t);xn(e.v,t);return t}function Ap(e){var r=cn(e);var t=Sn(e);return[r,t,"n"]}function Cp(e,r,t){if(t==null)t=ya(12);un(r,t);xn(e.v,t);return t}function Rp(e){var r=ln(e);var t=wn(e);return[r,t,"n"]}function Op(e,r,t){if(t==null)t=ya(12);on(r,t);kn(e.v,t);return t}function Ip(e){var r=cn(e);var t=wn(e);return[r,t,"n"]}function Np(e,r,t){if(t==null)t=ya(8);un(r,t);kn(e.v,t);return t}function Fp(e){var r=ln(e);var t=an(e);return[r,t,"is"]}function Dp(e){var r=ln(e);var t=Qa(e);return[r,t,"str"]}function Pp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=ya(12+4*e.v.length);on(r,t);en(a,t);return t.length>t.l?t.slice(0,t.l):t}function Lp(e){var r=cn(e);var t=Qa(e);return[r,t,"str"]}function Mp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=ya(8+4*a.length);un(r,t);en(a,t);return t.length>t.l?t.slice(0,t.l):t}function Up(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=Xd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Bp(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=Xd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Wp(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=Sn(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=Xd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}function zp(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=Qa(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=Xd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}var Hp=En;var Vp=_n;function $p(e,r){if(r==null)r=ya(4);r._W(4,e);return r}function Xp(e,r){var t=e.l+r;var a=En(e,16);var n=vn(e);var i=Qa(e);var s=Qa(e);var f=Qa(e);e.l=t;var l={rfx:a,relId:n,loc:i,display:f};if(s)l.Tooltip=s;return l}function Gp(e,r){var t=ya(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));_n({s:Ba(e[0]),e:Ba(e[0])},t);gn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);en(n||"",t);en(e[1].Tooltip||"",t);en("",t);return t.slice(0,t.l)}function jp(){}function Kp(e,r,t){var a=e.l+r;var n=Tn(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=$d(e,a-e.l,t);s[1]=f}else e.l=a;return s}function Yp(e,r,t){var a=e.l+r;var n=En(e,16);var i=[n];if(t.cellFormula){var s=jd(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function Zp(e,r,t){if(t==null)t=ya(18);var a=bv(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 Jp=["left","right","top","bottom","header","footer"];function qp(e){var r={};Jp.forEach(function(t){r[t]=Sn(e,8)});return r}function Qp(e,r){if(r==null)r=ya(6*8);gv(e);Jp.forEach(function(t){xn(e[t],r)});return r}function em(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function rm(e,r,t){if(t==null)t=ya(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 tm(e){var r=ya(24);r._W(4,4);r._W(4,1);_n(e,r);return r}function am(e,r){if(r==null)r=ya(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 nm(){}function im(){}function sm(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 l={};if(f.dense)l["!data"]=[];var o;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var u=[];var h=false,d=false;var v,p,m,b,w,k,T,y,E;var _=[];f.biff=12;f["!row"]=0;var S=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;O0);w=e[0].c==-1?w+1:e[0].c;if(f.dense){if(!l["!data"][b])l["!data"][b]=[];l["!data"][b][w]=p}else l[Pa(w)+y]=p;if(f.cellFormula){x=false;for(S=0;S=O[0].s.r&&v.r<=O[0].e.r)if(w>=O[0].s.c&&w<=O[0].e.c){p.F=Ha(O[0]);x=true}}if(!x&&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;rc(e.w/256)}tc(I[e.e+1])}break;case 551:if(e)l["!legrel"]=e;break;case 161:l["!autofilter"]={ref:Ha(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 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(g);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"+g.toString(16));}},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"]=Ha(o||c);if(f.sheetRows&&l["!ref"]){var M=Xa(l["!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)l["!merges"]=_;if(I.length>0)l["!cols"]=I;if(N.length>0)l["!rows"]=N;if(a["!id"][l["!legrel"]])l["!legdrawel"]=a["!id"][l["!legrel"]];return l}function fm(e,r,t,a,n,i,s,f){var l={r:t,c:a};if(r.c)i["!comments"].push([Wa(l),r.c]);if(r.v===undefined)return false;var o="";switch(r.t){case"b":o=r.v?"1":"0";break;case"d":r=kr(r);r.z=r.z||q[14];r.v=hr(gr(r.v,f),f);r.t="n";break;case"n":;case"e":o=""+r.v;break;default:o=r.v;break;}l.s=wv(n.cellXfs,r,n);if(r.l)i["!links"].push([Wa(l),r.l]);switch(r.t){case"s":;case"str":if(n.bookSST){o=mv(n.Strings,r.v==null?"":String(r.v),n.revStrings);l.t="s";l.v=o;if(s)Sa(e,18,_p(r,l));else Sa(e,7,yp(r,l))}else{l.t="str";if(s)Sa(e,17,Mp(r,l));else Sa(e,6,Pp(r,l))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)Sa(e,13,Np(r,l));else Sa(e,2,Op(r,l))}else if(isNaN(r.v)){if(s)Sa(e,14,kp({t:"e",v:36},l));else Sa(e,3,gp({t:"e",v:36},l))}else if(!isFinite(r.v)){if(s)Sa(e,14,kp({t:"e",v:7},l));else Sa(e,3,gp({t:"e",v:7},l))}else{if(s)Sa(e,16,Cp(r,l));else Sa(e,5,xp(r,l))}return true;case"b":l.t="b";if(s)Sa(e,15,mp(r,l));else Sa(e,4,vp(r,l));return true;case"e":l.t="e";if(s)Sa(e,14,kp(r,l));else Sa(e,3,gp(r,l));return true;}if(s)Sa(e,12,hp(r,l));else Sa(e,1,cp(r,l));return true}function lm(e,r,t,a,n){var i=Xa(r["!ref"]||"A1"),s,f="",l=[];var o=(((n||{}).Workbook||{}).WBProps||{}).date1904;Sa(e,145);var c=r["!data"]!=null;var u=i.e.r;if(r["!rows"])u=Math.max(i.e.r,r["!rows"].length-1);for(var h=i.s.r;h<=u;++h){f=Ia(h);ap(e,r,i,h);var d=false;if(h<=i.e.r)for(var v=i.s.c;v<=i.e.c;++v){if(h===i.s.r)l[v]=Pa(v);s=l[v]+f;var p=c?(r["!data"][h]||[])[v]:r[s];if(!p){d=false;continue}d=fm(e,p,h,v,a,r,d,o)}}Sa(e,146)}function om(e,r){if(!r||!r["!merges"])return;Sa(e,177,$p(r["!merges"].length));r["!merges"].forEach(function(r){Sa(e,176,Vp(r))});Sa(e,178)}function cm(e,r){if(!r||!r["!cols"])return;Sa(e,390);r["!cols"].forEach(function(r,t){if(r)Sa(e,60,Zp(t,r))});Sa(e,391)}function um(e,r){if(!r||!r["!ref"])return;Sa(e,648);Sa(e,649,tm(Xa(r["!ref"])));Sa(e,650)}function hm(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=hi(t,-1,r[1].Target.replace(/#.*$/,""),li.HLINK);Sa(e,494,Gp(r,a))});delete r["!links"]}function dm(e,r,t,a){if(r["!comments"].length>0){var n=hi(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",li.VML);Sa(e,551,gn("rId"+n));r["!legacy"]=n}}function vm(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Ha(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=za(i);if(f.s.r==f.e.r){f.e.r=za(r["!ref"]).e.r;i=Ha(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"]=[];Sa(n,129);if(t.vbaraw||s["!outline"])Sa(n,147,lp(f,s["!outline"]));Sa(n,148,ip(o));pm(n,s,t.Workbook);mm(n,s);cm(n,s,e,r,t);lm(n,s,e,r,t);bm(n,s);vm(n,s,t,e);om(n,s);hm(n,s,a);if(s["!margins"])Sa(n,476,Qp(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)um(n,s);dm(n,s,e,a);Sa(n,130);return n.end()}function wm(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=nt((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 km(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=wm(e);c.s.r=c.s.c=0;c.e.c=f;o=Pa(f);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][f]={t:"n",v:e,z:r[1]}}else s[o+Ia(t)]={t:"n",v:e,z:r[1]};l=t});if(c.e.r0)s["!ref"]=Ha(c);return s}function Tm(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(Ov);if(f)Pv(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 ym(e,r){e.l+=10;var t=Qa(e,r-10);return{name:t}}function Em(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;Ea(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(o);break;case 38:s.pop();break;default:if(a.T>0)s.push(o);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}var _m=[["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 Sm=[["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 xm=[];var Am=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Cm(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]]=vt(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Rm(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]]=vt(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Om(e){Rm(e.WBProps,_m);Rm(e.CalcPr,Am);Cm(e.WBView,Sm);Cm(e.Sheets,xm);vv.date1904=vt(e.WBProps.date1904)}function Im(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return vt(e.Workbook.WBProps.date1904)?"true":"false"}var Nm=":][*?/\\".split("");function Fm(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");Nm.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function Dm(e,r,t){e.forEach(function(a,n){Fm(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Pm(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||[];Dm(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":_m.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=vt(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=wt(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=nt(wt(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){_m.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]=Ot("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:ft(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]=Ot("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]=Ot("definedName",ft(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Bm(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=bn(e,r-8);t.name=Qa(e);return t}function Wm(e,r){if(!r)r=ya(127);r._W(4,e.Hidden);r._W(4,e.iTabID);gn(e.strRelID,r);en(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function zm(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Qa(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 Hm(e,r){if(!r)r=ya(72);var t=0;if(e){if(e.date1904)t|=1;if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);dn(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Vm(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function $m(e,r,t){var a=e.l+r;var n=e._R(4);e.l+=1;var i=e._R(4);var s=mn(e);var f=Gd(e,0,t);var l=vn(e);if(n&32)s="_xlnm."+s;e.l=a;var o={Name:s,Ptg:f,Flags:n};if(i<268435455)o.Sheet=i;if(l)o.Comment=l;return o}function Xm(e,r){var t=ya(9);var a=0;var n=e.Name;if(ti.indexOf(n)>-1){a|=32;n=n.slice(6)}t._W(4,a);t._W(1,0);t._W(4,e.Sheet==null?4294967295:e.Sheet);var i=[t,en(n),iv(e.Ref,r)];if(e.Comment)i.push(pn(e.Comment));else{var s=ya(4);s._W(4,4294967295);i.push(s)}return P(i)}function Gm(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=[];Zb[16]={n:"BrtFRTArchID$",f:Vm};Ea(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=Dd(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(o);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(o);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(l.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+o.toString(16));}},r);Om(t);t.Names=i;t.supbooks=s;return t}function jm(e,r){Sa(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]};Sa(e,156,Wm(n))}Sa(e,144)}function Km(r,t){if(!t)t=ya(127);for(var a=0;a!=4;++a)t._W(4,0);en("SheetJS",t);en(e.version,t);en(e.version,t);en("7262",t);return t.length>t.l?t.slice(0,t.l):t}function Ym(e,r){if(!r)r=ya(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 Zm(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;Sa(e,135);Sa(e,158,Ym(n));Sa(e,136)}function Jm(e,r){if(!r.Workbook||!r.Workbook.Names)return;r.Workbook.Names.forEach(function(t){try{if(t.Flags&14)return;Sa(e,39,Xm(t,r))}catch(a){console.error("Could not serialize defined name "+JSON.stringify(t))}})}function qm(e){var r=e.SheetNames.length;var t=ya(12*r+28);t._W(4,r+2);t._W(4,0);t._W(4,-2);t._W(4,-2);t._W(4,0);t._W(4,-1);t._W(4,-1);for(var a=0;a-1?nt(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=hr(gr(e,c),c);if(a.v!==a.v)a.v=nt(e);if(!u||u=="General")u="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=ri[e];if(o.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=ht(r||e)}break;}wb(a,u,o,c);if(o.cellFormula!==false){if(a.Formula){var m=nt(a.Formula);if(m.charCodeAt(0)==61)m=m.slice(1);a.f=Qu(m,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=Qu("RC:RC",n);else if(a.ArrayRange){a.F=Qu(a.ArrayRange,n);l.push([Xa(a.F),a.F])}}else{for(p=0;p=l[p][0].s.r&&n.r<=l[p][0].e.r)if(n.c>=l[p][0].s.c&&n.c<=l[p][0].e.c)a.F=l[p][1]}}if(o.cellStyles){v.forEach(function(e){if(!d.patternType&&e.patternType)d.patternType=e.patternType});a.s=d}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function yb(e){return ti.indexOf("_xlnm."+e)>-1?"_xlnm."+e:e}function Eb(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 _b(e,r){var t=r||{};Ve();var n=v(Ft(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=wt(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=kr(t);f.type="string";return jl.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return Sg(n,t);mb={"General Number":"General","General Date":q[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":q[15],"Short Date":q[14],"Long Time":q[19],"Medium Time":q[18],"Short Time":q[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:q[2],Standard:q[4],Percent:q[10],Scientific:q[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var l;var o=[],u;if(g!=null&&t.dense==null)t.dense=g;var h={},d=[],p={},m="";if(t.dense)p["!data"]=[];var b={},w={};var k=vb(''),T=0;var y=0,E=0;var _={s:{r:2e6,c:2e6},e:{r:0,c:0}};var S={},x={};var A="",C=0;var R=[];var O={},I={},N=0,F=[];var D=[],P={};var L=[],M,U=false;var B=[];var W=[],z={},H=0,V=0;var $={Sheets:[],WBProps:{date1904:false}},X={};Dt.lastIndex=0;n=n.replace(//gm,"");var G="";while(l=Dt.exec(n))switch(l[3]=(G=l[3]).toLowerCase()){case"data":if(G=="data"){if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break}if(o[o.length-1][1])break;if(l[1]==="/")Tb(n.slice(T,l.index),A,k,o[o.length-1][0]=="comment"?P:b,{c:y,r:E},S,L[y],w,B,t,$.WBProps.date1904);else{A="";k=vb(l[0]);T=l.index+l[0].length}break;case"cell":if(l[1]==="/"){if(D.length>0)b.c=D;if((!t.sheetRows||t.sheetRows>E)&&b.v!==void 0){if(t.dense){if(!p["!data"][E])p["!data"][E]=[];p["!data"][E][y]=b}else p[Pa(y)+Ia(E)]=b}if(b.HRef){b.l={Target:nt(b.HRef)};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){H=y+(parseInt(b.MergeAcross,10)|0);V=E+(parseInt(b.MergeDown,10)|0);if(H>y||V>E)R.push({s:{c:y,r:E},e:{c:H,r:V}})}if(!t.sheetStubs){if(b.MergeAcross)y=H+1;else++y}else if(b.MergeAcross||b.MergeDown){for(var j=y;j<=H;++j){for(var K=E;K<=V;++K){if(j>y||K>E){if(t.dense){if(!p["!data"][K])p["!data"][K]=[];p["!data"][K][j]={t:"z"}}else p[Pa(j)+Ia(K)]={t:"z"}}}}y=H+1}else++y}else{b=pb(l[0]);if(b.Index)y=+b.Index-1;if(y<_.s.c)_.s.c=y;if(y>_.e.c)_.e.c=y;if(l[0].slice(-2)==="/>")++y;D=[]}break;case"row":if(l[1]==="/"||l[0].slice(-2)==="/>"){if(E<_.s.r)_.s.r=E;if(E>_.e.r)_.e.r=E;if(l[0].slice(-2)==="/>"){w=vb(l[0]);if(w.Index)E=+w.Index-1}y=0;++E}else{w=vb(l[0]);if(w.Index)E=+w.Index-1;z={};if(w.AutoFitHeight=="0"||w.Height){z.hpx=parseInt(w.Height,10);z.hpt=ic(z.hpx);W[E]=z}if(w.Hidden=="1"){z.hidden=true;W[E]=z}}break;case"worksheet":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"));d.push(m);if(_.s.r<=_.e.r&&_.s.c<=_.e.c){p["!ref"]=Ha(_);if(t.sheetRows&&t.sheetRows<=_.e.r){p["!fullref"]=p["!ref"];_.e.r=t.sheetRows-1;p["!ref"]=Ha(_)}}if(R.length)p["!merges"]=R;if(L.length>0)p["!cols"]=L;if(W.length>0)p["!rows"]=W;h[m]=p}else{_={s:{r:2e6,c:2e6},e:{r:0,c:0}};E=y=0;o.push([l[3],false]);u=vb(l[0]);m=nt(u.Name);p={};if(t.dense)p["!data"]=[];R=[];B=[];W=[];X={name:m,Hidden:0};$.Sheets.push(X)}break;case"table":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].slice(-2)=="/>")break;else{o.push([l[3],false]);L=[];U=false}break;case"style":if(l[1]==="/")kb(S,x,t);else x=vb(l[0]);break;case"numberformat":x.nf=nt(vb(l[0]).Format||"General");if(mb[x.nf])x.nf=mb[x.nf];for(var Y=0;Y!=392;++Y)if(q[Y]==x.nf)break;if(Y==392)for(Y=57;Y!=392;++Y)if(q[Y]==null){Ze(x.nf,Y);break}break;case"column":if(o[o.length-1][0]!=="table")break;if(l[1]==="/")break;M=vb(l[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;Zo=jo;for(var Z=0;Z0)ee.Sheet=$.Sheets.length-1;$.Names.push(ee);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(l[0].slice(-2)==="/>")break;else if(l[1]==="/")A+=n.slice(C,l.index);else C=l.index+l[0].length;break;case"interior":if(!t.cellStyles)break;x.Interior=vb(l[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(l[0].slice(-2)==="/>")break;else if(l[1]==="/")Pi(O,G,n.slice(N,l.index));else N=l.index+l[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else o.push([l[3],false]);break;case"comment":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"));Eb(P);D.push(P)}else{o.push([l[3],false]);u=vb(l[0]);if(!vt(u["ShowAlways"]||"0"))D.hidden=true;P={a:u.Author}}break;case"autofilter":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/"){var re=vb(l[0]);p["!autofilter"]={ref:Qu(re.Range).replace(/\$/g,"")};o.push([l[3],true])}break;case"name":break;case"datavalidation":if(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else{if(l[0].charAt(l[0].length-2)!=="/")o.push([l[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(l[1]==="/"){if((u=o.pop())[0]!==l[3])throw new Error("Bad state: "+u.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break;case"null":break;default:if(o.length==0&&l[3]=="document")return Mg(n,t);if(o.length==0&&l[3]=="uof")return Mg(n,t);var te=true;switch(o[o.length-1][0]){case"officedocumentsettings":switch(l[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:te=false;}break;case"componentoptions":switch(l[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:te=false;}break;case"excelworkbook":switch(l[3]){case"date1904":$.WBProps.date1904=true;break;case"hidehorizontalscrollbar":break;case"hideverticalscrollbar":break;case"hideworkbooktabs":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:te=false;}break;case"workbookoptions":switch(l[3]){case"owcversion":break;case"height":break;case"width":break;default:te=false;}break;case"worksheetoptions":switch(l[3]){case"visible":if(l[0].slice(-2)==="/>"){}else if(l[1]==="/")switch(n.slice(N,l.index)){case"SheetHidden":X.Hidden=1;break;case"SheetVeryHidden":X.Hidden=2;break;}else N=l.index+l[0].length;break;case"header":if(!p["!margins"])gv(p["!margins"]={},"xlml");if(!isNaN(+et(l[0]).Margin))p["!margins"].header=+et(l[0]).Margin;break;case"footer":if(!p["!margins"])gv(p["!margins"]={},"xlml");if(!isNaN(+et(l[0]).Margin))p["!margins"].footer=+et(l[0]).Margin;break;case"pagemargins":var ae=et(l[0]);if(!p["!margins"])gv(p["!margins"]={},"xlml");if(!isNaN(+ae.Top))p["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))p["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))p["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))p["!margins"].bottom=+ae.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:te=false;}break;case"pivottable":;case"pivotcache":switch(l[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:te=false;}break;case"pagebreaks":switch(l[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:te=false;}break;case"autofilter":switch(l[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=false;}break;case"querytable":switch(l[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:te=false;}break;case"datavalidation":switch(l[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:te=false;}break;case"sorting":;case"conditionalformatting":switch(l[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:te=false;}break;case"mapinfo":;case"schema":;case"data":switch(l[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:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)break;if(l[3].match(/!\[CDATA/))break;if(!o[o.length-1][1])throw"Unrecognized tag: "+l[3]+"|"+o.join("|");if(o[o.length-1][0]==="customdocumentproperties"){if(l[0].slice(-2)==="/>")break;else if(l[1]==="/")gb(I,G,F,n.slice(N,l.index));else{F=l;N=l.index+l[0].length}break}if(t.WTF)throw"Unrecognized tag: "+l[3]+"|"+o.join("|");}var ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=h;ne.SheetNames=d;ne.Workbook=$;ne.SSF=kr(q);ne.Props=O;ne.Custprops=I;ne.bookType="xlml";return ne}function Sb(e,r){Jw(r=r||{});switch(r.type||"base64"){case"base64":return _b(_(e),r);case"binary":;case"buffer":;case"file":return _b(e,r);case"array":return _b(N(e),r);}}function xb(e,r){var t=[];if(e.Props)t.push(Li(e.Props,r));if(e.Custprops)t.push(Mi(e.Props,e.Custprops,r));return t.join("")}function Ab(e){if((((e||{}).Workbook||{}).WBProps||{}).date1904)return'';return""}function Cb(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(Ot("NumberFormat",null,{"ss:Format":ft(q[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(Ot("Style",a.join(""),n))});return Ot("Styles",t.join(""))}function Rb(e){return Ot("NamedRange",null,{"ss:Name":e.Name.slice(0,6)=="_xlnm."?e.Name.slice(6):e.Name,"ss:RefersTo":"="+rh(e.Ref,{r:0,c:0})})}function Ob(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(Ot("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(Ot("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(Ot("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(Ot("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(Ct("ProtectContents","True"));if(e["!protect"].objects)n.push(Ct("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(Ct("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(Ct("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(Ct("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 Ot("WorksheetOptions",n.join(""),{xmlns:Mt.x})}function Fb(e){return e.map(function(r){var t=dt(r.t||"");var a=Ot("ss:Data",t,{xmlns:"http://www.w3.org/TR/REC-html40"});var n={};if(r.a)n["ss:Author"]=r.a;if(!e.hidden)n["ss:ShowAlways"]="1";return Ot("Comment",a,n)}).join("")}function Db(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+ft(rh(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var l=Ba(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"]=ft(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=ft(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=ei[e.v];break;case"d":u="DateTime";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||q[14];break;case"s":u="String";h=ut(e.v||"");break;}var d=wv(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+=Fb(e.c);return Ot("Cell",p,f)}function Pb(e,r){var t='"}function Lb(e,r,t,a){if(!e["!ref"])return"";var n=Xa(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=bv(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Jo(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(Ot("Column",null,n))});var l=e["!data"]!=null;for(var o=n.s.r;o<=n.e.r;++o){var c=[Pb(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 Mb(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?Ib(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?Lb(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Nb(i,r,e,t));if(i["!autofilter"])a.push('');return a.join("")}function Ub(e,r){if(!r)r={};if(!e.SSF)e.SSF=kr(q);if(e.SSF){Ve();He(e.SSF);r.revssf=fr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];wv(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(xb(e,r));t.push(Ab(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=Fn(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var Wb=[60,1084,2066,2165,2175];function zb(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 l=oa(t,t.l),o=Jb[l];var c=0;while(o!=null&&Wb.indexOf(l)>-1){i=oa(t,t.l+2);c=t.l+4;if(l==2066)c+=4;else if(l==2165||l==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;o=Jb[l=oa(t,t.l)]}var u=P(s);ka(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)R(e,r,t);delete r.ixfe;delete r.XF;h=e;d=Wa(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(Y.r==12){e.l+=10;K-=10}}var J={};if(j===10)J=Y.f(e,K,I);else J=zb(j,Y,e,K,I);if(W==0&&[9,521,1033,2057].indexOf(B)===-1)continue;switch(j){case 34:t.opts.Date1904=S.WBProps.date1904=J;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!I.enc)e.l=0;I.enc=J;if(!r.password)throw new Error("File is password-protected");if(J.valid==null)throw new Error("Encryption scheme unsupported");if(!J.valid)throw new Error("Password is incorrect");break;case 92:I.lastuser=J;break;case 66:var Q=Number(J);switch(Q){case 21010:Q=1200;break;case 32768:Q=1e4;break;case 32769:Q=1252;break;}l(I.codepage=Q);X=true;break;case 317:I.rrtabid=J;break;case 25:I.winlocked=J;break;case 439:t.opts["RefreshAll"]=J;break;case 12:t.opts["CalcCount"]=J;break;case 16:t.opts["CalcDelta"]=J;break;case 17:t.opts["CalcIter"]=J;break;case 13:t.opts["CalcMode"]=J;break;case 14:t.opts["CalcPrecision"]=J;break;case 95:t.opts["CalcSaveRecalc"]=J;break;case 15:I.CalcRefMode=J;break;case 2211:t.opts.FullCalc=J;break;case 129:if(J.fDialog)n["!type"]="dialog";if(!J.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!J.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 67:;case 579:;case 1091:;case 224:E.push(J);break;case 430:U.push([J]);U[U.length-1].XTI=[];break;case 35:;case 547:U[U.length-1].push(J);break;case 24:;case 536:$={Name:J.Name,Ref:Dd(J.rgce,s,null,U,I)};if(J.itab>0)$.Sheet=J.itab-1;U.names.push($);if(!U[0]){U[0]=[];U[0].XTI=[]}U[U.length-1].push(J);if(J.Name=="_xlnm._FilterDatabase"&&J.itab>0)if(J.rgce&&J.rgce[0]&&J.rgce[0][0]&&J.rgce[0][0][0]=="PtgArea3d")V[J.itab-1]={ref:Ha(J.rgce[0][0][1][2])};break;case 22:I.ExternCount=J;break;case 23:if(U.length==0){U[0]=[];U[0].XTI=[]}U[U.length-1].XTI=U[U.length-1].XTI.concat(J);U.XTI=U.XTI.concat(J);break;case 2196:if(I.biff<8)break;if($!=null)$.Comment=J[1];break;case 18:n["!protect"]=J;break;case 19:if(J!==0&&I.WTF)console.error("Password verifier: "+J);break;case 133:{i[I.biff==4?I.snames.length:J.pos]=J;I.snames.push(J.name)}break;case 10:{if(--W?!A:A)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Ha(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"]=Ha(s);s.e.r=ee}s.e.r++;s.e.c++}if(F.length>0)n["!merges"]=F;if(D.length>0)n["!objects"]=D;if(P.length>0)n["!cols"]=P;if(L.length>0)n["!rows"]=L;S.Sheets.push(x)}if(c==="")u=n;else a[c]=n;n={};if(r.dense)n["!data"]=[]}break;case 9:;case 521:;case 1033:;case 2057:{if(I.biff===8)I.biff={9:2,521:3,1033:4}[j]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[J.BIFFVer]||8;I.biffguess=J.BIFFVer==0;if(J.BIFFVer==0&&J.dt==4096){I.biff=5;X=true;l(I.codepage=28591)}if(I.biff==4&&J.dt&256)A=true;if(I.biff==8&&J.BIFFVer==0&&J.dt==16)I.biff=2;if(W++&&!A)break;n={};if(r.dense)n["!data"]=[];if(I.biff<8&&!X){X=true;l(I.codepage=r.codepage||1252)}if(I.biff==4&&A){c=(i[I.snames.indexOf(c)+1]||{name:""}).name}else if(I.biff<5||J.BIFFVer==0&&J.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;I.snames.push(c)}else c=(i[G]||{name:""}).name;if(J.dt==32)n["!type"]="chart";if(J.dt==64)n["!type"]="macro";F=[];D=[];I.arrayf=k=[];P=[];L=[];M=false;x={Hidden:(i[G]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n["!data"][J.r]||[])[J.c]:n[Pa(J.c)+Ia(J.r)])++J.c;T={ixfe:J.ixfe,XF:E[J.ixfe]||{},v:J.val,t:"n"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:J.c,r:J.r},T,r)}break;case 5:;case 517:{T={ixfe:J.ixfe,XF:E[J.ixfe],v:J.val,t:J.t};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:J.c,r:J.r},T,r)}break;case 638:{T={ixfe:J.ixfe,XF:E[J.ixfe],v:J.rknum,t:"n"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:J.c,r:J.r},T,r)}break;case 189:{for(var te=J.c;te<=J.C;++te){var ae=J.rkrec[te-J.c][0];T={ixfe:ae,XF:E[ae],v:J.rkrec[te-J.c][1],t:"n"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:te,r:J.r},T,r)}}break;case 6:;case 518:;case 1030:{if(J.val=="String"){f=J;break}T=Vb(J.val,J.cell.ixfe,J.tt);T.XF=E[T.ixfe];if(r.cellFormula){var ne=J.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=Wa({r:ie,c:se});if(w[fe])T.f=""+Dd(J.formula,s,J.cell,U,I);else T.F=((r.dense?(n["!data"][ie]||[])[se]:n[fe])||{}).F}else T.f=""+Dd(J.formula,s,J.cell,U,I)}if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O(J.cell,T,r);f=J}break;case 7:;case 519:{if(f){f.val=J;T=Vb(J,f.cell.ixfe,"s");T.XF=E[T.ixfe];if(r.cellFormula){T.f=""+Dd(f.formula,s,f.cell,U,I)}if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(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(J);var le=Wa(J[0].s);v=r.dense?(n["!data"][J[0].s.r]||[])[J[0].s.c]:n[le];if(r.cellFormula&&v){if(!f)break;if(!le||!v)break;v.f=""+Dd(J[1],s,J[0],U,I);v.F=Ha(J[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Wa(f.cell)]=J[0];v=r.dense?(n["!data"][f.cell.r]||[])[f.cell.c]:n[Wa(f.cell)];(v||{}).f=""+Dd(J[0],s,h,U,I)}}break;case 253:T=Vb(o[J.isst].t,J.ixfe,"s");if(o[J.isst].h)T.h=o[J.isst].h;T.XF=E[T.ixfe];if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:J.c,r:J.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:J.ixfe,XF:E[J.ixfe],t:"z"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:J.c,r:J.r},T,r)}break;case 190:if(r.sheetStubs){for(var oe=J.c;oe<=J.C;++oe){var ce=J.ixfe[oe-J.c];T={ixfe:ce,XF:E[ce],t:"z"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:oe,r:J.r},T,r)}}break;case 214:;case 516:;case 4:T=Vb(J.val,J.ixfe,"s");T.XF=E[T.ixfe];if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hb(T,r,t.opts.Date1904);O({c:J.c,r:J.r},T,r);break;case 0:;case 512:{if(W===1)s=J}break;case 252:{o=J}break;case 1054:{if(I.biff>=3&&I.biff<=4){H[z++]=J[1];for(var ue=0;ue=163)Ze(J[1],z+163)}else Ze(J[1],J[0])}break;case 30:{H[z++]=J;for(var he=0;he=163)Ze(J,z+163)}break;case 229:F=F.concat(J);break;case 93:D[J.cmo[0]]=I.lastobj=J;break;case 438:I.lastobj.TxO=J;break;case 127:I.lastobj.ImData=J;break;case 440:{for(b=J[0].s.r;b<=J[0].e.r;++b)for(m=J[0].s.c;m<=J[0].e.c;++m){v=r.dense?(n["!data"][b]||[])[m]:n[Wa({c:m,r:b})];if(v)v.l=J[1]}}break;case 2048:{for(b=J[0].s.r;b<=J[0].e.r;++b)for(m=J[0].s.c;m<=J[0].e.c;++m){v=r.dense?(n["!data"][b]||[])[m]:n[Wa({c:m,r:b})];if(v&&v.l)v.l.Tooltip=J[1]}}break;case 28:{v=r.dense?(n["!data"][J[0].r]||[])[J[0].c]:n[Wa(J[0])];if(!v){if(r.dense){if(!n["!data"][J[0].r])n["!data"][J[0].r]=[];v=n["!data"][J[0].r][J[0].c]={t:"z"}}else{v=n[Wa(J[0])]={t:"z"}}s.e.r=Math.max(s.e.r,J[0].r);s.s.r=Math.min(s.s.r,J[0].r);s.e.c=Math.max(s.e.c,J[0].c);s.s.c=Math.min(s.s.c,J[0].c)}if(!v.c)v.c=[];if(I.biff<=5&&I.biff>=2)p={a:"SheetJ5",t:J[1]};else{var de=D[J[2]];p={a:J[1],t:de.TxO.t};if(J[3]!=null&&!(J[3]&2))v.c.hidden=true}v.c.push(p)}break;case 2173:cu(E[J.ixfe],J.ext);break;case 125:{if(!I.cellStyles)break;while(J.e>=J.s){P[J.e--]={width:J.w/256,level:J.level||0,hidden:!!(J.flags&1)};if(!M){M=true;rc(J.w/256)}tc(P[J.e+1])}}break;case 520:{var ve={};if(J.level!=null){L[J.r]=ve;ve.level=J.level}if(J.hidden){L[J.r]=ve;ve.hidden=true}if(J.hpt){L[J.r]=ve;ve.hpt=J.hpt;ve.hpx=sc(J.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])gv(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=J;break;case 161:if(!n["!margins"])gv(n["!margins"]={});n["!margins"].header=J.header;n["!margins"].footer=J.footer;break;case 574:if(J.RTL)S.Views[0].RTL=true;break;case 146:_=J;break;case 2198:N=J;break;case 140:y=J;break;case 442:{if(!c)S.WBProps.CodeName=J||"ThisWorkbook";else x.CodeName=J||x.name}break;}}else{if(!Y)console.error("Missing Info for XLS Record 0x"+j.toString(16));e.l+=K}}t.SheetNames=nr(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=o;t.SSF=kr(q);if(I.enc)t.Encryption=I.enc;if(N)t.Themes=N;t.Metadata={};if(y!==undefined)t.Metadata.Country=y;if(U.names.length>0)S.Names=U.names;t.Workbook=S;return t}var Xb={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function Gb(e,r,t){var a=qe.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=ns(a,jn,Xb.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=qe.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var l=ns(f,Kn,Xb.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){Ai(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function jb(e,r){var t=[],a=[],n=[];var i=0,s;var f=ir(jn,"n");var l=ir(Kn,"n");if(e.Props){s=nr(e.Props);for(i=0;i-1||xi.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;o.push(n[i])}if(a.length)qe.utils.cfb_add(r,"/SummaryInformation",is(a,Xb.SI,l,Kn));if(t.length||o.length)qe.utils.cfb_add(r,"/DocumentSummaryInformation",is(t,Xb.DSI,f,jn,o.length?o:null,Xb.UDI))}function Kb(e,r){if(!r)r={};Jw(r);o();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(qe.find(e,"/encryption"))throw new Error("File is password-protected");t=qe.find(e,"!CompObj");a=qe.find(e,"/Workbook")||qe.find(e,"/Book")}else{switch(r.type){case"base64":e=O(_(e));break;case"binary":e=O(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}ka(e,0);a={content:e}}var n;var i;if(t)Bb(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=S?"buffer":"array";if(a&&a.content)n=$b(a.content,r);else if((i=qe.find(e,"PerfectOffice_MAIN"))&&i.content)n=Yl.to_workbook(i.content,(r.type=f,r));else if((i=qe.find(e,"NativeContent_MAIN"))&&i.content)n=Yl.to_workbook(i.content,(r.type=f,r));else if((i=qe.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&&qe.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=Gu(e)}var l={};if(e.FullPaths)Gb(e,l,r);n.Props=n.Custprops=l;if(r.bookFiles)n.cfb=e;return n}function Yb(e,r){var t=r||{};var a=qe.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");}qe.utils.cfb_add(a,n,kg(e,t));if(t.biff==8&&(e.Props||e.Custprops))jb(e,a);if(t.biff==8&&e.vbaraw)ju(a,qe.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Zb={0:{f:rp},1:{f:op},2:{f:Rp},3:{f:bp},4:{f:dp},5:{f:Sp},6:{f:Dp},7:{f:Tp},8:{f:zp},9:{f:Wp},10:{f:Up},11:{f:Bp},12:{f:up},13:{f:Ip},14:{f:wp},15:{f:pp},16:{f:Ap},17:{f:Lp},18:{f:Ep},19:{f:an},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:$m},40:{},42:{},43:{f:Tc},44:{f:wc},45:{f:Sc},46:{f:Oc},47:{f:Ac},48:{},49:{f:Ja},50:{},51:{f:du},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:yl},62:{f:Fp},63:{f:Eu},64:{f:nm},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Ta,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:em},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:fp},148:{f:np,p:16},151:{f:jp},152:{},153:{f:zm},154:{},155:{},156:{f:Bm},157:{},158:{},159:{T:1,f:oo},160:{T:-1},161:{T:1,f:En},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:Hp},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:uu},336:{T:-1},337:{f:mu,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:bn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:qf},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:Kp},427:{f:Yp},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:qp},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:sp},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:Xp},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:bn},551:{f:vn},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:zu},633:{T:1},634:{T:-1},635:{T:1,f:Bu},636:{T:-1},637:{f:sn},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:ym},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:im},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 Jb={6:{f:zd},10:{f:ss},12:{f:us},13:{f:us},14:{f:os},15:{f:os},16:{f:Sn},17:{f:os},18:{f:os},19:{f:us},20:{f:Kf},21:{f:Kf},23:{f:qf},24:{f:Jf},25:{f:os},26:{},27:{},28:{f:il},29:{},34:{f:os},35:{f:Zf},38:{f:Sn},39:{f:Sn},40:{f:Sn},41:{f:Sn},42:{f:os},43:{f:os},47:{f:Mo},49:{f:bf},51:{f:us},60:{},61:{f:hf},64:{f:os},65:{f:mf},66:{f:us},77:{},80:{},81:{},82:{},85:{f:us},89:{},90:{},91:{},92:{f:Qs},93:{f:ol},94:{},95:{f:os},96:{},97:{},99:{f:os},125:{f:yl},128:{f:Hf},129:{f:rf},130:{f:us},131:{f:os},132:{f:os},133:{f:tf},134:{},140:{f:bl},141:{f:us},144:{},146:{f:kl},151:{},152:{},153:{},154:{},155:{},156:{f:us},157:{},158:{},160:{f:Cl},161:{f:_l},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:If},190:{f:Nf},193:{f:ss},197:{},198:{},199:{},200:{},201:{},202:{f:os},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:us},220:{},221:{f:os},222:{},224:{f:Df},225:{f:qs},226:{f:ss},227:{},229:{f:fl},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:nf},253:{f:wf},255:{f:ff},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:ds},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:os},353:{f:ss},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Yf},431:{f:os},432:{},433:{},434:{},437:{},438:{f:hl},439:{f:os},440:{f:dl},441:{},442:{f:ks},443:{},444:{f:us},445:{},446:{},448:{f:ss},449:{f:cf,r:2},450:{f:ss},512:{f:Cf},513:{f:Al},515:{f:Gf},516:{f:Tf},517:{f:$f},519:{f:Rl},520:{f:lf},523:{},545:{f:tl},549:{f:uf},566:{},574:{f:vf},638:{f:Of},659:{},1048:{},1054:{f:Ef},1084:{},1212:{f:rl},2048:{f:pl},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Zs},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:ss},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Tl,r:12},2173:{f:ou,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:os,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:el,r:12},2197:{},2198:{f:au,r:12},2199:{},2200:{},2201:{},2202:{f:al,r:12},2203:{f:ss},2204:{},2205:{},2206:{},2207:{},2211:{f:of},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:us},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:Sl},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:wl},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:Cf},1:{},2:{f:Pl},3:{f:Fl},4:{f:Nl},5:{f:Ul},7:{f:Ml},8:{},9:{f:Zs},11:{},22:{f:us},30:{f:Sf},31:{},32:{},33:{f:tl},36:{},37:{f:uf},50:{f:Bl},62:{},52:{},67:{f:Lf},68:{f:us},69:{},86:{},126:{},127:{f:Ol},135:{},136:{},137:{},143:{f:zl},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:Wl},223:{},234:{},354:{},421:{},518:{f:zd},521:{f:Zs},536:{f:Jf},547:{f:Zf},561:{},579:{f:Wf},1030:{f:zd},1033:{f:Zs},1091:{f:zf},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},101:{},102:{},105:{},106:{},107:{},109:{},112:{},114:{},29282:{}};function qb(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&&sa(t))e.push(t)}function Qb(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return qb(e,r,t,n);var i=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&&l<65536)qb(e,2,Ll(t,a,l,f,s));else if(isNaN(l))qb(e,5,eg(t,a,36,"e"));else if(!isFinite(l))qb(e,5,eg(t,a,7,"e"));else qb(e,3,Dl(t,a,l,f,s));return;case"b":;case"e":qb(e,5,eg(t,a,r.v,r.t));return;case"s":;case"str":qb(e,4,rg(t,a,r.v==null?"":String(r.v).slice(0,255)));return;}qb(e,1,Il(null,t,a))}function ng(e,r,t,a,n){var i=r["!data"]!=null;var s=Xa(r["!ref"]||"A1"),f,l="",o=[];if(s.e.c>255||s.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");s.e.c=Math.min(s.e.c,255);s.e.r=Math.min(s.e.c,16383)}var c=(((n||{}).Workbook||{}).WBProps||{}).date1904;var u=[],h=[];for(var d=s.s.c;d<=s.e.c;++d)o[d]=Pa(d);for(var v=s.s.r;v<=s.e.r;++v){if(i)u=r["!data"][v]||[];l=Ia(v);for(d=s.s.c;d<=s.e.c;++d){var p=i?u[d]:r[o[d]+l];if(!p)continue;ag(e,p,v,d,a,c);if(p.c)h.push([p.c,v,d])}}tg(e,h)}function ig(e,r){var t=r||{};var a=_a();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)}qb(a,2057,Js(t,16,r));qb(a,13,hs(1));qb(a,12,hs(100));qb(a,15,cs(true));qb(a,17,cs(false));qb(a,16,xn(.001));qb(a,95,cs(true));qb(a,42,cs(false));qb(a,43,cs(false));qb(a,130,hs(1));qb(a,128,Vf([0,0]));qb(a,131,cs(false));qb(a,132,cs(false));if(o)pg(a,i["!cols"]);qb(a,512,Rf(d,r));var p=(((t||{}).Workbook||{}).WBProps||{}).date1904;if(o)i["!links"]=[];var m=[];var b=[];for(var g=d.s.c;g<=d.e.c;++g)h[g]=Pa(g);for(var w=d.s.r;w<=d.e.r;++w){if(l)b=i["!data"][w]||[];u=Ia(w);for(g=d.s.c;g<=d.e.c;++g){c=h[g]+u;var k=l?b[g]:i[c];if(!k)continue;mg(a,k,w,g,r,p);if(o&&k.l)i["!links"].push([c,k.l]);if(k.c)m.push([k.c,w,g])}}var T=f.CodeName||f.name||n;if(o)og(a,m);else tg(a,m);if(o)qb(a,574,pf((s.Views||[])[0]));if(o&&(i["!merges"]||[]).length)qb(a,229,ll(i["!merges"]));if(o)vg(a,i);qb(a,442,ys(T,r));if(o)hg(a,i);qb(a,10);return a.end()}function gg(e,r,t){var a=_a();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,l=t.biff==5;qb(a,2057,Js(e,5,t));if(t.bookType=="xla")qb(a,135);qb(a,225,f?hs(1200):null);qb(a,193,fs(2));if(l)qb(a,191);if(l)qb(a,192);qb(a,226);qb(a,92,ef("SheetJS",t));qb(a,66,hs(f?1200:1252));if(f)qb(a,353,hs(0));if(f)qb(a,448);qb(a,317,xl(e.SheetNames.length));if(f&&e.vbaraw)qb(a,211);if(f&&e.vbaraw){var o=s.CodeName||"ThisWorkbook";qb(a,442,ys(o,t))}qb(a,156,hs(17));qb(a,25,cs(false));qb(a,18,cs(false));qb(a,19,hs(0));if(f)qb(a,431,cs(false));if(f)qb(a,444,hs(0));qb(a,61,df(t));qb(a,64,cs(false));qb(a,141,hs(0));qb(a,34,cs(Im(e)=="true"));qb(a,14,cs(true));if(f)qb(a,439,cs(false));qb(a,218,hs(0));cg(a,e,t);ug(a,e.SSF,t);dg(a,t);if(f)qb(a,352,cs(false));var c=a.end();var u=_a();if(f)qb(u,140,gl());if(f&&fg.length)qb(u,235,lg());if(f&&t.Strings)Qb(u,252,sf(t.Strings,t));qb(u,10);var h=u.end();var d=_a();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 wg(e,r);case 4:;case 3:;case 2:return ig(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function Tg(e,r){var t=r||{};var a=t.dense!=null?t.dense:g;var n={};if(a)n["!data"]=[];e=e.replace(//g,"");var i=e.match(/");var s=e.match(/<\/table/i);var f=i.index,l=s&&s.index||e.length;var o=Ir(e.slice(f,l),/(:?]*>)/i,"");var c=-1,u=0,h=0,d=0;var v={s:{r:1e7,c:1e7},e:{r:0,c:0}};var p=[];for(f=0;f/i);for(l=0;l"))>-1)T=T.slice(y+1);for(var E=0;E")));d=S.colspan?+S.colspan:1;if((h=+S.rowspan)>1||d>1)p.push({s:{r:c,c:u},e:{r:c+(h||1)-1,c:u+d-1}});var x=S.t||S["data-t"]||"";if(!T.length){u+=d;continue}T=yt(T);if(v.s.r>c)v.s.r=c;if(v.e.ru)v.s.c=u;if(v.e.ct||n[u].s.c>l)continue;if(n[u].e.r1)s.rowspan=o;if(c>1)s.colspan=c;if(a.editable)v=''+v+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=d.v instanceof Date?d.v.toISOString():d.v;if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")v=''+v+""}s.id=(a.id||"sjs")+"-"+h;i.push(Ot("td",v,s))}var p="";return p+i.join("")+""}var Eg='SheetJS Table Export';var _g="";function Sg(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1){var a=Ka(Tg(t[0],r),r);a.bookType="html";return a}var n=$k();t.forEach(function(e,t){Xk(n,Tg(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function xg(e,r,t){var a=[];return a.join("")+""}function Ag(e,r){var t=r||{};var a=t.header!=null?t.header:Eg;var n=t.footer!=null?t.footer:_g;var i=[a];var s=za(e["!ref"]);i.push(xg(e,s,t));for(var f=s.s.r;f<=s.e.r;++f)i.push(yg(e,s,f,t));i.push("
"+n);return i.join("")}function Cg(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,f=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var l=typeof n.origin=="string"?Ba(n.origin):n.origin;s=l.r;f=l.c}}var o=Math.min(n.sheetRows||1e7,a.length);var c={s:{r:0,c:0},e:{r:s,c:f}};if(e["!ref"]){var u=za(e["!ref"]);c.s.r=Math.min(c.s.r,u.s.r);c.s.c=Math.min(c.s.c,u.s.c);c.e.r=Math.max(c.e.r,u.e.r);c.e.c=Math.max(c.e.c,u.e.c);if(s==-1)c.e.r=s=u.e.r+1}var h=[],d=0;var v=e["!rows"]||(e["!rows"]=[]);var p=0,m=0,b=0,g=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;p1||k>1)h.push({s:{r:m+s,c:g+f},e:{r:m+s+(w||1)-1,c:g+f+(k||1)-1}});var A={t:"s",v:_};var C=E.getAttribute("data-t")||E.getAttribute("t")||"";if(_!=null){if(_.length==0)A.t=C||"z";else if(n.raw||_.trim().length==0||C=="s"){}else if(_==="TRUE")A={t:"b",v:true};else if(_==="FALSE")A={t:"b",v:false};else if(!isNaN(yr(_)))A={t:"n",v:yr(_)};else if(!isNaN(Or(_).getDate())){A={t:"d",v:gr(_)};if(n.UTC)A.v=Fr(A.v);if(!n.cellDates)A={t:"n",v:hr(A.v)};A.z=n.dateNF||q[14]}}if(A.z===undefined&&S!=null)A.z=S;var R="",O=E.getElementsByTagName("A");if(O&&O.length)for(var I=0;I=o)e["!fullref"]=Ha((c.e.r=a.length-p+m-1+s,c));return e}function Rg(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return Cg(a,e,r)}function Og(e,r){var t=Ka(Rg(e,r),r);return t}function Ig(e){var r="";var t=Ng(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Ng(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=nt(r.replace(/<[^>]*>/g,""));return[t]}function Dg(e,r,t){var a=t||{};var n=Ft(e);Dt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");var i,s,f="",l="",o,c=0,u=-1,h=false,d="";while(i=Dt.exec(n)){switch(i[3]=i[3].replace(/_.*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){h=false;if(s["truncate-on-overflow"]=="false"){if(f.match(/h/))f=f.replace(/h+/,"[$&]");else if(f.match(/m/))f=f.replace(/m+/,"[$&]");else if(f.match(/s/))f=f.replace(/s+/,"[$&]")}a[s.name]=f;f=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;f="";s=et(i[0],false)}break;case"boolean-style":if(i[1]==="/"){h=false;a[s.name]="General";f=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;f="";s=et(i[0],false)}break;case"boolean":f+="General";break;case"text":if(i[1]==="/"){d=n.slice(u,Dt.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")f=a[o["apply-style-name"]]+";"+f;else console.error("ODS number format may be incorrect: "+o["condition"]);break;case"number":if(i[1]==="/")break;o=et(i[0],false);l="";l+=Tr("0",+o["min-integer-digits"]||1);if(vt(o["grouping"]))l=ue(Tr("#",Math.max(0,4-l.length))+l);if(+o["min-decimal-places"]||+o["decimal-places"])l+=".";if(+o["min-decimal-places"])l+=Tr("0",+o["min-decimal-places"]||1);if(+o["decimal-places"]-(+o["min-decimal-places"]||0))l+=Tr("0",+o["decimal-places"]-(+o["min-decimal-places"]||0));f+=l;break;case"embedded-text":if(i[1]==="/"){if(c==0)f+='"'+n.slice(u,Dt.lastIndex-i[0].length).replace(/"/g,'""')+'"';else f=f.slice(0,c)+'"'+n.slice(u,Dt.lastIndex-i[0].length).replace(/"/g,'""')+'"'+f.slice(c)}else if(i[0].charAt(i[0].length-2)!=="/"){u=Dt.lastIndex;c=-+et(i[0],false)["position"]||0}break;}}return a}function Pg(e,r,t){var a=r||{};if(g!=null&&a.dense==null)a.dense=g;var n=Ft(e);var i=[],s;var f;var l,o="",c=0;var u;var h;var d={},v=[];var p={};if(a.dense)p["!data"]=[];var m,b;var w={value:""};var k="",T=0,y,E="",_=0;var S=[],x=[];var A=-1,C=-1,R={s:{r:1e6,c:1e7},e:{r:0,c:0}};var O=0;var I=t||{},N={};var F=[],D={},P=0,L=0;var M=[],U=1,B=1;var W=[];var z={Names:[],WBProps:{}};var H={};var V=["",""];var $=[],X={};var G="",j=0;var K=false,Y=false;var Z=0;Dt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");while(m=Dt.exec(n))switch(m[3]=m[3].replace(/_.*$/,"")){case"table":;case"工作表":if(m[1]==="/"){if(R.e.c>=R.s.c&&R.e.r>=R.s.r)p["!ref"]=Ha(R);else p["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=R.e.r){p["!fullref"]=p["!ref"];R.e.r=a.sheetRows-1;p["!ref"]=Ha(R)}if(F.length)p["!merges"]=F;if(M.length)p["!rows"]=M;u.name=u["名称"]||u.name;if(typeof JSON!=="undefined")JSON.stringify(u);v.push(u.name);d[u.name]=p;Y=false}else if(m[0].charAt(m[0].length-2)!=="/"){u=et(m[0],false);A=C=-1;R.s.r=R.s.c=1e7;R.e.r=R.e.c=0;p={};if(a.dense)p["!data"]=[];F=[];M=[];Y=true}break;case"table-row-group":if(m[1]==="/")--O;else++O;break;case"table-row":;case"行":if(m[1]==="/"){A+=U;U=1;break}h=et(m[0],false);if(h["行号"])A=h["行号"]-1;else if(A==-1)A=0;U=+h["number-rows-repeated"]||1;if(U<10)for(Z=0;Z0)M[A+Z]={level:O};C=-1;break;case"covered-table-cell":if(m[1]!=="/")++C;if(a.sheetStubs){if(a.dense){if(!p["!data"][A])p["!data"][A]=[];p["!data"][A][C]={t:"z"}}else p[Wa({r:A,c:C})]={t:"z"}}k="";S=[];break;case"table-cell":;case"数据":if(m[0].charAt(m[0].length-2)==="/"){++C;w=et(m[0],false);B=parseInt(w["number-columns-repeated"]||"1",10);b={t:"z",v:null};if(w.formula&&a.cellFormula!=false)b.f=ov(nt(w.formula));if(w["style-name"]&&N[w["style-name"]])b.z=N[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){b.t="s";b.v=nt(w["string-value"]||"");if(a.dense){if(!p["!data"][A])p["!data"][A]=[];p["!data"][A][C]=b}else{p[Pa(C)+Ia(A)]=b}}C+=B-1}else if(m[1]!=="/"){++C;k=E="";T=_=0;S=[];x=[];B=1;var J=U?A+U-1:A;if(C>R.e.c)R.e.c=C;if(CR.e.r)R.e.r=J;w=et(m[0],false);$=[];X={};b={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&N[w["style-name"]])b.z=N[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=nt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){P=parseInt(w["number-matrix-rows-spanned"],10)||0;L=parseInt(w["number-matrix-columns-spanned"],10)||0;D={s:{r:A,c:C},e:{r:A+P-1,c:C+L-1}};b.F=Ha(D);W.push([D,b.F])}if(w.formula)b.f=ov(w.formula);else for(Z=0;Z=W[Z][0].s.r&&A<=W[Z][0].e.r)if(C>=W[Z][0].s.c&&C<=W[Z][0].e.c)b.F=W[Z][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){P=parseInt(w["number-rows-spanned"],10)||0;L=parseInt(w["number-columns-spanned"],10)||0;D={s:{r:A,c:C},e:{r:A+P-1,c:C+L-1}};F.push(D)}if(w["number-columns-repeated"])B=parseInt(w["number-columns-repeated"],10);switch(b.t){case"boolean":b.t="b";b.v=vt(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":b.t="n";b.v=parseFloat(w.value);if(a.cellDates&&b.z&&Pe(b.z)){b.v=dr(b.v+(z.WBProps.date1904?1462:0));b.t=typeof b.v=="number"?"n":"d"}break;case"percentage":b.t="n";b.v=parseFloat(w.value);break;case"currency":b.t="n";b.v=parseFloat(w.value);break;case"date":b.t="d";b.v=gr(w["date-value"],z.WBProps.date1904);if(!a.cellDates){b.t="n";b.v=hr(b.v,z.WBProps.date1904)}if(!b.z)b.z="m/d/yy";break;case"time":b.t="n";b.v=vr(w["time-value"])/86400;if(a.cellDates){b.v=dr(b.v);b.t=typeof b.v=="number"?"n":"d"}if(!b.z)b.z="HH:MM:SS";break;case"number":b.t="n";b.v=parseFloat(w["数据数值"]);break;default:if(b.t==="string"||b.t==="text"||!b.t){b.t="s";if(w["string-value"]!=null){k=nt(w["string-value"]);S=[]}}else throw new Error("Unsupported value type "+b.t);}}else{K=false;if(b.t==="s"){b.v=k||"";if(S.length)b.R=S;K=T==0}if(H.Target)b.l=H;if($.length>0){b.c=$;$=[]}if(k&&a.cellText!==false)b.w=k;if(K){b.t="z";delete b.v}if(!K||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=A)){for(var q=0;q0)p["!data"][A+q][C+B]=kr(b)}else{p[Wa({r:A+q,c:C})]=b;while(--B>0)p[Wa({r:A+q,c:C+B})]=kr(b)}if(R.e.c<=C)R.e.c=C}}}B=parseInt(w["number-columns-repeated"]||"1",10);C+=B-1;B=0;b={};k="";S=[]}H={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],true]);break;case"annotation":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s;X.t=k;if(S.length)X.R=S; +X.a=G;$.push(X);k=E;T=_;S=x}else if(m[0].charAt(m[0].length-2)!=="/"){i.push([m[3],false]);var Q=et(m[0],true);if(!(Q["display"]&&vt(Q["display"])))$.hidden=true;E=k;_=T;x=S;k="";T=0;S=[]}G="";j=0;break;case"creator":if(m[1]==="/"){G=n.slice(j,m.index)}else j=m.index+m[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(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],false]);k="";T=0;S=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(m[1]==="/"){var ee=Dt.lastIndex;Dg(n.slice(l,Dt.lastIndex),r,I);Dt.lastIndex=ee}else if(m[0].charAt(m[0].length-2)!=="/"){l=Dt.lastIndex-m[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var re=et(m[0],false);if(re["family"]=="table-cell"&&I[re["data-style-name"]])N[re["name"]]=I[re["data-style-name"]]}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":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":break;case"boolean":break;case"text":if(m[0].slice(-2)==="/>")break;else if(m[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=n.slice(c,m.index);break;}else c=m.index+m[0].length;break;case"named-range":f=et(m[0],false);V=uv(f["cell-range-address"]);var te={Name:f.name,Ref:V[0]+"!"+V[1]};if(Y)te.Sheet=v.length;z.Names.push(te);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":f=et(m[0],false);switch(f["date-value"]){case"1904-01-01":z.WBProps.date1904=true;break;}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(i[i.length-1][0])>-1)break;if(m[1]==="/"&&(!w||!w["string-value"])){var ae=Fg(n.slice(T,m.index),y);k=(k.length>0?k+"\n":"")+ae[0]}else if(m[0].slice(-2)=="/>"){k+="\n"}else{y=et(m[0],false);T=m.index+m[0].length}break;case"s":break;case"database-range":if(m[1]==="/")break;try{V=uv(et(m[0])["target-range-address"]);d[V[0]]["!autofilter"]={ref:V[1]}}catch(ne){}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(m[1]!=="/"){H=et(m[0],false);if(!H.href)break;H.Target=nt(H.href);delete H.href;if(H.Target.charAt(0)=="#"&&H.Target.indexOf(".")>-1){V=uv(H.Target.slice(1));H.Target="#"+V[0]+"!"+V[1]}else if(H.Target.match(/^\.\.[\\\/]/))H.Target=H.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(m[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(a.WTF)throw new Error(m);};}var ie={Sheets:d,SheetNames:v,Workbook:z};if(a.bookSheets)delete ie.Sheets;return ie}function Lg(e,r){r=r||{};if(Mr(e,"META-INF/manifest.xml"))vi(Br(e,"META-INF/manifest.xml"),r);var t=Wr(e,"styles.xml");var a=t&&Dg(wt(t),r);var n=Wr(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=Pg(wt(n),r,a);if(Mr(e,"meta.xml"))i.Props=yi(Br(e,"meta.xml"));i.bookType="ods";return i}function Mg(e,r){var t=Pg(e,r);t.bookType="fods";return t}var Ug=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return jr+r}}();function Bg(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+ft(i.replace(/""/g,'"'))+""}else{a+=""+ft(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/# (\?+)\/(\?+)/);if(f){a+=Ot("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:max-denominator-value":Math.max(+f[1].replace(/./g,"9"),+f[2].replace(/./g,"9"))});break e}if(f=e.match(/# (\?+)\/(\d+)/)){a+=Ot("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:denominator-value":+f[2]});break e}if(f=e.match(/(\d+)(|\.\d+)%/)){t="percentage";a+=Ot("number:number",null,{"number:decimal-places":f[2]&&f.length-1||0,"number:min-decimal-places":f[2]&&f.length-1||0,"number:min-integer-digits":f[1].length})+"%";break e}var l=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+ft(i.slice(1).replace(/""/g,'"'))+"";break;case"\\":i=e[++s];a+=""+ft(i)+"";break;case"/":;case":":a+=""+ft(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!l)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+ft(i.slice(1).replace(/""/g,'"'))+"";break;case"/":;case":":a+=""+ft(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+ft(i.replace(/""/g,'"'))+""}else{a+=""+ft(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var c=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!c||!c[0])console.error("Could not find numeric part of "+e);else{var u=c[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(c[2]&&' number:decimal-places="'+(c[2].length-1)+'"'||' number:decimal-places="0"')+(c[3]&&c[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(c[3]?' number:min-exponent-digits="'+c[3].match(/0+/)[0].length+'"':"")+">"+"";s=c.index+c[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+ft(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return Ot("number:"+t+"-style",a,n)}function Wg(e,r,t){var a=[];for(var n=0;n\n"+a.map(function(e){var r=(t==-1?"$":"")+hv(e.Ref);return" "+Ot("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.]?[^\.]*$/,".$A$1")})}).join("\n")+"\n
\n"}var zg=function(){var e=function(e){return ft(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=function(t,a,n,i,s,f){var l=[];l.push(' \n');var o=0,c=0,u=za(t["!ref"]||"A1");var h=t["!merges"]||[],d=0;var v=t["!data"]!=null;if(t["!cols"]){for(c=0;c<=u.e.c;++c)l.push(" \n")}var p="",m=t["!rows"]||[];for(o=0;o\n")}for(;o<=u.e.r;++o){p=m[o]?' table:style-name="ro'+m[o].ods+'"':"";l.push(" \n");for(c=0;cc)continue;if(h[d].s.r>o)continue;if(h[d].e.c\n");continue}var k=Wa({r:o,c:c}),T=v?(t["!data"][o]||[])[c]:t[k];if(T&&T.f){g["table:formula"]=ft(cv(T.f));if(T.F){if(T.F.slice(0,k.length)==k){var y=za(T.F);g["table:number-matrix-columns-spanned"]=y.e.c-y.s.c+1;g["table:number-matrix-rows-spanned"]=y.e.r-y.s.r+1}}}if(!T){l.push(r);continue}switch(T.t){case"b":w=T.v?"TRUE":"FALSE";g["office:value-type"]="boolean";g["office:boolean-value"]=T.v?"true":"false";break;case"n":w=T.w||String(T.v||0);g["office:value-type"]="float";g["office:value"]=T.v||0;break;case"s":;case"str":w=T.v==null?"":T.v;g["office:value-type"]="string";break;case"d":w=T.w||gr(T.v,f).toISOString();g["office:value-type"]="date";g["office:date-value"]=gr(T.v,f).toISOString();g["table:style-name"]="ce1";break;default:l.push(r);continue;}var E=e(w);if(T.l&&T.l.Target){var _=T.l.Target;_=_.charAt(0)=="#"?"#"+hv(_.slice(1)):_;if(_.charAt(0)!="#"&&!_.match(/^\w+:/))_="../"+_;E=Ot("text:a",E,{"xlink:href":_.replace(/&/g,"&")})}if(s[T.z])g["table:style-name"]="ce"+s[T.z].slice(1);var S=Ot("text:p",E,{});if(T.c){var x="",A="",C={};for(var R=0;R"+e(T.c[R].t)+""}if(!T.c.hidden)C["office:display"]=true;S=Ot("office:annotation",A,C)+S}l.push(" "+Ot("table:table-cell",S,g)+"\n")}l.push(" \n")}if((a.Workbook||{}).Names)l.push(Wg(a.Workbook.Names,a.SheetNames,n));l.push(" \n");return l.join("")};var a=function(e,r){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');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;var a=za(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var f=0;f<=a.e.c;++f){var l=t?(r["!data"][s]||[])[f]:r[Wa({r:s,c:f})];if(!l||!l.z||l.z.toLowerCase()=="general")continue;if(!n[l.z]){var o=Bg(l.z,"N"+i);if(o){n[l.z]="N"+i;++i;e.push(o+"\n")}}}});e.push(' \n');nr(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function n(e,r){var n=[jr];var i=Rt({"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=Rt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){n.push("\n");n.push(wi().replace(//,"").replace(/<\/office:document-meta>/,"")+"\n")}else n.push("\n");var f=a(n,e);n.push(" \n");n.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)n.push(' \n \n \n');for(var l=0;l!=e.SheetNames.length;++l)n.push(t(e.Sheets[e.SheetNames[l]],e,l,r,f,((e.Workbook||{}).WBProps||{}).date1904));if((e.Workbook||{}).Names)n.push(Wg(e.Workbook.Names,e.SheetNames,-1));n.push(" \n");n.push(" \n");if(r.bookType=="fods")n.push("");else n.push("");return n.join("")}}();function Hg(e,r){if(r.bookType=="fods")return zg(e,r);var t=$r();var a="";var n=[];var i=[];a="mimetype";Vr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Vr(t,a,zg(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Vr(t,a,Ug(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Vr(t,a,jr+wi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Vr(t,a,gi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Vr(t,a,pi(n));return t}var Vg=function(){try{if(typeof Uint8Array=="undefined")return"slice";if(typeof Uint8Array.prototype.subarray=="undefined")return"slice";if(typeof Buffer!=="undefined"){if(typeof Buffer.prototype.subarray=="undefined")return"slice";if((typeof Buffer.from=="function"?Buffer.from([72,62]):new Buffer([72,62]))instanceof Uint8Array)return"subarray";return"slice"}return"subarray"}catch(e){return"slice"}}();function $g(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Xg(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):wt(N(e))}function Gg(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):O(kt(e))}function jg(e){var r=0;for(var t=0;t>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function Yg(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 Zg(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-16;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function Jg(e,r){var t=r.l;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}r.l=t;return a}function qg(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r[Vg](0,t)}function Qg(e){var r={l:0};var t=[];while(r.l=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;a=e[r]>>4&7;if(e[r++]<128)break e;a|=(e[r]&127)<<3;if(e[r++]<128)break e;a|=(e[r]&127)<<10;if(e[r++]<128)break e;a|=(e[r]&127)<<17;if(e[r++]<128)break e;a|=(e[r]&127)<<24;if(e[r++]<128)break e;a|=(e[r]&127)<<31}return[t>>>0,a>>>0]}function aw(e){var r=[],t={l:0};while(t.l=128);s=e[Vg](t.l,f);t.l=f}break;case 1:{s=e[Vg](f,f+8);t.l=f+8}break;case 2:{var l=Jg(e,t);s=e[Vg](t.l,t.l+l);t.l+=l}break;case 5:{s=e[Vg](f,f+4);t.l=f+4}break;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var o={data:s,type:i};if(r[n]==null)r[n]=[];r[n].push(o)}return r}function nw(e){var r=[];e.forEach(function(e,t){if(t==0)return;e.forEach(function(e){if(!e.data)return;r.push(qg(t*8+e.type));if(e.type==2)r.push(qg(e.data.length));r.push(e.data)})});return jg(r)}function iw(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function sw(e){var r;var t=[],a={l:0};while(a.l>>0>0;t.push(s)}return t}function fw(e){var r=[];e.forEach(function(e){var t=[[],[{data:qg(e.id),type:0}],[]];if(e.merge!=null)t[3]=[{data:qg(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:qg(e.data.length)}];t[2].push({data:nw(e.meta),type:2})});var n=nw(t);r.push(qg(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return jg(r)}function lw(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t={l:0};var a=Jg(r,t);var n=[];var i=t.l;while(i>2;if(f<60)++f;else{var l=f-59;f=r[i];if(l>1)f|=r[i+1]<<8;if(l>2)f|=r[i+2]<<16;if(l>3)f|=r[i+3]<<24;f>>>=0;f++;i+=l}n.push(r[Vg](i,i+f));i+=f;continue}else{var o=0,c=0;if(s==1){c=(r[i]>>2&7)+4;o=(r[i++]&224)<<3;o|=r[i++]}else{c=(r[i++]>>2)+1;if(s==2){o=r[i]|r[i+1]<<8;i+=2}else{o=(r[i]|r[i+1]<<8|r[i+2]<<16|r[i+3]<<24)>>>0;i+=4}}if(o==0)throw new Error("Invalid offset 0");var u=n.length-1,h=o;while(u>=0&&h>=n[u].length){h-=n[u].length;--u}if(u<0){if(h==0)h=n[u=0].length;else throw new Error("Invalid offset beyond length")}if(c0){n.push(n[u][Vg](n[u].length-h));c-=h}++u;while(c>=n[u].length){n.push(n[u]);c-=n[u].length;++u}if(c)n.push(n[u][Vg](0,c))}if(n.length>25)n=[jg(n)]}}var d=0;for(var v=0;v>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e[Vg](t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return jg(r)}var uw=function(){return{sst:[],rsst:[],ofmt:[],nfmt:[],fmla:[],ferr:[],cmnt:[]}};function hw(e,r,t,a,n){var i,s,f,l;var o=r&255,c=r>>8;var u=c>=5?n:a;e:if(t&(c>4?8:4)&&e.t=="n"&&o==7){var h=((i=u[7])==null?void 0:i[0])?rw(u[7][0].data):-1;if(h==-1)break e;var d=((s=u[15])==null?void 0:s[0])?rw(u[15][0].data):-1;var v=((f=u[16])==null?void 0:f[0])?rw(u[16][0].data):-1;var p=((l=u[40])==null?void 0:l[0])?rw(u[40][0].data):-1;var m=e.v,b=m;r:if(p){if(m==0){d=v=2;break r}if(m>=604800)d=1;else if(m>=86400)d=2;else if(m>=3600)d=4;else if(m>=60)d=8;else if(m>=1)d=16;else d=32;if(Math.floor(m)!=m)v=32;else if(m%60)v=16;else if(m%3600)v=8;else if(m%86400)v=4;else if(m%604800)v=2;if(v=2){b=m/86400;if(v>2){b|=0;m-=86400*b}w.push('d"d"');g.push(b+(h==2?" day"+(b==1?"":"s"):h==1?"d":""))}if(d<=4&&v>=4){b=m/3600;if(v>4){b|=0;m-=3600*b}w.push((d>=4?"[h]":"h")+'"h"');g.push(b+(h==2?" hour"+(b==1?"":"s"):h==1?"h":""))}if(d<=8&&v>=8){b=m/60;if(v>8){b|=0;m-=60*b}w.push((d>=8?"[m]":"m")+'"m"');if(h==0)g.push((d==8&&v==8||b>=10?"":"0")+b);else g.push(b+(h==2?" minute"+(b==1?"":"s"):h==1?"m":""))}if(d<=16&&v>=16){b=m;if(v>16){b|=0;m-=b}w.push((d>=16?"[s]":"s")+'"s"');if(h==0)g.push((v==16&&d==16||b>=10?"":"0")+b);else g.push(b+(h==2?" second"+(b==1?"":"s"):h==1?"s":""))}if(v>=32){b=Math.round(1e3*m);if(d<32)w.push('.000"ms"');if(h==0)g.push((b>=100?"":b>=10?"0":"00")+b);else g.push(b+(h==2?" millisecond"+(b==1?"":"s"):h==1?"ms":""))}e.w=g.join(h==0?":":" ");e.z=w.join(h==0?'":"':" ");if(h==0)e.w=e.w.replace(/:(\d\d\d)$/,".$1")}}function dw(e,r,t,a){var n=$g(e);var i=n.getUint32(4,true);var s=-1,f=-1,l=-1,o=NaN,c=0,u=new Date(Date.UTC(2001,0,1));var h=t>1?12:8;if(i&2){l=n.getUint32(h,true);h+=4}h+=Kg(i&(t>1?3468:396))*4;if(i&512){s=n.getUint32(h,true);h+=4}h+=Kg(i&(t>1?12288:4096))*4;if(i&16){f=n.getUint32(h,true);h+=4}if(i&32){o=n.getFloat64(h,true);h+=8}if(i&64){u.setTime(u.getTime()+(c=n.getFloat64(h,true))*1e3);h+=8}if(t>1){i=n.getUint32(8,true)>>>16;if(i&255){if(l==-1)l=n.getUint32(h,true);h+=4}}var d;var v=e[t>=4?1:2];switch(v){case 0:return void 0;case 2:d={t:"n",v:o};break;case 3:d={t:"s",v:r.sst[f]};break;case 5:{if(a==null?void 0:a.cellDates)d={t:"d",v:u};else d={t:"n",v:c/86400+35430,z:q[14]}}break;case 6:d={t:"b",v:o>0};break;case 7:d={t:"n",v:o};break;case 8:d={t:"e",v:0};break;case 9:{if(s>-1){var p=r.rsst[s];d={t:"s",v:p.v};if(p.l)d.l={Target:p.l}}else throw new Error("Unsupported cell type ".concat(e[Vg](0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e[Vg](0,4)));}if(l>-1)hw(d,v|t<<8,i,r.ofmt[l],r.nfmt[l]);if(v==7)d.v/=86400;return d}function vw(e,r,t){var a=$g(e);var n=a.getUint32(4,true);var i=a.getUint32(8,true);var s=12;var f=-1,l=-1,o=-1,c=NaN,u=NaN,h=0,d=new Date(Date.UTC(2001,0,1)),v=-1,p=-1;if(i&1){c=Yg(e,s);s+=16}if(i&2){u=a.getFloat64(s,true);s+=8}if(i&4){d.setTime(d.getTime()+(h=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}s+=Kg(i&480)*4;if(i&512){p=a.getUint32(s,true);s+=4}s+=Kg(i&1024)*4;if(i&2048){v=a.getUint32(s,true);s+=4}var m;var b=e[1];switch(b){case 0:m={t:"z"};break;case 2:m={t:"n",v:c};break;case 3:m={t:"s",v:r.sst[l]};break;case 5:{if(t==null?void 0:t.cellDates)m={t:"d",v:d};else m={t:"n",v:h/86400+35430,z:q[14]}}break;case 6:m={t:"b",v:u>0};break;case 7:m={t:"n",v:u};break;case 8:m={t:"e",v:0};break;case 9:{if(f>-1){var g=r.rsst[f];m={t:"s",v:g.v};if(g.l)m.l={Target:g.l}}else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(i&31," : ").concat(e[Vg](0,4)))}break;case 10:m={t:"n",v:c};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(i&31," : ").concat(e[Vg](0,4)));}s+=Kg(i&4096)*4;if(i&516096){if(o==-1)o=a.getUint32(s,true);s+=4}if(i&524288){var w=a.getUint32(s,true);s+=4;if(r.cmnt[w])m.c=xw(r.cmnt[w])}if(o>-1)hw(m,b|5<<8,i>>13,r.ofmt[o],r.nfmt[o]);if(b==7)m.v/=86400;return m}function pw(e,r){var t=new Uint8Array(32),a=$g(t),n=12,i=0; +t[0]=5;switch(e.t){case"n":if(e.z&&Pe(e.z)){t[1]=5;a.setFloat64(n,(dr(e.v+1462).getTime()-Date.UTC(2001,0,1))/1e3,true);i|=4;n+=8;break}else{t[1]=2;Zg(t,n,e.v);i|=1;n+=16}break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":{var s=e.v==null?"":String(e.v);if(e.l){var f=r.rsst.findIndex(function(r){var t;return r.v==s&&r.l==((t=e.l)==null?void 0:t.Target)});if(f==-1)r.rsst[f=r.rsst.length]={v:s,l:e.l.Target};t[1]=9;a.setUint32(n,f,true);i|=16;n+=4}else{var l=r.sst.indexOf(s);if(l==-1)r.sst[l=r.sst.length]=s;t[1]=3;a.setUint32(n,l,true);i|=8;n+=4}}break;case"d":t[1]=5;a.setFloat64(n,(e.v.getTime()-Date.UTC(2001,0,1))/1e3,true);i|=4;n+=8;break;case"z":t[1]=0;break;default:throw"unsupported cell type "+e.t;}if(e.c){r.cmnt.push(Aw(e.c));a.setUint32(n,r.cmnt.length-1,true);i|=524288;n+=4}a.setUint32(8,i,true);return t[Vg](0,n)}function mw(e,r){var t=new Uint8Array(32),a=$g(t),n=12,i=0,s="";t[0]=4;switch(e.t){case"n":break;case"b":break;case"s":{s=e.v==null?"":String(e.v);if(e.l){var f=r.rsst.findIndex(function(r){var t;return r.v==s&&r.l==((t=e.l)==null?void 0:t.Target)});if(f==-1)r.rsst[f=r.rsst.length]={v:s,l:e.l.Target};t[1]=9;a.setUint32(n,f,true);i|=512;n+=4}else{}}break;case"d":break;case"e":break;case"z":break;default:throw"unsupported cell type "+e.t;}if(e.c){a.setUint32(n,r.cmnt.length-1,true);i|=4096;n+=4}switch(e.t){case"n":t[1]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":{s=e.v==null?"":String(e.v);if(e.l){}else{var l=r.sst.indexOf(s);if(l==-1)r.sst[l=r.sst.length]=s;t[1]=3;a.setUint32(n,l,true);i|=16;n+=4}}break;case"d":t[1]=5;a.setFloat64(n,(e.v.getTime()-Date.UTC(2001,0,1))/1e3,true);i|=64;n+=8;break;case"z":t[1]=0;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[Vg](0,n)}function bw(e,r,t){switch(e[0]){case 0:;case 1:;case 2:;case 3:;case 4:return dw(e,r,e[0],t);case 5:return vw(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function gw(e){var r=aw(e);return rw(r[1][0].data)}function ww(e){return nw([[],[{type:0,data:qg(e)}]])}function kw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Qg(e.messages[0].meta[5][0].data):[];var n=a.indexOf(r);if(n==-1){a.push(r);e.messages[0].meta[5]=[{type:2,data:ew(a)}]}}function Tw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Qg(e.messages[0].meta[5][0].data):[];e.messages[0].meta[5]=[{type:2,data:ew(a.filter(function(e){return e!=r}))}]}function yw(e,r){var t=aw(r.data);var a=rw(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t,n;var s=aw(r.data);if(!s[1])return;var f=rw(s[1][0].data)>>>0;switch(a){case 1:i[f]=Xg(s[3][0].data);break;case 8:{var l=e[gw(s[9][0].data)][0];var o=aw(l.data);var c=e[gw(o[1][0].data)][0];var u=rw(c.meta[1][0].data);if(u!=2001)throw new Error("2000 unexpected reference to ".concat(u));var h=aw(c.data);var d={v:h[3].map(function(e){return Xg(e.data)}).join("")};i[f]=d;e:if((t=h==null?void 0:h[11])==null?void 0:t[0]){var v=(n=aw(h[11][0].data))==null?void 0:n[1];if(!v)break e;v.forEach(function(r){var t,a,n;var i=aw(r.data);if((t=i[2])==null?void 0:t[0]){var s=e[gw((a=i[2])==null?void 0:a[0].data)][0];var f=rw(s.meta[1][0].data);switch(f){case 2032:var l=aw(s.data);if(((n=l==null?void 0:l[2])==null?void 0:n[0])&&!d.l)d.l=Xg(l[2][0].data);break;case 2039:break;default:console.log("unrecognized ObjectAttribute type ".concat(f));}}})}}break;case 2:i[f]=aw(s[6][0].data);break;case 3:i[f]=aw(s[5][0].data);break;case 10:{var p=e[gw(s[10][0].data)][0];i[f]=Sw(e,p.data)}break;default:throw a;}});return i}function Ew(e,r){var t,a,n,i,s,f,l,o,c,u,h,d,v,p;var m=aw(e);var b=rw(m[1][0].data)>>>0;var g=rw(m[2][0].data)>>>0;var w=((a=(t=m[8])==null?void 0:t[0])==null?void 0:a.data)&&rw(m[8][0].data)>0||false;var k,T;if(((i=(n=m[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=m[7])==null?void 0:s[0])==null?void 0:f.data;T=(o=(l=m[6])==null?void 0:l[0])==null?void 0:o.data}else if(((u=(c=m[4])==null?void 0:c[0])==null?void 0:u.data)&&r!=1){k=(d=(h=m[4])==null?void 0:h[0])==null?void 0:d.data;T=(p=(v=m[3])==null?void 0:v[0])==null?void 0:p.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var y=w?4:1;var E=$g(k);var _=[];for(var S=0;S=1)A[_[_.length-1][0]]=T[Vg](_[_.length-1][1]*y);return{R:b,cells:A}}function _w(e,r){var t;var a=aw(r.data);var n=-1;if((t=a==null?void 0:a[7])==null?void 0:t[0]){if(rw(a[7][0].data)>>>0)n=1;else n=0}var i=iw(a[5],function(e){return Ew(e,n)});return{nrows:rw(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function Sw(e,r){var t,a,n,i,s,f,l,o,c,u;var h={t:"",a:""};var d=aw(r);if((a=(t=d==null?void 0:d[1])==null?void 0:t[0])==null?void 0:a.data)h.t=Xg((i=(n=d==null?void 0:d[1])==null?void 0:n[0])==null?void 0:i.data)||"";if((f=(s=d==null?void 0:d[3])==null?void 0:s[0])==null?void 0:f.data){var v=e[gw((o=(l=d==null?void 0:d[3])==null?void 0:l[0])==null?void 0:o.data)][0];var p=aw(v.data);if((u=(c=p[1])==null?void 0:c[0])==null?void 0:u.data)h.a=Xg(p[1][0].data)}if(d==null?void 0:d[4]){h.replies=[];d[4].forEach(function(r){var t=e[gw(r.data)][0];h.replies.push(Sw(e,t.data))})}return h}function xw(e){var r=[];r.push({t:e.t||"",a:e.a,T:e.replies&&e.replies.length>0});if(e.replies)e.replies.forEach(function(e){r.push({t:e.t||"",a:e.a,T:true})});return r}function Aw(e){var r={a:"",t:"",replies:[]};for(var t=0;t>>0)-1;if(v.e.r<0)throw new Error("Invalid row varint ".concat(d[6][0].data));v.e.c=(rw(d[7][0].data)>>>0)-1;if(v.e.c<0)throw new Error("Invalid col varint ".concat(d[7][0].data));t["!ref"]=Ha(v);var p=t["!data"]!=null,m=t;var b=aw(d[4][0].data);var g=uw();if((n=b[4])==null?void 0:n[0])g.sst=yw(e,e[gw(b[4][0].data)][0]);if((i=b[6])==null?void 0:i[0])g.fmla=yw(e,e[gw(b[6][0].data)][0]);if((s=b[11])==null?void 0:s[0])g.ofmt=yw(e,e[gw(b[11][0].data)][0]);if((f=b[12])==null?void 0:f[0])g.ferr=yw(e,e[gw(b[12][0].data)][0]);if((l=b[17])==null?void 0:l[0])g.rsst=yw(e,e[gw(b[17][0].data)][0]);if((o=b[19])==null?void 0:o[0])g.cmnt=yw(e,e[gw(b[19][0].data)][0]);if((c=b[22])==null?void 0:c[0])g.nfmt=yw(e,e[gw(b[22][0].data)][0]);var w=aw(b[3][0].data);var k=0;w[1].forEach(function(r){var n=aw(r.data);var i=e[gw(n[2][0].data)][0];var s=rw(i.meta[1][0].data);if(s!=6002)throw new Error("6001 unexpected reference to ".concat(s));var f=_w(e,i);f.data.forEach(function(e,r){e.forEach(function(e,n){var i=bw(e,g,a);if(i){if(p){if(!m["!data"][k+r])m["!data"][k+r]=[];m["!data"][k+r][n]=i}else{t[Pa(n)+Ia(k+r)]=i}}})});k+=f.nrows});if((u=b[13])==null?void 0:u[0]){var T=e[gw(b[13][0].data)][0];var y=rw(T.meta[1][0].data);if(y!=6144)throw new Error("Expected merge type 6144, found ".concat(y));t["!merges"]=(h=aw(T.data))==null?void 0:h[1].map(function(e){var r=aw(e.data);var t=$g(aw(r[1][0].data)[1][0].data),a=$g(aw(r[2][0].data)[1][0].data);return{s:{r:t.getUint16(0,true),c:t.getUint16(2,true)},e:{r:t.getUint16(0,true)+a.getUint16(0,true)-1,c:t.getUint16(2,true)+a.getUint16(2,true)-1}}})}}function Rw(e,r,t){var a=aw(r.data);var n={"!ref":"A1"};if(t==null?void 0:t.dense)n["!data"]=[];var i=e[gw(a[2][0].data)];var s=rw(i[0].meta[1][0].data);if(s!=6001)throw new Error("6000 unexpected reference to ".concat(s));Cw(e,i[0],n,t);return n}function Ow(e,r,t){var a;var n=aw(r.data);var i={name:((a=n[1])==null?void 0:a[0])?Xg(n[1][0].data):"",sheets:[]};var s=iw(n[2],gw);s.forEach(function(r){e[r].forEach(function(r){var a=rw(r.meta[1][0].data);if(a==6e3)i.sheets.push(Rw(e,r,t))})});return i}function Iw(e,r,t){var a;var n=$k();n.Workbook={WBProps:{date1904:true}};var i=aw(r.data);if((a=i[2])==null?void 0:a[0])throw new Error("Keynote presentations are not supported");var s=iw(i[1],gw);s.forEach(function(r){e[r].forEach(function(r){var a=rw(r.meta[1][0].data);if(a==2){var i=Ow(e,r,t);i.sheets.forEach(function(e,r){Xk(n,e,r==0?i.name:i.name+"_"+r,true)})}})});if(n.SheetNames.length==0)throw new Error("Empty NUMBERS file");n.bookType="numbers";return n}function Nw(e,r){var t,a,n,i,s,f,l;var o={},c=[];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;if(e.content[0]!=0)return;var r;try{r=ow(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=sw(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){o[e.id]=e.messages;c.push(e.id)})});if(!c.length)throw new Error("File has no messages");if(((n=(a=(t=o==null?void 0:o[1])==null?void 0:t[0].meta)==null?void 0:a[1])==null?void 0:n[0].data)&&rw(o[1][0].meta[1][0].data)==1e4)throw new Error("Pages documents are not supported");var u=((l=(f=(s=(i=o==null?void 0:o[1])==null?void 0:i[0])==null?void 0:s.meta)==null?void 0:f[1])==null?void 0:l[0].data)&&rw(o[1][0].meta[1][0].data)==1&&o[1][0];if(!u)c.forEach(function(e){o[e].forEach(function(e){var r=rw(e.meta[1][0].data)>>>0;if(r==1){if(!u)u=e;else throw new Error("Document has multiple roots")}})});if(!u)throw new Error("Cannot find Document root");return Iw(o,u,r)}function Fw(e,r,t){var a,n,i;var s=[[],[{type:0,data:qg(0)}],[{type:0,data:qg(0)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:qg(5)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:qg(1)}]];if(!((a=s[6])==null?void 0:a[0])||!((n=s[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var f=0;if(s[7][0].data.length<2*e.length){var l=new Uint8Array(2*e.length);l.set(s[7][0].data);s[7][0].data=l}if(s[4][0].data.length<2*e.length){var o=new Uint8Array(2*e.length);o.set(s[4][0].data);s[4][0].data=o}var c=$g(s[7][0].data),u=0,h=[];var d=$g(s[4][0].data),v=0,p=[];var m=t?4:1;for(var b=0;b1)throw new Error("Template NUMBERS file must have exactly one sheet");e.SheetNames.forEach(function(r,s){if(s>=1){Gw(t,a,s+1);n=zw(t,a,1);i=iw(aw(n.messages[0].data)[1],gw)}jw(t,a,e.Sheets[r],r,s,i[s])});return t}function Ww(e,r,t,a){var n=qe.find(e,r[t].location);if(!n)throw"Could not find ".concat(r[t].location," in Numbers template");var i=sw(ow(n.content));var s=i.find(function(e){return e.id==t});a(s,i);n.content=cw(fw(i));n.size=n.content.length}function zw(e,r,t){var a=qe.find(e,r[t].location);if(!a)throw"Could not find ".concat(r[t].location," in Numbers template");var n=sw(ow(a.content));var i=n.find(function(e){return e.id==t});return i}function Hw(e,r,t){e[3].push({type:2,data:nw([[],[{type:0,data:qg(r)}],[{type:2,data:Gg(t.replace(/-.*$/,""))}],[{type:2,data:Gg(t)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:qg(0)}],[],[{type:0,data:qg(0)}]])});e[1]=[{type:0,data:qg(Math.max(r+1,rw(e[1][0].data)))}]}function Vw(e,r,t,a,n,i){if(!i)i=Pw({deps:[],location:"",type:r},n);var s="".concat(a,"-").concat(i,".iwa");n[i].location="Root Entry"+s;qe.utils.cfb_add(e,s,cw(fw([{id:i,messages:[Dw(r,nw(t))]}])));var f=s.replace(/^[\/]/,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,n,2,function(e){var r=aw(e.messages[0].data);Hw(r,i||0,f);e.messages[0].data=nw(r)});return i}function $w(e,r,t,a){var n=r[t].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");var i=e[3].findIndex(function(e){var r,t;var a=aw(e.data);if((r=a[3])==null?void 0:r[0])return Xg(a[3][0].data)==n;if(((t=a[2])==null?void 0:t[0])&&Xg(a[2][0].data)==n)return true;return false});var s=aw(e[3][i].data);if(!s[6])s[6]=[];(Array.isArray(a)?a:[a]).forEach(function(e){s[6].push({type:2,data:nw([[],[{type:0,data:qg(e)}]])})});e[3][i].data=nw(s)}function Xw(e,r,t,a){var n=r[t].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");var i=e[3].findIndex(function(e){var r,t;var a=aw(e.data);if((r=a[3])==null?void 0:r[0])return Xg(a[3][0].data)==n;if(((t=a[2])==null?void 0:t[0])&&Xg(a[2][0].data)==n)return true;return false});var s=aw(e[3][i].data);if(!s[6])s[6]=[];s[6]=s[6].filter(function(e){return rw(aw(e.data)[1][0].data)!=a});e[3][i].data=nw(s)}function Gw(e,r,t){var a=-1,n=-1;var i={};Ww(e,r,1,function(t,s){var f=aw(t.messages[0].data);a=gw(aw(t.messages[0].data)[1][0].data);n=Pw({deps:[1],location:r[a].location,type:2},r);i[a]=n;kw(t,n);f[1].push({type:2,data:ww(n)});var l=zw(e,r,a);l.id=n;if(r[1].location==r[n].location)s.push(l);else Ww(e,r,n,function(e,r){return r.push(l)});t.messages[0].data=nw(f)});var s=-1;Ww(e,r,n,function(t,a){var f=aw(t.messages[0].data);for(var l=3;l<=69;++l)delete f[l];var o=iw(f[2],gw);o.forEach(function(e){return Tw(t,e)});s=Pw({deps:[n],location:r[o[0]].location,type:r[o[0]].type},r);kw(t,s);i[o[0]]=s;f[2]=[{type:2,data:ww(s)}];var c=zw(e,r,o[0]);c.id=s;if(r[o[0]].location==r[n].location)a.push(c);else{Ww(e,r,2,function(e){var t=aw(e.messages[0].data);$w(t,r,n,s);e.messages[0].data=nw(t)});Ww(e,r,s,function(e,r){return r.push(c)})}t.messages[0].data=nw(f)});var f=-1;Ww(e,r,s,function(t,a){var n=aw(t.messages[0].data);var l=aw(n[1][0].data);for(var o=3;o<=69;++o)delete l[o];var c=gw(l[2][0].data);l[2][0].data=ww(i[c]);n[1][0].data=nw(l);var u=gw(n[2][0].data);Tw(t,u);f=Pw({deps:[s],location:r[u].location,type:r[u].type},r);kw(t,f);i[u]=f;n[2][0].data=ww(f);var h=zw(e,r,u);h.id=f;if(r[s].location==r[f].location)a.push(h);else Ww(e,r,f,function(e,r){return r.push(h)});t.messages[0].data=nw(n)});Ww(e,r,f,function(a,n){var s,l;var o=aw(a.messages[0].data);var c=Xg(o[1][0].data),u=c.replace(/-[A-Z0-9]*/,"-".concat(("0000"+t.toString(16)).slice(-4)));o[1][0].data=Gg(u);[12,13,29,31,32,33,39,44,47,81,82,84].forEach(function(e){return delete o[e]});if(o[45]){var h=aw(o[45][0].data);var d=gw(h[1][0].data);Tw(a,d);delete o[45]}if(o[70]){var v=aw(o[70][0].data);(s=v[2])==null?void 0:s.forEach(function(e){var r=aw(e.data);[2,3].map(function(e){return r[e][0]}).forEach(function(e){var r=aw(e.data);if(!r[8])return;var t=gw(r[8][0].data);Tw(a,t)})});delete o[70]}[46,30,34,35,36,38,48,49,60,61,62,63,64,71,72,73,74,75,85,86,87,88,89].forEach(function(e){if(!o[e])return;var r=gw(o[e][0].data);delete o[e];Tw(a,r)});var p=aw(o[4][0].data);{[2,4,5,6,11,12,13,15,16,17,18,19,20,21,22].forEach(function(t){var s;if(!((s=p[t])==null?void 0:s[0]))return;var l=gw(p[t][0].data);var o=Pw({deps:[f],location:r[l].location,type:r[l].type},r);Tw(a,l);kw(a,o);i[l]=o;var c=zw(e,r,l);c.id=o;if(r[l].location==r[f].location)n.push(c);else{r[o].location=r[l].location.replace(l.toString(),o.toString());if(r[o].location==r[l].location)r[o].location=r[o].location.replace(/\.iwa/,"-".concat(o,".iwa"));qe.utils.cfb_add(e,r[o].location,cw(fw([c])));var u=r[o].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Hw(t,o,u);$w(t,r,f,o);e.messages[0].data=nw(t)})}p[t][0].data=ww(o)});var m=aw(p[1][0].data);{(l=m[2])==null?void 0:l.forEach(function(t){var s=gw(t.data);var l=Pw({deps:[f],location:r[s].location,type:r[s].type},r);Tw(a,s);kw(a,l);i[s]=l;var o=zw(e,r,s);o.id=l;if(r[s].location==r[f].location){n.push(o)}else{r[l].location=r[s].location.replace(s.toString(),l.toString());if(r[l].location==r[s].location)r[l].location=r[l].location.replace(/\.iwa/,"-".concat(l,".iwa"));qe.utils.cfb_add(e,r[l].location,cw(fw([o])));var c=r[l].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Hw(t,l,c);$w(t,r,f,l);e.messages[0].data=nw(t)})}t.data=ww(l)})}p[1][0].data=nw(m);var b=aw(p[3][0].data);{b[1].forEach(function(t){var n=aw(t.data);var s=gw(n[2][0].data);var l=i[s];if(!i[s]){l=Pw({deps:[f],location:"",type:r[s].type},r);r[l].location="Root Entry/Index/Tables/Tile-".concat(l,".iwa");i[s]=l;var o=zw(e,r,s);o.id=l;Tw(a,s);kw(a,l);qe.utils.cfb_add(e,"/Index/Tables/Tile-".concat(l,".iwa"),cw(fw([o])));Ww(e,r,2,function(e){var t=aw(e.messages[0].data);t[3].push({type:2,data:nw([[],[{type:0,data:qg(l)}],[{type:2,data:Gg("Tables/Tile")}],[{type:2,data:Gg("Tables/Tile-".concat(l))}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:qg(0)}],[],[{type:0,data:qg(0)}]])});t[1]=[{type:0,data:qg(Math.max(l+1,rw(t[1][0].data)))}];$w(t,r,f,l);e.messages[0].data=nw(t)})}n[2][0].data=ww(l);t.data=nw(n)})}p[3][0].data=nw(b)}o[4][0].data=nw(p);a.messages[0].data=nw(o)})}function jw(e,r,t,a,n,i){var s=[];Ww(e,r,i,function(e){var r=aw(e.messages[0].data);{r[1]=[{type:2,data:Gg(a)}];s=iw(r[2],gw)}e.messages[0].data=nw(r)});var f=zw(e,r,s[0]);var l=gw(aw(f.messages[0].data)[2][0].data);Ww(e,r,l,function(a,n){return Yw(e,r,t,a,n,l)})}var Kw=true;function Yw(e,r,t,a,n,i){var s=za(t["!ref"]);s.s.r=s.s.c=0;var f=false;if(s.e.c>999){f=true;s.e.c=999}if(s.e.r>999999){f=true;s.e.r=999999}if(f)console.error("Truncating to ".concat(Ha(s)));var l=[];if(t["!data"])l=t["!data"];else{var o=[];for(var c=0;c<=s.e.c;++c)o[c]=Pa(c);for(var u=0;u<=s.e.r;++u){l[u]=[];var h=""+(u+1);for(c=0;c<=s.e.c;++c){var d=t[o[c]+h];if(!d)continue;l[u][c]=d}}}var v={cmnt:[{a:"~54ee77S~",t:"... the people who are crazy enough to think they can change the world, are the ones who do."}],ferr:[],fmla:[],nfmt:[],ofmt:[],rsst:[{v:"~54ee77S~",l:"https://sheetjs.com/"}],sst:["~Sh33tJ5~"]};var p=aw(a.messages[0].data);{p[6][0].data=qg(s.e.r+1);p[7][0].data=qg(s.e.c+1);delete p[46];var m=aw(p[4][0].data);{var b=gw(aw(m[1][0].data)[2][0].data);Ww(e,r,b,function(e,r){var t;var a=aw(e.messages[0].data);if((t=a==null?void 0:a[2])==null?void 0:t[0])for(var n=0;n1){var P=gw(m[19][0].data);var L={},M=0;Ww(e,r,P,function(t){var a=aw(t.messages[0].data);{a[3]=[];v.cmnt.forEach(function(n,i){if(i==0)return;var s=[];if(n.replies)n.replies.forEach(function(t){if(!L[t.a||""])L[t.a||""]=Vw(e,212,[[],[{type:2,data:Gg(t.a||"")}],[{type:2,data:Uw(++M)}],[],[{type:0,data:qg(0)}]],"/Index/Tables/DataList",r);var a=L[t.a||""];var n=Vw(e,3056,[[],[{type:2,data:Gg(t.t||"")}],[{type:2,data:nw([[],[{type:1,data:new Uint8Array([0,0,0,128,116,109,182,65])}]])}],[{type:2,data:ww(a)}]],"/Index/Tables/DataList",r);Ww(e,r,n,function(e){return kw(e,a)});s.push(n);Ww(e,r,2,function(e){var t=aw(e.messages[0].data);$w(t,r,n,a);e.messages[0].data=nw(t)})});if(!L[n.a||""])L[n.a||""]=Vw(e,212,[[],[{type:2,data:Gg(n.a||"")}],[{type:2,data:Uw(++M)}],[],[{type:0,data:qg(0)}]],"/Index/Tables/DataList",r);var f=L[n.a||""];var l=Vw(e,3056,[[],[{type:2,data:Gg(n.t||"")}],[{type:2,data:nw([[],[{type:1,data:new Uint8Array([0,0,0,128,116,109,182,65])}]])}],[{type:2,data:ww(f)}],s.map(function(e){return{type:2,data:ww(e)}}),[{type:2,data:nw([[],[{type:0,data:qg(i)}],[{type:0,data:qg(0)}]])}]],"/Index/Tables/DataList",r);Ww(e,r,l,function(e){kw(e,f);s.forEach(function(r){return kw(e,r)})});a[3].push({type:2,data:nw([[],[{type:0,data:qg(i)}],[{type:0,data:qg(1)}],[],[],[],[],[],[],[],[{type:2,data:ww(l)}]])});kw(t,l);Ww(e,r,2,function(e){var t=aw(e.messages[0].data);$w(t,r,P,l);$w(t,r,l,f);if(s.length)$w(t,r,l,s);e.messages[0].data=nw(t)})})}a[2][0].data=qg(v.cmnt.length+1);t.messages[0].data=nw(a)})}}p[4][0].data=nw(m)}a.messages[0].data=nw(p)}function Zw(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 Jw(e){Zw([["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 qw(e){Zw([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function Qw(e){if(li.WS.indexOf(e)>-1)return"sheet";if(li.CS&&e==li.CS)return"chart";if(li.DS&&e==li.DS)return"dialog";if(li.MS&&e==li.MS)return"macro";return e&&e.length?e:"sheet"}function ek(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,Qw(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function rk(e,r,t,a,n,i,s,f){if(!e||!e["!legdrawel"])return;var l=Gr(e["!legdrawel"].Target,a);var o=Wr(t,l,true);if(o)Ru(wt(o),e,f||[])}function tk(e,r,t,a,n,i,s,f,l,o,c,u){try{i[a]=ci(Wr(e,t,true),r);var h=Br(e,r);var d;switch(f){case"sheet":d=tb(h,r,n,l,i[a],o,c,u);break;case"chart":d=ab(h,r,n,l,i[a],o,c,u);if(!d||!d["!drawel"])break;var v=Gr(d["!drawel"].Target,r);var p=oi(v);var m=Au(Wr(e,v,true),ci(Wr(e,p,true),v));var b=Gr(m,v);var g=oi(b);d=km(Wr(e,b,true),b,l,ci(Wr(e,g,true),b),o,d);break;case"macro":d=nb(h,r,n,l,i[a],o,c,u);break;case"dialog":d=ib(h,r,n,l,i[a],o,c,u);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[],k=[];if(i&&i[a])nr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==li.CMNT){n=Gr(i[a][t].Target,r);w=lb(Br(e,n,true),n,l);if(!w||!w.length)return;Nu(d,w,false)}if(i[a][t].Type==li.TCMNT){n=Gr(i[a][t].Target,r);k=k.concat(Pu(Br(e,n,true),l))}});if(k&&k.length)Nu(d,k,true,l.people||[]);rk(d,f,e,r,n,l,o,w)}catch(T){if(l.WTF)throw T}}function ak(e){return e.charAt(0)=="/"?e.slice(1):e}function nk(e,r){Ve();r=r||{};Jw(r);if(Mr(e,"META-INF/manifest.xml"))return Lg(e,r);if(Mr(e,"objectdata.xml"))return Lg(e,r);if(Mr(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Nw!="undefined"){if(e.FileIndex)return Nw(e,r);var t=qe.utils.cfb_new();Hr(e).forEach(function(r){Vr(t,r,zr(e,r))});return Nw(t,r)}throw new Error("Unsupported NUMBERS file")}if(!Mr(e,"[Content_Types].xml")){if(Mr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Mr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=qe.find(e,"Index.zip");if(a){r=kr(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return mk(new Uint8Array(a.content),r);return mk(a.content,r)}throw new Error("Unsupported ZIP file")}var n=Hr(e);var i=si(Wr(e,"[Content_Types].xml"));var s=false;var f,l;if(i.workbooks.length===0){l="xl/workbook.xml";if(Br(e,l,true))i.workbooks.push(l)}if(i.workbooks.length===0){l="xl/workbook.bin";if(!Br(e,l,true))throw new Error("Could not find workbook");i.workbooks.push(l);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var o={};var c={};if(!r.bookSheets&&!r.bookProps){dv=[];if(i.sst)try{dv=fb(Br(e,ak(i.sst)),i.sst,r)}catch(u){if(r.WTF)throw u}if(r.cellStyles&&i.themes.length)o=ru(Wr(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)c=sb(Br(e,ak(i.style)),i.style,o,r)}i.links.map(function(t){try{var a=ci(Wr(e,oi(ak(t))),t);return cb(Br(e,ak(t)),a,t,r)}catch(n){}});var h=rb(Br(e,ak(i.workbooks[0])),i.workbooks[0],r);var d={},v="";if(i.coreprops.length){v=Br(e,ak(i.coreprops[0]),true);if(v)d=yi(v);if(i.extprops.length!==0){v=Br(e,ak(i.extprops[0]),true);if(v)Ci(v,d,r)}}var p={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){v=Wr(e,ak(i.custprops[0]),true);if(v)p=Ii(v,r)}}var m={};if(r.bookSheets||r.bookProps){if(h.Sheets)f=h.Sheets.map(function N(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)f=d.SheetNames;if(r.bookProps){m.Props=d;m.Custprops=p}if(r.bookSheets&&typeof f!=="undefined")m.SheetNames=f;if(r.bookSheets?m.SheetNames:r.bookProps)return m}f={};var b={};if(r.bookDeps&&i.calcchain)b=ob(Br(e,ak(i.calcchain)),i.calcchain,r);var g=0;var w={};var k,T;{var y=h.Sheets;d.Worksheets=y.length;d.SheetNames=[];for(var E=0;E!=y.length;++E){d.SheetNames[E]=y[E].name}}var _=s?"bin":"xml";var S=i.workbooks[0].lastIndexOf("/");var x=(i.workbooks[0].slice(0,S+1)+"_rels/"+i.workbooks[0].slice(S+1)+".rels").replace(/^\//,"");if(!Mr(e,x))x="xl/_rels/workbook."+_+".rels";var A=ci(Wr(e,x,true),x.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=ub(Br(e,ak(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=Mu(Br(e,ak(i.people[0])),r)}if(A)A=ek(A,h.Sheets);var C=Br(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(g=0;g!=d.Worksheets;++g){var R="sheet";if(A&&A[g]){k="xl/"+A[g][1].replace(/[\/]?xl\//,"");if(!Mr(e,k))k=A[g][1];if(!Mr(e,k))k=x.replace(/_rels\/.*$/,"")+A[g][1];R=A[g][2]}else{k="xl/worksheets/sheet"+(g+1-C)+"."+_;k=k.replace(/sheet0\./,"sheet.")}T=k.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(d.SheetNames[g].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var O=false;for(var I=0;I!=r.sheets.length;++I){if(typeof r.sheets[I]=="number"&&r.sheets[I]==g)O=1;if(typeof r.sheets[I]=="string"&&r.sheets[I].toLowerCase()==d.SheetNames[g].toLowerCase())O=1}if(!O)continue e};}tk(e,k,T,d.SheetNames[g],g,w,f,R,r,h,o,c)}m={Directory:i,Workbook:h,Props:d,Custprops:p,Deps:b,Sheets:f,SheetNames:d.SheetNames,Strings:dv,Styles:c,Themes:o,SSF:kr(q)};if(r&&r.bookFiles){if(e.files){m.keys=n;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(i.vba.length>0)m.vbaraw=Br(e,ak(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===Xu)m.vbaraw=Br(e,"xl/vbaProject.bin",true)}m.bookType=s?"xlsb":"xlsx";return m}function ik(e,r){var t=r||{};var a="Workbook",n=qe.find(e,a);try{a="/!DataSpaces/Version";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);bo(n.content);a="/!DataSpaces/DataSpaceMap";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=wo(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=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=ko(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);yo(n.content)}catch(f){}a="/EncryptionInfo";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=So(n.content);a="/EncryptedPackage";n=qe.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 sk(e,r){if(e&&!e.SSF){e.SSF=kr(q)}if(e&&e.SSF){Ve();He(e.SSF);r.revssf=fr(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(pv)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=ii();qw(r=r||{});var i=$r();var s="",f=0;r.cellXfs=[];wv(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Vr(i,s,_i(e.Props,r));n.coreprops.push(s);hi(r.rels,2,s,li.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";Vr(i,s,Ni(e.Custprops,r));n.custprops.push(s);hi(r.rels,4,s,li.CUST_PROPS)}var c=["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;Vr(i,s,gm(f-1,r,e,u));n.sheets.push(s);hi(r.wbrels,-1,"worksheets/sheet"+f+"."+t,li.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+".xml";Vr(i,m,Lu(v,c,r));n.threadedcomments.push(m);hi(u,-1,"../threadedComments/threadedComment"+f+".xml",li.TCMNT)}m="xl/comments"+f+"."+t;Vr(i,m,$u(v,r));n.comments.push(m);hi(u,-1,"../comments"+f+"."+t,li.CMNT);p=true}if(h["!legacy"]){if(p)Vr(i,"xl/drawings/vmlDrawing"+f+".vml",Ou(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)Vr(i,oi(s),ui(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Vr(i,s,vo(r.Strings,r));n.strs.push(s);hi(r.wbrels,-1,"sharedStrings."+t,li.SST)}s="xl/workbook."+t;Vr(i,s,eb(e,r));n.workbooks.push(s);hi(r.rels,1,s,li.WB);s="xl/theme/theme1.xml";var g=tu(e.Themes,r);Vr(i,s,g);n.themes.push(s);hi(r.wbrels,-1,"theme/theme1.xml",li.THEME);s="xl/styles."+t;Vr(i,s,Xc(e,r));n.styles.push(s);hi(r.wbrels,-1,"styles."+t,li.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Vr(i,s,e.vbaraw);n.vba.push(s);hi(r.wbrels,-1,"vbaProject.bin",li.VBA)}s="xl/metadata."+t;Vr(i,s,wu());n.metadata.push(s);hi(r.wbrels,-1,"metadata."+t,li.XLMETA);if(c.length>1){s="xl/persons/person.xml";Vr(i,s,Uu(c,r));n.people.push(s);hi(r.wbrels,-1,"persons/person.xml",li.PEOPLE)}Vr(i,"[Content_Types].xml",fi(n,r));Vr(i,"_rels/.rels",ui(r.rels));Vr(i,"xl/_rels/workbook."+t+".rels",ui(r.wbrels));delete r.revssf;delete r.ssf;return i}function fk(e,r){if(e&&!e.SSF){e.SSF=kr(q)}if(e&&e.SSF){Ve();He(e.SSF);r.revssf=fr(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(pv)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Ku.indexOf(r.bookType)>-1;var n=ii();qw(r=r||{});var i=$r();var s="",f=0;r.cellXfs=[];wv(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Vr(i,s,_i(e.Props,r));n.coreprops.push(s);hi(r.rels,2,s,li.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";Vr(i,s,Ni(e.Custprops,r));n.custprops.push(s);hi(r.rels,4,s,li.CUST_PROPS)}var c=["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;Vr(i,s,ep(f-1,r,e,u));n.sheets.push(s);hi(r.wbrels,-1,"worksheets/sheet"+f+"."+t,li.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+".xml";Vr(i,m,Lu(v,c,r));n.threadedcomments.push(m);hi(u,-1,"../threadedComments/threadedComment"+f+".xml",li.TCMNT)}m="xl/comments"+f+"."+t;Vr(i,m,Du(v,r));n.comments.push(m);hi(u,-1,"../comments"+f+"."+t,li.CMNT);p=true}if(h["!legacy"]){if(p)Vr(i,"xl/drawings/vmlDrawing"+f+".vml",Ou(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)Vr(i,oi(s),ui(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Vr(i,s,lo(r.Strings,r));n.strs.push(s);hi(r.wbrels,-1,"sharedStrings."+t,li.SST)}s="xl/workbook."+t;Vr(i,s,Um(e,r));n.workbooks.push(s);hi(r.rels,1,s,li.WB);s="xl/theme/theme1.xml";Vr(i,s,tu(e.Themes,r));n.themes.push(s);hi(r.wbrels,-1,"theme/theme1.xml",li.THEME);s="xl/styles."+t;Vr(i,s,gc(e,r));n.styles.push(s);hi(r.wbrels,-1,"styles."+t,li.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Vr(i,s,e.vbaraw);n.vba.push(s);hi(r.wbrels,-1,"vbaProject.bin",li.VBA)}s="xl/metadata."+t;Vr(i,s,Tu());n.metadata.push(s);hi(r.wbrels,-1,"metadata."+t,li.XLMETA);if(c.length>1){s="xl/persons/person.xml";Vr(i,s,Uu(c,r));n.people.push(s);hi(r.wbrels,-1,"persons/person.xml",li.PEOPLE)}Vr(i,"[Content_Types].xml",fi(n,r));Vr(i,"_rels/.rels",ui(r.rels));Vr(i,"xl/_rels/workbook."+t+".rels",ui(r.wbrels));delete r.revssf;delete r.ssf;return i}function lk(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=_(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 ok(e,r){if(qe.find(e,"EncryptedPackage"))return ik(e,r);return Kb(e,r)}function ck(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=S&&Buffer.isBuffer(e)?"buffer":"base64";t=Xr(a,n);return nk(t,n)}function uk(e,r){var t=0;e:while(t=2&&i[3]===0)return Yl.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return Yl.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return Vl.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return Wo(n,t);break;case 10:;case 13:;case 32:return hk(n,t);case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Hl.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return Vl.to_workbook(n,t);return pk(e,n,t,s)}function bk(e,r){var t=r||{};t.type="file";return mk(e,t)}function gk(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return tr(r.file,qe.write(e,{type:S?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return qe.write(e,r)}function wk(e,r){switch(r.bookType){case"ods":return Hg(e,r);case"numbers":return Bw(e,r);case"xlsb":return sk(e,r);default:return fk(e,r);}}function kk(e,r){var t=kr(r||{});var a=wk(e,t);return yk(a,t)}function Tk(e,r){var t=kr(r||{});var a=fk(e,t);return yk(a,t)}function yk(e,r){var t={};var a=S?"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?qe.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(I(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return gk(encrypt_agile(n,r.password),r);if(r.type==="file")return tr(r.file,n);return r.type=="string"?wt(n):n}function Ek(e,r){var t=r||{};var a=Yb(e,t);return gk(a,t)}function _k(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return T(kt(a));case"binary":return kt(a);case"string":return e;case"file":return tr(r.file,a,"utf8");case"buffer":{if(S)return x(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return _k(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Sk(e,r){switch(r.type){case"base64":return y(e);case"binary":return e;case"string":return e;case"file":return tr(r.file,e,"binary");case"buffer":{if(S)return x(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function xk(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=Ia(l.s.r);var h=[];var d=[];var v=0,p=0;var m=e["!data"]!=null;var b=l.s.r,g=0;var w={};if(m&&!e["!data"][b])e["!data"][b]=[];var k=o.skipHidden&&e["!cols"]||[];var T=o.skipHidden&&e["!rows"]||[];for(g=l.s.c;g<=l.e.c;++g){if((k[g]||{}).hidden)continue;h[g]=Pa(g);t=m?e["!data"][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=ja(t,null,o);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=l.s.r+n;b<=l.e.r;++b){if((T[b]||{}).hidden)continue;var y=Fk(e,l,b,h,a,i,o);if(y.isempty===false||(a===1?o.blankrows!==false:!!o.blankrows))d[v++]=y.row}d.length=v;return d}var Pk=/"/g;function Lk(e,r,t,a,n,i,s,f){var l=true;var o=[],c="",u=Ia(t);var h=e["!data"]!=null;var d=h&&e["!data"][t]||[];for(var v=r.s.c;v<=r.e.c;++v){if(!a[v])continue;var p=h?d[v]:e[a[v]+u];if(p==null)c="";else if(p.v!=null){l=false;c=""+(f.rawNumbers&&p.t=="n"?p.v:ja(p,null,f));for(var m=0,b=0;m!==c.length;++m)if((b=c.charCodeAt(m))===n||b===i||b===34||f.forceQuotes){c='"'+c.replace(Pk,'""')+'"';break}if(c=="ID")c='"ID"'}else if(p.f!=null&&!p.F){l=false;c="="+p.f;if(c.indexOf(",")>=0)c='"'+c.replace(Pk,'""')+'"'}else c="";o.push(c)}if(f.blankrows===false&&l)return null;return o.join(s)}function Mk(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Xa(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=[];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]=Pa(v);var p=0;for(var m=n.s.r;m<=n.e.r;++m){if((d[m]||{}).hidden)continue;c=Lk(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)}return t.join("")}function Uk(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=Mk(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 Bk(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Xa(e["!ref"]),i="",s=[],f;var l=[];var o=e["!data"]!=null;for(f=n.s.c;f<=n.e.c;++f)s[f]=Pa(f);for(var c=n.s.r;c<=n.e.r;++c){i=Ia(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=o?(e["!data"][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 Wk(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(g!=null&&n==null)n=g;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var f=0,l=0;if(s&&a.origin!=null){if(typeof a.origin=="number")f=a.origin;else{var o=typeof a.origin=="string"?Ba(a.origin):a.origin;f=o.r;l=o.c}}var c={s:{c:0,r:0},e:{c:l,r:f+r.length-1+i}};if(s["!ref"]){var u=Xa(s["!ref"]);c.e.c=Math.max(c.e.c,u.e.c);c.e.r=Math.max(c.e.r,u.e.r);if(f==-1){f=u.e.r+1;c.e.r=f+r.length-1+i}}else{if(f==-1){f=0;c.e.r=r.length-1+i}}var h=a.header||[],d=0;var v=[];r.forEach(function(e,r){if(n&&!s["!data"][f+r+i])s["!data"][f+r+i]=[];if(n)v=s["!data"][f+r+i];nr(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var o=e[t];var c="z";var u="";var p=n?"":Pa(l+d)+Ia(f+r+i);var m=n?v[l+d]:s[p];if(o&&typeof o==="object"&&!(o instanceof Date)){if(n)v[l+d]=o;else s[p]=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.UTC)o=Fr(o);if(!a.cellDates){c="n";o=hr(o)}u=m!=null&&m.z&&Pe(m.z)?m.z:a.dateNF||q[14]}else if(o===null&&a.nullError){c="e";o=0}if(!m){if(!n)s[p]=m={t:c,v:o};else v[l+d]=m={t:c,v:o}}else{m.t=c;m.v=o;delete m.w;delete m.R;if(u)m.z=u}if(u)m.z=u}})});c.e.c=Math.max(c.e.c,l+h.length-1);var p=Ia(f);if(n&&!s["!data"][f])s["!data"][f]=[];if(i)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 $k(){return{SheetNames:[],Sheets:{}}}function Xk(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}Fm(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function Gk(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Vk(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 jk(e,r){e.z=r;return e}function Kk(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function Yk(e,r,t){return Kk(e,"#"+r,t)}function Zk(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Jk(e,r,t,a){var n=typeof r!="string"?r:Xa(r);var i=typeof r=="string"?r:Ha(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var l=Hk(e,s,f);l.t="n";l.F=i;delete l.v;if(s==n.s.r&&f==n.s.c){l.f=t;if(a)l.D=true}}var o=za(e["!ref"]);if(o.s.r>n.s.r)o.s.r=n.s.r;if(o.s.c>n.s.c)o.s.c=n.s.c;if(o.e.rs.e.r){if(!l){l=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(yg(e,s,f,a));++f;break}};return t}function aT(e,r){var t=Qk({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=Xa(u);break;case"number":o=Xa(e["!ref"]);o.s.r=u;break;default:o=u;}if(n>0)i=0;var h=Ia(o.s.r);var d=[];var v=0;var p=e["!data"]!=null;var m=o.s.r,b=0;var g={};if(p&&!e["!data"][m])e["!data"][m]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b){if((w[b]||{}).hidden)continue;d[b]=Pa(b);a=p?e["!data"][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=ja(a,null,c);v=g[f]||0;if(!v)g[f]=1;else{do{l=f+"_"+v++}while(g[l]);g[f]=v;g[l]=1}s[b]=l;}}m=o.s.r+i;t._read=function(){while(m<=o.e.r){if((k[m-1]||{}).hidden)continue;var r=Fk(e,o,m,d,n,s,c);++m;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var nT={to_json:aT,to_html:tT,to_csv:rT,set_readable:eT};if(typeof Kb!=="undefined")e.parse_xlscfb=Kb;e.parse_zip=nk;e.read=mk;e.readFile=bk;e.readFileSync=bk;e.write=Ck;e.writeFile=Ok;e.writeFileSync=Ok;e.writeFileAsync=Nk;e.utils=qk;e.writeXLSX=Ak;e.writeFileXLSX=Ik;e.set_fs=er;e.set_cptable=b;e.SSF=$e;if(typeof nT!=="undefined")e.stream=nT;if(typeof qe!=="undefined")e.CFB=qe;if(typeof require!=="undefined"){var iT=undefined;if((iT||{}).Readable)eT(iT.Readable);try{Qe=undefined}catch(sT){}}}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 7f8f282..c603988 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","$cptable","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","utf16lereadu","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","set_cptable","cptable","utils","decode","_gc2","_ga2","cpdoit","DENSE","DIF_XL","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_encode_pass","Base64_decode","replace","has_buf","Buffer","undefined","node","Buffer_from","nbfs","from","e","buf","enc","bind","buf_utf16le","toString","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","utf8decode","content","out","widx","L","ridx","d","push","chr0","chr1","_strrev","pad0","v","t","fill","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","SSF_isgeneral","days","months","SSF_init_table","table_fmt","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","SSF_default_map","5","6","7","8","23","24","25","26","27","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSFbasedate","SSFdnthresh","getTime","SSFbase1904","datenum_local","epoch","getTimezoneOffset","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","w","toFixed","toPrecision","toExponential","SSF_large_exp","SSF_general_num","V","log","LOG10E","substr","toUpperCase","SSF_general","SSF_format","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","pct1","write_num_pct","sfmt","mul","write_num","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","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","l","lat","m1","m2","dateNF","table","SSF_load","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","32","33","34","35","36","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","n","datestr","timestr","bad_formats","d.m","SSF__load","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","sz1","sz2","usz","csz","fs","get_fs","_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","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","console","error","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","message","_inflateRawSync","_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","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","set_fs","blobify","write_dl","Deno","TextEncoder","encode","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","basedate","datenum","dnthresh","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date_1","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","TextDecoder","€","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž","‘","’","“","”","•","–","—","˜","™","š","›","œ","ž","Ÿ","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","FDRE1","fuzzytime1","lower_months","fuzzydate","lower","lnos","getYear","split_regex","safe_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","tagregex1","tagregex2","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","raw_unescapexml","xlsx","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","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","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","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","utf8_b","___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","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cpp","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","module","require","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","fix_range","a1","formula_quote_sheet_name","sname","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","__Rstr","__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","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR_VARIANT","VT_VECTOR_LPSTR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","2147483648","2147483651","1919054434","SummaryPIDSI","CountryEnum","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","#NULL!","#DIV/0!","#VALUE!","#REF!","#NAME?","#NUM!","#N/A","#GETTING_DATA","#WTF?","XLSLblBuiltIn","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","write_ct","type2ct","xmlns:xsd","xmlns:xsi","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","CONN","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","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","wb","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","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","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","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","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","old_cp","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_l","_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","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cellText","shrbase","shift_formula_str","F_seen","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","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","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","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","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","sdata","refguess","qpw_to_workbook_buf","vers","qpro","works","works2","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_STRING","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","109","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","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","formulae","book_append_sheet","CC","delta","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_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","_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","lastmeta","offsets","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","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","tcnt","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","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","make_3d_range","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","write_XLSBFormulaNum","oint","write_XLSBFormulaErr","write_XLSBFormulaBool","write_XLSBFormulaStr","postamble","write_XLSBFormulaRef","write_XLSBFormulaRef3D","lastbang","write_XLSBFormulaRefErr3D","write_XLSBFormulaRange","_str","write_XLSBFormulaRangeWS","write_XLSBFormulaArea3D","write_XLSBFormula","write_XLSBNameParsedFormula","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","nodim","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","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","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","display","cellregex","rowregex","isregex","refregex","match_v","match_f","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","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","parse_BrtCsProp","parse_cs_bin","cs_parse","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","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","write_BrtName","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BRTNAMES","write_SELF_EXTERNS_xlsb","write_EXTERNALS_xlsb","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","XLMLFormatMap","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_prefix_dname","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","html_to_workbook","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","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","make_html_row","editable","HTML_BEGIN","HTML_END","book_new","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","baddate","rptR","rpt","xlmlidx","styletag","nrange","ptp","parse_ods","Styles","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_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","write_ws","nfs","ods","ROWS","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","nfi","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","stru8","u8concat","u8a","popcnt","readDecimal128LE","exp","mantissa","writeDecimal128LE","parse_varint49","ptr","varint","write_varint49","parse_packed_varints","write_packed_varints","nums","varint_to_i32","i32","varint_to_u64","lo","hi","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","clen","u8i","decompress_iwa_file","compress_iwa_file","frame","numbers_lut_new","rsst","ofmt","nfmt","numbers_format_cell","_b","_c","ver","dur","dstyle","dmin","dmax","autodur","dstr","zstr","parse_old_storage","lut","dv","getUint32","zidx","ieee","doff","getFloat64","parse_new_storage","d128","write_new_storage","setFloat64","setUint32","write_old_storage","parse_cell_storage","parse_TSP_Reference","pb","write_TSP_Reference","numbers_add_oref","iwa","orefs","orefidx","numbers_del_oref","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","parse_TST_TileRowInfo","_e","_g","_h","_i","_k","_m","wide_offsets","used_storage_u8","used_storage","used_storage_offsets","getUint16","parse_TST_Tile","nrows","reduce","acc","parse_TST_TableModelArchive","dws","store","tile","tl","ref2","mtype2","_tile","pi","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","indices","packets","packet","docroot","iwam","write_TST_TileRowInfo","wide","tri","new_7","new_4","last_offset","cell_storage","_dv","_last_offset","_cell_storage","setUint16","celload","_celload","write_iwam","get_unique_msgid","dep","dependents","build_numbers_deps","deps","mess","write_numbers_iwa","numbers","numbers_iwa_find","sheetrefs","numbers_add_ws","write_numbers_ws","numbers_iwa_doit","ainfo","sheetref","newsheetref","remap","arch","doc","tiaref","sheetroot","sa","drawables","tia","loc2","mlist","parentidx","findIndex","mm","parent","tmaref","tiaroot","da","dap","oldtmaref","tma","tmaroot","uuid","new_uuid","padStart","srrta","hsoa","hsa","hseadata","hsea","_a2","oldref","newref","newloc","_a3","_b2","row_headers","tspref","tiles","tst","oldtileref","newtileref","oldtile","wsname","sheetidx","rootref","write_numbers_tma","USE_WIDE_ROWS","tmafile","trunc","row_header_ref","rowhead","_x","base_bucket","R2","_bucket","col_header_ref","colhead","rbtree","tilestore","tstride","tileref","save_token","mlst","ntiles","newtileid","tiledata","tilerow","newtile","tilecontent","mergeid","sstref","sstroot","sstdata","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","index_zip","Bun","readSync","dir","binname","link","propdata","pluck","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsb","foo","vbafmt","_sn","wsrels","_type","need_vml","rId1","write_zip_xlsx","needtc","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","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","datarow","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","ws_get_cell_stub","RC","wb_sheet_idx","sh","roll","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","wsr","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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,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRkB,GAAQ,KACRG,GAAQ,KACRK,GAAQ,KACRkB,GAAQ,KACRE,GAAQ,KACRN,GAAQ,KACRC,GAAQ,KACRk/B,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,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,IAAOla,GAAO,MAAOA,GAAIxtB,IAAI,SAAS/C,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAIrF,GAAI0qC,IAAWD,IAEd,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,EACA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAED,IAAIvE,IAAS7T,GAAIqY,GAGjB,IAAIjJ,KACJtkC,EAAM,SACNwK,EAAM,UACNrB,GAAM,UACNuB,GAAM,QACNM,GAAM,SACNoN,GAAM,QACNjL,GAAM,OACNC,GAAM,gBACNlM,IAAM,QAGN,IAAIssC,KACHC,SAAiB,EACjBC,UAAiB,EACjBC,UAAi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LC,IAAK,aACLC,IAAK,cACLC,IAAK,eACLisB,IAAK,SACLhsB,IAAK,WACLC,IAAK,UACLgsB,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,WACLC,IAAK,UACLC,IAAK,SACLC,IAAK,QACLC,IAAK,WACLC,IAAK,QACLC,IAAK,YACLC,IAAK,UACLC,IAAK,MACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACL6K,IAAK,OACL5K,IAAK,QACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLsK,IAAK,QACLC,IAAK,WACLtK,IAAK,aACLuK,IAAK,cACLtK,IAAK,OACLuK,IAAK,WACLC,IAAK,OACLC,IAAK,gBACLC,IAAK,YACLzK,IAAK,cACL0K,IAAK,QACLzK,IAAK,iBACLC,IAAK,kBACLyK,IAAK,kBACLC,IAAK,iBACLzK,IAAK,UACLC,IAAK,UACLC,IAAK,WACLwK,IAAK,QACLC,IAAK,UACLC,IAAK,aACLC,IAAK,eACLC,IAAK,oBACL3K,IAAK,QACLntD,IAAK,UACLotD,IAAK,aACL2K,IAAK,eACL93D,IAAK,QACLotD,IAAK,cACLC,IAAK,cACL0K,IAAK,WACL93D,IAAK,eACL+3D,IAAK,YACLC,IAAK,WACLC,IAAK,WACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UACLC,IAAK,QACLC,IAAK,SACLC,IAAK,OACLC,IAAK,WACLC,IAAK,gBACLpL,IAAK,YACLqL,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C,QACAC,QACAC,MAAyBjkH,EAAEgxC,IAC3BkzE,QACAoG,QACAnG,QACAoG,QACAC,QACAC,QACAC,QACAC,QACAvG,QACA4D,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAkC,QACAC,MAA6B1uH,EAAE,IAC/B2uH,QACAC,QACAC,QACAC,MAA6BjrH,EAAEurC,IAC/B2/E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2BhsH,EAAEg9C,GAAa7gD,EAAE,IAC5C8vH,MAA2BjsH,EAAE4oE,GAAazsE,EAAE,IAC5C+vH,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8B5sH,EAAE0pC,GAAWvtC,EAAE,IAC7C0wH,QACAC,MAAiC3wH,EAAE,IACnC4wH,QACAC,QACAC,QACAC,QACAC,MAA6BntH,EAAEq6C,GAAel+C,EAAE,IAChDixH,QACAC,MAA2BrtH,EAAEgoE,GAAa7rE,EAAE,IAC5CmxH,QACAC,QACAC,QACAC,MAAiCztH,EAAE+6C,GAAmB5+C,EAAE,IACxDuxH,MAAsC1tH,EAAEurC,IACxCoiF,QACAC,QACAC,QACAC,QACAC,MAA0C/tH,EAAE4yC,IAC5Co7E,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,MAA2B9vH,EAAE2rC,IAC7BokF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8B5wH,EAAEw9C,IAChCqzE,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAAgCvxH,EAAE68C,IAClC20E,QACAC,QACAC,QACAC,QACAC,Q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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","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","utf16lereadu","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","set_cptable","cptable","utils","decode","_gc2","_ga2","cpdoit","DENSE","DIF_XL","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_encode_pass","Base64_encode_arr","Base64_decode","replace","has_buf","Buffer","undefined","node","Buffer_from","nbfs","from","e","buf","enc","bind","buf_utf16le","toString","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","utf8decode","content","out","widx","L","ridx","d","push","chr0","chr1","_strrev","pad0","v","t","fill","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","SSF_isgeneral","days","months","SSF_init_table","table_fmt","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","SSF_default_map","5","6","7","8","23","24","25","26","27","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","w","toFixed","toPrecision","toExponential","SSF_large_exp","SSF_general_num","V","log","LOG10E","substr","toUpperCase","SSF_general","SSF_format","datenum","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","pct1","write_num_pct","sfmt","mul","write_num","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","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","l","lat","m1","m2","dateNF","table","SSF_load","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","32","33","34","35","36","dateNFregex","dateNF_regex","lastIndex","RegExp","dateNF_fix","Y","forEach","n","datestr","timestr","bad_formats","d.m","SSF__load","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","sz1","sz2","usz","csz","fs","get_fs","_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","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","console","error","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","message","_inflateRawSync","_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","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","set_fs","blobify","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","b64","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","dnthresh","UTC","dnthresh1","dnthresh2","epoch","getTime","res","numdate","setTime","parse_isodur","sec","pdre1","pdre2","pdre3","parseDate","cc2str","arr","debomit","TextDecoder","€","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž","‘","’","“","”","•","–","—","˜","™","š","›","œ","ž","Ÿ","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","FDRE1","FDRE2","FDISO","utc_append_works","valueOf","fuzzytime1","fuzzytime2","lower_months","fuzzydate","local_to_utc","lower","lnos","getYear","split_regex","safe_split_regex","re","def","utc_to_local","utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","local","getMilliseconds","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex2","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","raw_unescapexml","xlsx","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","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","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","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","utf8_b","___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","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cpp","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","module","require","decode_row","rowstr","unfix_row","decode_col","colstr","unfix_col","col","split_cell","decode_cell","decode_range","encode_range","cs","ce","fix_range","a1","formula_quote_sheet_name","sname","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","__Rstr","__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","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR_VARIANT","VT_VECTOR_LPSTR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","2147483648","2147483651","1919054434","SummaryPIDSI","CountryEnum","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","#NULL!","#DIV/0!","#VALUE!","#REF!","#NAME?","#NUM!","#N/A","#GETTING_DATA","#WTF?","XLSLblBuiltIn","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","write_ct","type2ct","xmlns:xsd","xmlns:xsi","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","CONN","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","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","wb","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","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","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","write_BIFF2Format","write_BIFF4Format","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_BIFF2XF","write_BIFF2XF","xf","write_BIFF3XF","write_BIFF4XF","parse_BIFF3XF","parse_BIFF4XF","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","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","cmnt","write_NOTE_BIFF2","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","write_BIFF2Cell","ifmt","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2BOOLERR","bestart","parse_BIFF2FONTXTRA","parse_RString","parse_BIFF4SheetInfo","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","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","hi","lo","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","old_cp","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_l","_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","encode_sylk_str","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cellText","shrbase","shift_formula_str","F_seen","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","write_ws_cell_sylk","a1_to_rc","write_ws_cmnt_sylk","write_ws_cols_sylk","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","_formats","RS","_lastfmt","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","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","news","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","LOTUS_DATE_FMTS","next_n","sidx","snames","realnames","sdata","refguess","lastcell","qpw_to_workbook_buf","vers","qpro","works","works2","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","get_wk1_fmt","parse_LABEL","parse_STRING","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","109","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","21506","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","QPWNFTable","formulae","FMTS","book_append_sheet","CC","fmtidx","delta","newcell","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_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","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","_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","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","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","lastmeta","offsets","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","shapevmlregex","parse_vml","cidx","aidx","ObjectType","ws_get_cell_stub","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","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","tcnt","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","_ia","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","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","make_3d_range","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","write_XLSBFormulaNum","oint","write_XLSBFormulaErr","write_XLSBFormulaBool","write_XLSBFormulaStr","postamble","write_XLSBFormulaRef","write_XLSBFormulaRef3D","lastbang","write_XLSBFormulaRefErr3D","write_XLSBFormulaRange","_str","write_XLSBFormulaRangeWS","write_XLSBFormulaArea3D","write_XLSBFormula","write_XLSBNameParsedFormula","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","nodim","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","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","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","_vv","Strings","revStrings","display","cellregex","rowregex","isregex","refregex","match_v","match_f","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","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","parse_BrtCsProp","parse_cs_bin","cs_parse","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","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","write_BrtName","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BRTNAMES","write_SELF_EXTERNS_xlsb","write_EXTERNALS_xlsb","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","XLMLFormatMap","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","sid","StyleID","interiors","Parent","Formula","ArrayRange","xlml_prefix_dname","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","html_to_workbook","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","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","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","last_cell","rngC","rngR","temp_val","country","XFs","palette","biff4w","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_comments_biff2","write_ws_biff2_cell","_BIFF2FmtTable","write_ws_biff2","write_biff2_buf","_Fonts","b8oid","b8ocnts","write_MsoDrawingGroup","acc","write_comments_biff8","notes","baseid","_oasc","ci","oasc","oact","txo","cont","conf","notesh","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","make_html_row","editable","HTML_BEGIN","HTML_END","book_new","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","sheetag","rowtag","ctag","textp","textpidx","textptag","oldtextp","oldtextpidx","textR","oldtextR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","annotag","xlmlidx","styletag","nrange","ptp","parse_ods","Styles","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_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","namei","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","null_cell_xml","write_ws","nfs","ods","ROWS","_Fref","text_p","_tgt","xlink:href","acreator","apayload","aprops","write_automatic_styles_ods","colobj","nfi","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","stru8","u8concat","u8a","popcnt","readDecimal128LE","exp","mantissa","writeDecimal128LE","parse_varint49","ptr","varint","write_varint49","parse_packed_varints","write_packed_varints","nums","varint_to_i32","i32","varint_to_u64","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","clen","u8i","decompress_iwa_file","compress_iwa_file","frame","numbers_lut_new","rsst","ofmt","nfmt","fmla","ferr","numbers_format_cell","_b","_c","ver","dur","dstyle","dmin","dmax","autodur","dstr","zstr","parse_old_storage","lut","dv","getUint32","zidx","ieee","doff","getFloat64","rts","parse_new_storage","d128","eidx","cmntidx","iwa_to_s5s_comment","write_new_storage","setFloat64","irsst","findIndex","setUint32","s5s_to_iwa_comment","write_old_storage","parse_cell_storage","parse_TSP_Reference","pb","write_TSP_Reference","numbers_add_oref","iwa","orefs","orefidx","numbers_del_oref","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","richtext","sfields","smartfields","sf","_a2","_b2","objtype","parse_TSD_CommentStorageArchive","parse_TST_TileRowInfo","_e","_g","_h","_i","_k","_m","wide_offsets","used_storage_u8","used_storage","used_storage_offsets","getUint16","parse_TST_Tile","nrows","reduce","csp","as","asp","replies","pi","reply","s5s","parse_TST_TableModelArchive","dws","store","tile","tl","ref2","mtype2","_tile","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","indices","packets","packet","docroot","iwam","write_TST_TileRowInfo","wide","tri","new_7","new_4","last_offset","cell_storage","_dv","_last_offset","_cell_storage","setUint16","celload","_celload","write_iwam","get_unique_msgid","dep","dependents","build_numbers_deps","deps","mess","write_TSP_Color_RGB","Float32Array","get_author_color","random","write_numbers_iwa","numbers","numbers_iwa_find","sheetrefs","numbers_add_ws","write_numbers_ws","numbers_iwa_doit","ainfo","numbers_add_meta","mlist","newid","newloc","numbers_add_msg","numbers_meta_add_dep","parentidx","mm","parent","dep2","numbers_meta_del_dep","sheetref","newsheetref","remap","arch","doc","tiaref","sheetroot","sa","drawables","tia","tmaref","tiaroot","da","dap","oldtmaref","tma","tmaroot","uuid","new_uuid","srrta","hsoa","hsa","hseadata","hsea","oldref","newref","row_headers","tspref","tiles","tst","oldtileref","newtileref","oldtile","wsname","sheetidx","rootref","write_numbers_tma","USE_WIDE_ROWS","tmafile","trunc","R_","LUT","row_header_ref","rowhead","_x","base_bucket","R2","_bucket","col_header_ref","colhead","rbtree","tilestore","tstride","tileref","save_token","mlst","ntiles","newtileid","tiledata","tilerow","newtile","tilecontent","mergeid","sstref","sstroot","sstdata","rsstref","rsstroot","rsstdata","style_indices","tswpsaid","tswpsarefs","newhlinkid","smartfield","rtpaid","cmntref","cmntroot","cmntdata","aaaid2","csaid2","aaaid","csaid","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","parse_sheet_legacy_drawing","dfile","draw","safe_parse_sheet","relsPath","sheetRels","stype","drelsp","chartp","crelsp","tcomments","strip_front_slash","_zip","index_zip","Bun","readSync","dir","binname","link","propdata","pluck","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsb","foo","vbafmt","_sn","wsrels","_type","need_vml","needtc","rId1","write_zip_xlsx","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","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","datarow","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","RC","wb_sheet_idx","sh","roll","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","wsr","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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CRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,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,IAAOlb,GAAO,MAAOA,GAAIrtB,IAAI,SAAShD,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAIrF,GAAIwrC,IAAWD,IAEd,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,EACA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAED,IAAIvE,IAAS7U,GAAIqZ,GAGjB,IAAIjJ,KACJplC,EAAM,SACNyK,EAAM,UACNrB,GAAM,UACNuB,GAAM,QACNM,GAAM,SACN8M,GAAM,QACN3K,GAAM,OACNC,GAAM,gBACNnM,IAAM,QAGN,IAAIotC,KACHC,SAAiB,EACjBC,UAAiB,EACjBC,UAAiB,GACjBC,QAAiB,GACjBC,SAAiB,GACjBC,QAAiB,GACjBC,OAAiB,GACjBC,gBAAiB,GACjBC,QAAiB,IAGlB,IAAIC,KACH,yBACA,kBACA,mBACA,gBACA,iBACA,iBACA,mBACA,qBACA,iBACA,kBACA,sBACA,wBACA,oBACA,wBAOD,IAAIC,KAEHC,6EAA8E,YAC9EC,uDAAwD,Y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AA2B8V,EAAEo/C,IAC7B0V,OACAC,OACAC,OACA3qE,OACAC,OACAsjG,OACAC,OACAC,OACA74B,OACAC,OACAwrB,KAA2B1gF,EAAEm3C,IAC7BwpC,KAA8B3gF,EAAEs3C,IAChCwpC,KAAyB9gF,EAAE0sC,IAC3Bu0C,OACAC,OACAC,OACAl/B,OACAC,OACAC,KAA4BniD,EAAE6qC,IAC9BuX,OACA53D,OACA8qE,OACAC,OACAC,OACAC,OACA2rB,OACAC,OACAC,OACA7qD,OACAgrD,OACA/qD,OACAgrD,OACA/qD,KAA8B32B,EAAE8sC,IAChC80C,OACAoM,KAAqChuF,EAAE6qC,IACvCpgD,OACAq3F,KAAwB9hF,EAAEu5C,IAC1BwoC,KAAkC/hF,EAAEsyC,IACpC0vC,KAAkChiF,EAAE0sC,IACpCu1C,OACAE,KAAgCniF,EAAEq9C,IAClC+wC,OACAE,OACAC,OACAC,OACAC,OACArM,OACAsM,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA1M,OACAE,OACAC,KAAyBziF,EAAEmzC,IAC3BuvC,KAA8B1iF,EAAEi2C,IAChCtrD,KAA4BqV,EAAEwzC,IAC9BkiB,OACAC,OACAiuB,OACAe,OACAC,OACAG,OACA8K,KAA6B7vF,EAAEgtC,IAC/Bi4C,OACAC,OACAC,OACAO,OACAuK,OACAilB,OACA/kB,OACAC,OACAzK,OACA0K,OACAzK,OACAC,OACAyK,OACA15D,OACAsvD,KAA8BlmF,EAAE6qC,IAChCgmD,KAAyB7wF,EAAE0sC,IAC3BmlD,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA9J,OACAoK,OACAC,OACAC,OACAC,OACAtK,KAA6BvoF,EAAE26C,IAC/B6tC,KAA8BxoF,EAAE6qC,IAChC49C,OACAC,OACAC,OACAG,OACAC,KAAyB/oF,EAAE69C,IAC3BmrC,KAAgChpF,EAAE6qC,IAClCo+C,KAA2BjpF,EAAEk+C,IAC7BgrC,OACAC,KAA8BnpF,EAAEiuC,IAChCm7C,OACAC,KAAkCrpF,EAAE8sC,IACpCw8C,OACAC,OACAE,KAAgCzpF,EAAE0sC,IAClCg9C,KAA8B1pF,EAAEi0C,GAAgB93C,EAAE,GAClDwtF,KAA6B3pF,EAAE0sC,IAC/BiqB,KAAgC32D,EAAE82C,IAClC+f,KAA2B72D,EAAEy/C,IAC7B42D,KAA4Br2G,EAAEu6C,IAC9Buc,KAA2B92D,EAAEq2C,IAC7B0gB,KAA6B/2D,EAAEq6C,IAC/B+xC,KAA4BpsF,EAAE2/C,IAC9B0sC,KAAyBrsF,EAAE2zC,IAC3B64C,OACAC,KAA2BzsF,EAAEy8C,IAC7BowC,KAAsC7sF,EAAEk0C,IACxCskE,OACAK,KAA6B74G,EAAEy1C,IAC/B6mE,KAAwBt8G,EAAEg3C,IAC1B0gB,OACA0nD,QACAM,MAA4B1/G,EAAEw2C,IAC9B8qE,QACAkM,MAA6BxtH,EAAEq8C,IAC/Bqc,MAAkC14D,EAAEs+C,IACpCqa,QACAmuD,QACAC,QACAnuD,QACAouD,QACAC,QACAC,QACAC,QACAC,MAAyBpnH,EAAEmyC,IAC3Bk1E,QACAoG,QACAnG,QACAoG,QACAC,QACAC,QACAC,QACAC,QACAvG,QACA4D,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAkC,QACAC,MAA6B7xH,EAAE,IAC/B8xH,QACAC,QACAC,QACAC,MAA6BpuH,EAAE0sC,IAC/B2hF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2BnvH,EAAE8+C,GAAa3iD,EAAE,IAC5CizH,MAA2BpvH,EAAE0rE,GAAavvE,EAAE,IAC5CkzH,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8B/vH,EAAE6qC,GAAW1uC,EAAE,IAC7C6zH,QACAC,MAAiC9zH,EAAE,IACnC+zH,QACAC,QACAC,QACAC,QACAC,MAA6BtwH,EAAEi8C,GAAe9/C,EAAE,IAChDo0H,QACAC,MAA2BxwH,EAAE8qE,GAAa3uE,EAAE,IAC5Cs0H,QACAC,QACAC,QACAC,MAAiC5wH,EAAE28C,GAAmBxgD,EAAE,IACxD00H,MAAsC7wH,EAAE0sC,IACxCokF,QACAC,QACAC,QACAC,QACAC,MAA0ClxH,EAAE+zC,IAC5Co9E,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,MAA2BjzH,EAAE8sC,IAC7BomF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8B/zH,EAAEs/C,IAChC00E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAAgC10H,EAAE2+C,IAClCg2E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QAEA5rI,GAAgCuW,EAAE82C,IAClCptD,KACAC,GAA8BqW,EAAEqgD,IAChChuD,GAA8B2N,EAAEkgD,IAChC5tD,GAA8B0N,EAAEigD,IAChCjsD,GAAkCgM,EAAEwgD,IACpCtsD,GAA4B8L,EAAEugD,IAC9BpsD,KACA5B,GAAyByN,EAAEmyC,IAC3B1/C,MACAW,IAAiC4M,EAAE8sC,IACnCn4C,IAAiCqL,EAAE22C,IACnC/hD,MACAwM,MACAC,IAA2BrB,EAAEy8C,IAC7Bj7C,MACAnO,IAAsC2M,EAAEk0C,IAKxCr/C,IAAmCmL,EAAE0gD,IAQrClrD,MAcAT,MACAU,IAA6BuK,EAAE25C,IAC/BjkD,IAAkCsK,EAAE8sC,IACpCliD,MACA0rC,MACAurB,OACAq9B,KAA4Bl/E,EAAE4/C,IAC9B6C,OACAx4D,OACAq1F,OAIAI,KAAoC1/E,EAAE4gD,IACtCg/B,OAEAE,OACAC,OACAj+B,OAIAu+B,OACAE,OACAnrB,OACAwrB,OACAC,OACAE,OACA1rB,OACAmsB,KAA6BxhF,EAAE2gD,IAC/BkhC,OACAwM,OACAx3D,OACAqxD,OACAiE,KAA6BnsF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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 d09d7f3..5284ed5 100644 --- a/dist/xlsx.extendscript.js +++ b/dist/xlsx.extendscript.js @@ -157,10 +157,10 @@ 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, DataView:false, Deno:false */ +/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false, Float32Array:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; var current_codepage = 1200, current_ansi = 1252; /*global cptable:true, window */ var $cptable; @@ -290,6 +290,26 @@ function Base64_encode_pass(input) { } return o; } +function Base64_encode_arr(input) { + var o = ""; + var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; + for (var i = 0; i < input.length; ) { + c1 = input[i++]; + e1 = c1 >> 2; + c2 = input[i++]; + e2 = (c1 & 3) << 4 | c2 >> 4; + c3 = input[i++]; + e3 = (c2 & 15) << 2 | c3 >> 6; + e4 = c3 & 63; + if (isNaN(c2)) { + e3 = e4 = 64; + } else if (isNaN(c3)) { + e4 = 64; + } + o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4); + } + return o; +} function Base64_decode(input) { var o = ""; var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; @@ -630,15 +650,6 @@ function SSF_parse_date_code(v,opts,b2) { out.q = dow; return out; } -var SSFbasedate = new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = SSFbasedate.getTime(); -var SSFbase1904 = new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v, date1904) { - var epoch = v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (v.getTimezoneOffset() - SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -696,7 +707,7 @@ function SSF_general(v, opts) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -1378,7 +1389,7 @@ function SSF_format(fmt,v,o) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; @@ -1461,6 +1472,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF) { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str, dateNF, match) { @@ -1473,6 +1485,7 @@ function dateNF_fix(str, dateNF, match) { case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; @@ -3358,7 +3371,7 @@ if(typeof saveAs !== 'undefined') return saveAs(blob, fname); var url = URL.createObjectURL(blob); if(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == "function") { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return chrome.downloads.download({ url: url, filename: fname, saveAs: true}); + return chrome.downloads.download({ url: url, filename: fname, saveAs: true }); } var a = document.createElement("a"); if(a.download != null) { @@ -3367,6 +3380,10 @@ document.body.removeChild(a); if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); return url; } + } else if(typeof URL !== 'undefined' && !URL.createObjectURL && typeof chrome === 'object') { + /* manifest v3 extensions -- no URL.createObjectURL */ + var b64 = "data:application/octet-stream;base64," + Base64_encode_arr(new Uint8Array(blobify(data))); + return chrome.downloads.download({ url: b64, filename: fname, saveAs: true }); } } // $FlowIgnore @@ -3425,22 +3442,19 @@ function evert_arr(obj) { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v, date1904) { var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = new Date(); -var dnthresh = basedate.getTime() + (refdate.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; -var refoffset = refdate.getTimezoneOffset(); function numdate(v) { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -3471,27 +3485,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = isNaN(good_pd_date_1.getFullYear()) ? new Date('2/19/17') : good_pd_date_1; -var good_pd = good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str, fixdate) { - var d = new Date(str); - if(good_pd) { -if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str, date1904) { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr, debomit) { @@ -3522,8 +3531,18 @@ function cc2str(arr, debomit) { return new TextDecoder("latin1").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; }); } catch(e) {} - var o = []; - for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + var o = [], i = 0; + // this cascade is for the browsers and runtimes of antiquity (and for modern runtimes that lack TextEncoder) + try { + for(i = 0; i < arr.length - 65536; i+=65536) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 65536))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { try { + for(; i < arr.length - 16384; i+=16384) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 16384))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { + for(; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + } + } return o.join(""); } @@ -3553,32 +3572,49 @@ function fuzzynum(s) { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s) { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -3591,6 +3627,13 @@ var split_regex = (function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} function getdatastr(data) { if(!data) return null; if(data.content && data.type) return cc2str(data.content, true); @@ -4514,6 +4557,7 @@ function sheet_add_aoa(_ws, data, opts) { else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } @@ -6637,11 +6681,22 @@ function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3 /* [MS-XLS] 2.5.19 */ -function parse_XLSCell(blob) { +function parse_XLSCell(blob, length, opts) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); - var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}); + var ret = ({r:rw, c:col, ixfe:0}); + if(opts && opts.biff == 2 || length == 7) { + /* TODO: pass back flags */ + var flags = blob.read_shift(1); + ret.ixfe = flags & 0x3F; + blob.l += 2; + /* + var ifntifmt = blob.read_shift(1); + var ifmt = ifntifmt & 0x3f, ifnt = ifntifmt >> 6; + var flags3 = blob.read_shift(1); + */ + } else ret.ixfe = blob.read_shift(2); + return ret; } function write_XLSCell(R, C, ixfe, o) { if(!o) o = new_buf(6); @@ -6866,6 +6921,12 @@ function parse_WsBool(blob, length, opts) { /* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { + var name = ""; + if(opts.biff == 4) { + name = parse_ShortXLUnicodeString(blob, 0, opts); + if(name.length === 0) name = "Sheet1"; + return { name:name }; + } var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); @@ -6875,7 +6936,7 @@ function parse_BoundSheet8(blob, length, opts) { case 2: dt = 'Chartsheet'; break; case 6: dt = 'VBAModule'; break; } - var name = parse_ShortXLUnicodeString(blob, 0, opts); + name = parse_ShortXLUnicodeString(blob, 0, opts); if(name.length === 0) name = "Sheet1"; return { pos:pos, hs:hidden, dt:dt, name:name }; } @@ -7046,8 +7107,8 @@ function write_Font(data, opts) { } /* [MS-XLS] 2.4.149 */ -function parse_LabelSst(blob) { - var cell = parse_XLSCell(blob); +function parse_LabelSst(blob, length, opts) { + var cell = parse_XLSCell(blob, length, opts); cell.isst = blob.read_shift(4); return cell; } @@ -7062,8 +7123,7 @@ function write_LabelSst(R, C, v, os ) { function parse_Label(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; var target = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) blob.l++; + var cell = parse_XLSCell(blob, length, opts); var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; @@ -7097,6 +7157,19 @@ function write_Format(i, f, opts, o) { return out; } var parse_BIFF2Format = parse_XLUnicodeString2; +function write_BIFF2Format(f) { + var o = new_buf(1 + f.length); + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} +function write_BIFF4Format(f) { + var o = new_buf(3 + f.length); + o.l += 2; + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} /* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { @@ -7220,6 +7293,44 @@ function write_XF(data, ixfeP, opts, o) { o.write_shift(2, 0); return o; } +function parse_BIFF2XF(blob) { + var o = {}; + o.ifnt = blob.read_shift(1); blob.l++; o.flags = blob.read_shift(1); + o.numFmtId = o.flags & 0x3F; o.flags>>=6; + o.fStyle = 0; + o.data = {}; // TODO + return o; +} +function write_BIFF2XF(xf) { + var o = new_buf(4); + o.l+=2; + o.write_shift(1, xf.numFmtId); + o.l++; + return o; +} +function write_BIFF3XF(xf) { + var o = new_buf(12); + o.l++; + o.write_shift(1, xf.numFmtId); + o.l += 10; + return o; +} +/* TODO: check other fields */ +var write_BIFF4XF = write_BIFF3XF; +function parse_BIFF3XF(blob) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} +function parse_BIFF4XF(blob) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} /* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { @@ -7240,8 +7351,7 @@ function write_Guts(guts) { /* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2 || length == 9) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -7257,7 +7367,7 @@ function write_BoolErr(R, C, v, os, opts, t) { /* [MS-XLS] 2.4.180 Number */ function parse_Number(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var xnum = parse_Xnum(blob, 8); cell.val = xnum; return cell; @@ -7390,21 +7500,34 @@ function parse_MTRSettings(blob) { return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; } -/* [MS-XLS] 2.5.186 TODO: BIFF5 */ +/* [MS-XLS] 2.5.186 */ function parse_NoteSh(blob, length, opts) { - if(opts.biff < 8) return; var row = blob.read_shift(2), col = blob.read_shift(2); var flags = blob.read_shift(2), idObj = blob.read_shift(2); var stAuthor = parse_XLUnicodeString2(blob, 0, opts); - if(opts.biff < 8) blob.read_shift(1); return [{r:row,c:col}, stAuthor, idObj, flags]; } /* [MS-XLS] 2.4.179 */ function parse_Note(blob, length, opts) { + if(opts && (opts.biff < 8)) { + var row = blob.read_shift(2), col = blob.read_shift(2); + if(row == 0xFFFF || row == -1) return; // TODO: test continuation + var cch = blob.read_shift(2); + var cmnt = blob.read_shift(Math.min(cch,2048), 'cpstr'); + return [{r:row, c:col}, cmnt]; + } /* TODO: Support revisions */ return parse_NoteSh(blob, length, opts); } +function write_NOTE_BIFF2(text, R, C, len/*?:number*/) { + var o = new_buf(6 + (len || text.length)); + o.write_shift(2, R); + o.write_shift(2, C); + o.write_shift(2, len || text.length); + o.write_shift(text.length, text, "sbcs"); + return o; +} /* [MS-XLS] 2.4.168 */ function parse_MergeCells(blob, length) { @@ -7654,43 +7777,50 @@ function parse_ImData(blob) { return o; } +function write_BIFF2Cell(out, r, c, ixfe, ifmt) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, ixfe||0/* & 0x3F */); + out.write_shift(1, ifmt||0/* & 0x3F */); + out.write_shift(1, 0); + return out; +} + /* BIFF2_??? where ??? is the name from [XLS] */ function parse_BIFF2STR(blob, length, opts) { if(opts.biffguess && opts.biff == 5) opts.biff = 2; - var cell = parse_XLSCell(blob, 6); - ++blob.l; + var cell = parse_XLSCell(blob, 7, opts); var str = parse_XLUnicodeString2(blob, length-7, opts); cell.t = 'str'; cell.val = str; return cell; } -function parse_BIFF2NUM(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2NUM(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = parse_Xnum(blob, 8); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2NUM(r, c, val) { +function write_BIFF2NUM(r, c, val, ixfe, ifmt) { var out = new_buf(15); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(8, val, 'f'); return out; } -function parse_BIFF2INT(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2INT(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = blob.read_shift(2); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2INT(r, c, val) { +function write_BIFF2INT(r, c, val, ixfe, ifmt) { var out = new_buf(9); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(2, val); return out; } @@ -7701,6 +7831,16 @@ function parse_BIFF2STRING(blob) { return blob.read_shift(cch, 'sbcs-cont'); } +function parse_BIFF2BOOLERR(blob, length, opts) { + var bestart = blob.l + 7; + var cell = parse_XLSCell(blob, 6, opts); + blob.l = bestart; + var val = parse_Bes(blob, 2); + cell.val = val; + cell.t = (val === true || val === false) ? 'b' : 'e'; + return cell; +} + /* TODO: convert to BIFF8 font struct */ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 6; // unknown @@ -7714,7 +7854,7 @@ function parse_BIFF2FONTXTRA(blob, length) { /* TODO: parse rich text runs */ function parse_RString(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var cch = blob.read_shift(2); var str = parse_XLUnicodeStringNoCch(blob, cch, opts); blob.l = end; @@ -7722,7 +7862,13 @@ function parse_RString(blob, length, opts) { cell.val = str; return cell; } -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; + +function parse_BIFF4SheetInfo(blob) { + var flags = blob.read_shift(4); + var cch = blob.read_shift(1), name = blob.read_shift(cch, "sbcs"); + if(name.length === 0) name = "Sheet1"; + return { flags: flags, name:name }; +}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 */ @@ -7902,7 +8048,10 @@ var fields = [], field = ({}); if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -7925,7 +8074,12 @@ var fields = [], field = ({}); // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -8128,6 +8282,8 @@ var SYLK = (function() { var sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == "number" ? _getansi(o) : o; }; var decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); }; sylk_escapes["|"] = 254; + /* TODO: evert the escape map */ + var encode_sylk_str = function($$) { return $$.replace(/\n/g, "\x1b :").replace(/\r/g, "\x1b ="); }; /* https://oss.sheetjs.com/notes/sylk/ for more details */ function sylk_to_aoa(d, opts) { switch(opts.type) { @@ -8180,8 +8336,9 @@ var SYLK = (function() { // case 'NU': // ?? case 'C': /* cell */ var C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1, formula = "", cell_t = "z"; + var cmnt = ""; for(rj=1; rj 1 && (val[2] & 0x0F) < 15) { - val[1].z = o.dateNF || table_fmt[14]; - if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); } + if((val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { + val[1].z = o.dateNF || LOTUS_DATE_FMTS[(val[2] & 0x0F)-1] || table_fmt[14]; + if(o.cellDates) { val[1].v = numdate(val[1].v); val[1].t = typeof val[1].v == "number" ? 'n' : 'd'; } } if(o.qpro) { @@ -8882,15 +9093,25 @@ var WK_ = (function() { tmpcell.t = val[1].t; tmpcell.v = val[1].v; if(val[1].z != null) tmpcell.z = val[1].z; if(val[1].f != null) tmpcell.f = val[1].f; + lastcell = tmpcell; break; } if(o.dense) { if(!sdata[val[0].r]) sdata[val[0].r] = []; sdata[val[0].r][val[0].c] = val[1]; } else s[encode_cell(val[0])] = val[1]; + lastcell = val[1]; break; case 0x5405: o.works2 = true; break; - default: + case 0x5402: { + /* TODO: enumerate all extended number formats */ + if(val == 0x14a1) { + lastcell.z = "hh:mm:ss"; + if(o.cellDates && lastcell.t == "n") { + lastcell.v = numdate(lastcell.v); lastcell.t = typeof lastcell.v == "number" ? 'n' : 'd'; + } + } + } break; }}, o); } else if(d[2] == 0x1A || d[2] == 0x0E) { o.Enum = WK3Enum; @@ -8967,10 +9188,17 @@ var WK_ = (function() { var cell = dense ? (ws["!data"][R]||[])[C] : ws[cols[C] + rr]; if(!cell || cell.t == "z") continue; /* TODO: formula records */ - if(cell.t == "n") { - if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v)); - else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v)); - } else { + switch(cell.t) { + case "n": + if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell)); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell)); + break; + case "d": + var dc = datenum(cell.v); + if((dc|0)==dc && dc >= -32768 && dc <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + break; + default: var str = format_cell(cell); write_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239))); } @@ -9104,11 +9332,18 @@ var WK_ = (function() { return o; } + function get_wk1_fmt(cell) { + /* TODO: some fuzzy matching on the number format */ + if(cell.z && fmt_is_date(cell.z)) { + return 0xf0 | (LOTUS_DATE_FMTS.indexOf(cell.z) + 1 || 2); + } + return 0xFF; + } function parse_LABEL(blob, length, opts) { var tgt = blob.l + length; var o = parse_cell(blob, length, opts); o[1].t = 's'; - if(opts.vers == 0x5120) { + if((opts.vers & 0xFFFE) == 0x5120) { // WQ1 / WQ2 blob.l++; var len = blob.read_shift(1); o[1].v = blob.read_shift(len, 'utf8'); @@ -9150,12 +9385,12 @@ var WK_ = (function() { o[1].v = blob.read_shift(2, 'i'); return o; } - function write_INTEGER(R, C, v) { + function write_INTEGER(R, C, cell) { var o = new_buf(7); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(2, v, 'i'); + o.write_shift(2, cell.v, 'i'); return o; } @@ -9164,12 +9399,12 @@ var WK_ = (function() { o[1].v = blob.read_shift(8, 'f'); return o; } - function write_NUMBER(R, C, v) { + function write_NUMBER(R, C, cell) { var o = new_buf(13); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(8, v, 'f'); + o.write_shift(8, cell.v, 'f'); return o; } @@ -9222,7 +9457,7 @@ var WK_ = (function() { 0x33: ["FALSE", 0], 0x34: ["TRUE", 0], 0x35: ["RAND", 0], - // 0x36 DATE + 0x36: ["DATE", 3], // 0x37 NOW // 0x38 PMT // 0x39 PV @@ -9232,7 +9467,7 @@ var WK_ = (function() { // 0x3D MONTH // 0x3E YEAR 0x3F: ["ROUND", 2], - // 0x40 TIME + 0x40: ["TIME", 3], // 0x41 HOUR // 0x42 MINUTE // 0x43 SECOND @@ -9574,13 +9809,24 @@ var WK_ = (function() { 0x0048: { n:"ACOMM" }, 0x0049: { n:"AMACRO" }, 0x004A: { n:"PARSE" }, + // 0x0064 0x0066: { n:"PRANGES??" }, 0x0067: { n:"RRANGES??" }, 0x0068: { n:"FNAME??" }, 0x0069: { n:"MRANGES??" }, + // 0x0096 + // 0x0099 + // 0x009A + // 0x009B + // 0x009C + // 0x00C0 + // 0x00C7 + // 0x00C9 0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, + // 0x00CD 0x00DE: { n:"SHEETNAMELP", f:parse_SHEETNAMELP }, 0x00FF: { n:"BOF", f:parseuint16 }, +0x5402: { n:"WKSNF", f:parseuint16 }, 0xFFFF: { n:"" } }; @@ -9710,6 +9956,24 @@ var WK_ = (function() { 0xFFFF: { n:"" } }; + /* TODO: fill out and verify this table across QP versions */ + var QPWNFTable = { +0x05: "dd-mmm-yy", +0x06: "dd-mmm", +0x07: "mmm-yy", +0x08: "mm/dd/yy", // Long Date Intl +0x0A: "hh:mm:ss AM/PM", +0x0B: "hh:mm AM/PM", +0x0E: "dd-mmm-yyyy", +0x0F: "mmm-yyyy", + +0x22: "0.00", +0x32: "0.00;[Red]0.00", +0x42: "0.00;\(0.00\)", +0x52: "0.00;[Red]\(0.00\)", + +162: '"$"#,##0;\\("$"#,##0\\)' // slightly different from SSF 5 + }; /* QPW uses a different set of record types */ function qpw_to_workbook_buf(d, opts) { prep_blob(d, 0); @@ -9720,6 +9984,7 @@ var WK_ = (function() { var range = {s:{r:-1,c:-1}, e:{r:-1,c:-1}}; var cnt = 0, type = 0, C = 0, R = 0; var wb = { SheetNames: [], Sheets: {} }; + var FMTS = []; outer: while(d.l < d.length) { var RT = d.read_shift(2), length = d.read_shift(2); var p = d.slice(d.l, d.l + length); @@ -9730,6 +9995,22 @@ var WK_ = (function() { break; case 0x02: /* EOF */ break outer; + case 0x08: /* NF */ break; // TODO: this is tied to custom number formats + + case 0x0A: /* FORMATS */ { + var fcnt = p.read_shift(4); + var step = ((p.length - p.l)/ fcnt)|0; + for(var ifmt = 0; ifmt < fcnt; ++ifmt) { + var end = p.l + step; + var fmt = {}; + p.l += 2; + fmt.numFmtId = p.read_shift(2); + if(QPWNFTable[fmt.numFmtId]) fmt.z = QPWNFTable[fmt.numFmtId]; + p.l = end; + FMTS.push(fmt); + } + } break; + /* TODO: The behavior here should be consistent with Numbers: QP Notebook ~ .TN.SheetArchive, QP Sheet ~ .TST.TableModelArchive */ case 0x0401: /* BON */ break; case 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break; @@ -9792,18 +10073,21 @@ var WK_ = (function() { var CC = encode_col(C); while(p.l < p.length) { var cell = { t: "z" }; - var flags = p.read_shift(1); - if(flags & 0x80) p.l += 2; + var flags = p.read_shift(1), fmtidx = -1; + if(flags & 0x80) fmtidx = p.read_shift(2); var mul = (flags & 0x40) ? p.read_shift(2) - 1: 0; switch(flags & 0x1F) { + case 0: break; case 1: break; case 2: cell = { t: "n", v: p.read_shift(2) }; break; case 3: cell = { t: "n", v: p.read_shift(2, 'i') }; break; + case 4: cell = { t: "n", v: parse_RkNumber(p) }; break; case 5: cell = { t: "n", v: p.read_shift(8, 'f') }; break; case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; case 8: cell = { t: "n", v: p.read_shift(8, 'f') }; p.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4; break; default: throw "Unrecognized QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1 && (FMTS[fmtidx - 1]||{}).z) cell.z = FMTS[fmtidx-1].z; var delta = 0; if(flags & 0x20) switch(flags & 0x1F) { case 2: delta = p.read_shift(2); break; @@ -9812,10 +10096,14 @@ var WK_ = (function() { default: throw "Unsupported delta for QPW cell type " + (flags & 0x1F); } if(!(!o.sheetStubs && cell.t == "z")) { + var newcell = dup(cell); + if(cell.t == "n" && cell.z && fmt_is_date(cell.z) && o.cellDates) { + newcell.v = numdate(cell.v); newcell.t = typeof newcell.v == "number" ? 'n' : 'd'; + } if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; - s["!data"][R][C] = cell; - } else s[CC + encode_row(R)] = cell; + s["!data"][R][C] = newcell; + } else s[CC + encode_row(R)] = newcell; } ++R; --cnt; while(mul-- > 0 && cnt >= 0) { @@ -9830,6 +10118,7 @@ var WK_ = (function() { case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; default: throw "Cannot apply repeat for QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1); if(!(!o.sheetStubs && cell.t == "z")) { if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; @@ -12189,7 +12478,45 @@ function parse_drawing(data, rels) { } /* L.5.5.2 SpreadsheetML Comments + VML Schema */ -function write_vml(rId, comments) { +var shapevmlregex = /<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g; +function parse_vml(data, sheet, comments) { + var cidx = 0; + (data.match(shapevmlregex)||[]).forEach(function(m) { + var type = ""; + var hidden = true; + var aidx = -1; + var R = -1, C = -1; + m.replace(tagregex, function(x, idx) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': hidden = false; break; + + case '': aidx = idx + x.length; break; + case '': R = +m.slice(aidx, idx).trim(); break; + + case '': aidx = idx + x.length; break; + case '': C = +m.slice(aidx, idx).trim(); break; + } + return ""; + }); + switch(type) { + case 'Note': + var cell = ws_get_cell_stub(sheet, ((R>=0 && C>=0) ? encode_cell({r:R,c:C}) : comments[cidx].ref)); + if(cell.c) { + cell.c.hidden = hidden; + } + ++cidx; + break; + } + + }); +} + + +/* comment boxes */ +function write_vml(rId, comments, ws) { var csize = [21600, 21600]; /* L.5.2.1.2 Path Attribute */ var bbox = ["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(","); @@ -12211,7 +12538,7 @@ function write_vml(rId, comments) { return o.join(""); } -function write_vml_comment(x, _shapeid) { +function write_vml_comment(x, _shapeid, ws) { var c = decode_cell(x[0]); var fillopts = {'color2':"#BEFF82", 'type':"gradient"}; if(fillopts.type == "gradient") fillopts.angle = "-180"; @@ -12349,6 +12676,7 @@ function write_comments_xml(data) { o.push(''); }); } else { + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); /* based on Threaded Comments -> Comments projection */ o.push(''); var t = "Comment:\n " + (ts[0]) + "\n"; @@ -12544,6 +12872,10 @@ function write_comments_bin(data) { if(iauthor.indexOf(c.a) > -1) return; iauthor.push(c.a.slice(0,54)); write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a)); + if(c.T && c.ID && iauthor.indexOf("tc=" + c.ID) == -1) { + iauthor.push("tc=" + c.ID); + write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor("tc=" + c.ID)); + } }); }); write_record(ba, 0x0277 /* BrtEndCommentAuthors */); @@ -12551,7 +12883,11 @@ function write_comments_bin(data) { write_record(ba, 0x0279 /* BrtBeginCommentList */); data.forEach(function(comment) { comment[1].forEach(function(c) { - c.iauthor = iauthor.indexOf(c.a); + var _ia = -1; + if(c.ID) _ia = iauthor.indexOf("tc=" + c.ID); + if(_ia == -1 && comment[1][0].T && comment[1][0].ID) _ia = iauthor.indexOf("tc=" + comment[1][0].ID); + if(_ia == -1) _ia = iauthor.indexOf(c.a); + c.iauthor = _ia; var range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])}; write_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c])); if(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c)); @@ -13766,8 +14102,7 @@ function write_FormulaValue(value) { /* [MS-XLS] 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); if(opts.biff != 2) { @@ -13961,7 +14296,7 @@ function write_XLSBFormulaRangeWS(_str, wb) { var sname = _str.slice(0, lastbang); _str = _str.slice(lastbang+1); if(sname.charAt(0) == "'") sname = sname.slice(1, -1).replace(/''/g, "'"); - var parts = _str.split(":"); str = parts[0]; + var parts = _str.split(":"); var out = new_buf(27); out.write_shift(4, 19); @@ -15194,7 +15529,7 @@ function ods_to_csf_3D(r) { } function csf_to_ods_3D(r) { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } var strs = {}; // shared strings @@ -15280,7 +15615,7 @@ function get_cell_style(styles, cell, opts) { return len; } -function safe_format(p, fmtid, fillid, opts, themes, styles) { +function safe_format(p, fmtid, fillid, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -15295,14 +15630,14 @@ function safe_format(p, fmtid, fillid, opts, themes, styles) { else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; @@ -15382,7 +15717,7 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -15402,6 +15737,10 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { var margins = data2.match(marginregex); if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); + /* legacyDrawing */ + var m; + if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; + if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -15418,6 +15757,7 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { } if(columns.length > 0) s["!cols"] = columns; if(merges.length > 0) s["!merges"] = merges; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } @@ -15584,21 +15924,27 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb) { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell, ref, ws, opts) { +function write_ws_xml_cell(cell, ref, ws, opts, idx, wb, date1904) { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { case 'b': vv = cell.v ? "1" : "0"; break; - case 'n': vv = ''+cell.v; break; + case 'n': + if(isNaN(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x24]; } // #NUM! + else if(!isFinite(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x07]; } // #DIV/0! + else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -15641,7 +15987,7 @@ var parse_ws_xml_data = (function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { +return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles, wb) { var ri = 0, x = "", cells = [], cref = [], idx=0, i=0, cc=0, d="", p; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -15652,6 +15998,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { var dense = s["!data"] != null; var rows = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -15719,19 +16066,27 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); if(opts.cellFormula) { - if((cref=d.match(match_f))!= null && cref[1] !== '') { - /* TODO: match against XLSXFutureFunctions */ - p.f=unescapexml(utf8read(cref[1]), true); - if(!opts.xlfn) p.f = _xlfn(p.f); - if(cref[0].indexOf('t="array"') > -1) { - p.F = (d.match(refregex)||[])[1]; - if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); - } else if(cref[0].indexOf('t="shared"') > -1) { - // TODO: parse formula - ftag = parsexmltag(cref[0]); - var ___f = unescapexml(utf8read(cref[1])); - if(!opts.xlfn) ___f = _xlfn(___f); - sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + if((cref=d.match(match_f))!= null ) { + if(cref[1] == "") { + if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r); + } + } else { + /* TODO: match against XLSXFutureFunctions */ + p.f=unescapexml(utf8read(cref[1]), true); + if(!opts.xlfn) p.f = _xlfn(p.f); + if(cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + var ___f = unescapexml(utf8read(cref[1])); + if(!opts.xlfn) ___f = _xlfn(___f); + sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + } } } else if((cref=d.match(/]*\/>/))) { ftag = parsexmltag(cref[0]); @@ -15788,8 +16143,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -15808,8 +16163,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -15834,6 +16189,7 @@ function write_ws_xml_data(ws, opts, idx, wb) { var o = [], r = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}), row, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -15842,7 +16198,7 @@ function write_ws_xml_data(ws, opts, idx, wb) { ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}); @@ -16536,6 +16892,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { XLSBRecordEnum[0x0010] = { n:"BrtShortReal", f:parse_BrtShortReal }; var cm, vm; + var date1904 = 1462 * +!!((wb||{}).WBProps||{}).date1904; recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; @@ -16579,7 +16936,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { case 'str': p.t = 's'; p.v = val[1]; break; case 'is': p.t = 's'; p.v = val[1].t; break; } - if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles); + if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles, date1904>0); C = val[0].c == -1 ? C + 1 : val[0].c; if(opts.dense) { if(!s["!data"][R]) s["!data"][R] = []; s["!data"][R][C] = p; } else s[encode_col(C) + rr] = p; @@ -16600,7 +16957,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(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) { - 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); } + var _d = SSF_parse_date_code(p.v + date1904); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } if(cm) { if(cm.type == 'XLDAPR') p.D = true; @@ -16680,6 +17037,10 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { } break; + case 0x0227: /* 'BrtLegacyDrawing' */ + if(val) s["!legrel"] = val; + break; + case 0x00A1: /* 'BrtBeginAFilter' */ s['!autofilter'] = { ref:encode_range(val) }; break; @@ -16736,7 +17097,6 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { case 0x0499: /* 'BrtFilter14' */ case 0x00A9: /* 'BrtIconFilter' */ case 0x049D: /* 'BrtIconFilter14' */ - case 0x0227: /* 'BrtLegacyDrawing' */ case 0x0228: /* 'BrtLegacyDrawingHF' */ case 0x0295: /* 'BrtListPart' */ case 0x027F: /* 'BrtOleObject' */ @@ -16795,11 +17155,12 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { if(merges.length > 0) s["!merges"] = merges; if(colinfo.length > 0) s["!cols"] = colinfo; if(rowinfo.length > 0) s["!rows"] = rowinfo; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { +function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904) { var o = ({r:R, c:C}); if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]); if(cell.v === undefined) return false; @@ -16809,7 +17170,7 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { case 'd': // no BrtCellDate :( cell = dup(cell); cell.z = cell.z || table_fmt[14]; - cell.v = datenum(parseDate(cell.v)); cell.t = 'n'; + cell.v = datenum(parseDate(cell.v, date1904), date1904); cell.t = 'n'; break; /* falls through */ case 'n': case 'e': vv = ''+cell.v; break; @@ -16836,6 +17197,12 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) { if(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o)); else write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o)); + } else if(isNaN(cell.v)) { + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:"e", v: 0x24}, o)); // #NUM! + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:"e", v: 0x24}, o)); // #NUM! + } else if(!isFinite(cell.v)) { + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:"e", v: 0x07}, o)); // #DIV/0! + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:"e", v: 0x07}, o)); // #DIV/0! } else { if(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o)); else write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o)); @@ -16856,8 +17223,9 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { return true; } -function write_CELLTABLE(ba, ws, idx, opts) { +function write_CELLTABLE(ba, ws, idx, opts, wb) { var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; write_record(ba, 0x0091 /* BrtBeginSheetData */); var dense = ws["!data"] != null; var cap = range.e.r; @@ -16875,7 +17243,7 @@ function write_CELLTABLE(ba, ws, idx, opts) { var cell = dense ? (ws["!data"][R]||[])[C] : ws[ref]; if(!cell) { last_seen = false; continue; } /* write cell */ - last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); + last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904); } } write_record(ba, 0x0092 /* BrtEndSheetData */); @@ -18030,10 +18398,10 @@ if((j=y[1].indexOf(":")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1); /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap; -function xlml_format(format, value) { +function xlml_format(format, value, date1904) { var fmt = XLMLFormatMap[format] || unescapexml(format); if(fmt === "General") return SSF_general(value); - return SSF_format(fmt, value); + return SSF_format(fmt, value, {date1904: !!date1904}); } function xlml_set_custprop(Custprops, key, cp, val) { @@ -18049,7 +18417,7 @@ function xlml_set_custprop(Custprops, key, cp, val) { Custprops[unescapexml(key)] = oval; } -function safe_format_xlml(cell, nf, o) { +function safe_format_xlml(cell, nf, o, date1904) { if(cell.t === 'z') return; if(!o || o.cellText !== false) try { if(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; } @@ -18060,13 +18428,13 @@ function safe_format_xlml(cell, nf, o) { } else cell.w = SSF_general(cell.v); } - else cell.w = xlml_format(nf||"General", cell.v); + else cell.w = xlml_format(nf||"General", cell.v, date1904); } catch(e) { if(o.WTF) throw e; } try { var z = XLMLFormatMap[nf]||nf||"General"; if(o.cellNF) cell.z = z; if(o.cellDates && cell.t == 'n' && fmt_is_date(z)) { - var _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } + var _d = SSF_parse_date_code(cell.v + (date1904 ? 1462 : 0)); if(_d) { cell.t = 'd'; cell.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } catch(e) { if(o.WTF) throw e; } } @@ -18082,7 +18450,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) { +function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o, date1904) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; var i = 0; @@ -18105,9 +18473,8 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o break; case 'DateTime': if(xml.slice(-1) != "Z") xml += "Z"; - cell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); + cell.v = datenum(parseDate(xml, date1904), date1904); if(cell.v !== cell.v) cell.v = unescapexml(xml); - else if(cell.v<60) cell.v = cell.v -1; if(!nf || nf == "General") nf = "yyyy-mm-dd"; /* falls through */ case 'Number': @@ -18120,7 +18487,7 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o else { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); } break; } - safe_format_xlml(cell, nf, o); + safe_format_xlml(cell, nf, o, date1904); if(o.cellFormula !== false) { if(cell.Formula) { var fstr = unescapexml(cell.Formula); @@ -18222,7 +18589,7 @@ function parse_xlml_xml(d, _opts) { break; } if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts, Workbook.WBProps.date1904); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'cell' /*case 'Cell'*/: @@ -18432,6 +18799,7 @@ Workbook.Names.push(_DefinedName); } else { state.push([Rn[3], false]); tmp = xlml_parsexmltag(Rn[0]); + if(!parsexmlbool(tmp["ShowAlways"]||"0")) comments.hidden = true; comment = ({a:tmp.Author}); } break; @@ -18522,6 +18890,9 @@ Workbook.Names.push(_DefinedName); case 'date1904' /*case 'Date1904'*/: Workbook.WBProps.date1904 = true; break; + case 'hidehorizontalscrollbar' /*case 'HideHorizontalScrollBar'*/: break; + case 'hideverticalscrollbar' /*case 'HideVerticalScrollBar'*/: break; + case 'hideworkbooktabs' /*case 'HideWorkbookTabs'*/: break; case 'windowheight' /*case 'WindowHeight'*/: break; case 'windowwidth' /*case 'WindowWidth'*/: break; case 'windowtopx' /*case 'WindowTopX'*/: break; @@ -19087,11 +19458,15 @@ function write_ws_xlml_wsopts(ws, opts, idx, wb) { return writextag("WorksheetOptions", o.join(""), {xmlns:XLMLNS.x}); } function write_ws_xlml_comment(comments) { + /* TODO: test multiple comments */ return comments.map(function(c) { // TODO: formatted text var t = xlml_unfixstr(c.t||""); var d =writextag("ss:Data", t, {"xmlns":"http://www.w3.org/TR/REC-html40"}); - return writextag("Comment", d, {"ss:Author":c.a}); + var p = {}; + if(c.a) p["ss:Author"] = c.a; + if(!comments.hidden) p["ss:ShowAlways"] = "1"; + return writextag("Comment", d, p); }).join(""); } function write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){ @@ -19310,7 +19685,7 @@ function safe_format_xf(p, opts, date1904) { var fmtid = 0; try { fmtid = p.z || p.XF.numFmtId || 0; - if(opts.cellNF) p.z = table_fmt[fmtid]; + if(opts.cellNF && p.z == null) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { if(p.t === 'e') { p.w = p.w || BErr[p.v]; } @@ -19324,7 +19699,7 @@ function safe_format_xf(p, opts, date1904) { else p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF}); } catch(e) { if(opts.WTF) throw e; } if(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) { - 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); } + var _d = SSF_parse_date_code(p.v + (date1904 ? 1462 : 0)); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } @@ -19352,6 +19727,7 @@ function parse_workbook(blob, options) { var XFs = []; /* XF records */ var palette = []; var Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {}; + var biff4w = false; var get_rgb = function getrgb(icv) { if(icv < 8) return XLSIcv[icv]; if(icv < 64) return palette[icv-8] || XLSIcv[icv]; @@ -19367,7 +19743,7 @@ function parse_workbook(blob, options) { if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } }; var addcell = function addcell(cell, line, options) { - if(file_depth > 1) return; + if(!biff4w && file_depth > 1) return; if(options.sheetRows && cell.r >= options.sheetRows) return; if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options); delete line.ixfe; delete line.XF; @@ -19496,6 +19872,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; break; // TODO + case 0x0043: /* BIFF2XF */ case 0x0243: /* BIFF3XF */ case 0x0443: /* BIFF4XF */ case 0x00e0 /* XF */: XFs.push(val); break; case 0x01ae /* SupBook */: @@ -19530,11 +19907,11 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; 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 0x0085 /* BoundSheet8 */: { - Directory[val.pos] = val; + Directory[opts.biff == 4 ? opts.snames.length : val.pos] = val; opts.snames.push(val.name); } break; case 0x000a /* EOF */: { - if(--file_depth) break; + if(--file_depth ? !biff4w : biff4w) break; if(range.e) { if(range.e.r > 0 && range.e.c > 0) { range.e.r--; range.e.c--; @@ -19573,13 +19950,15 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; }[val.BIFFVer] || 8; opts.biffguess = val.BIFFVer == 0; if(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); } + if(opts.biff == 4 && val.dt & 0x100) biff4w = true; if(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2; - if(file_depth++) break; + if(file_depth++ && !biff4w) break; out = ({}); if(options.dense) out["!data"] = []; if(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); } - - if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { + if(opts.biff == 4 && biff4w) { + cur_sheet = (Directory[opts.snames.indexOf(cur_sheet)+1] || {name:""}).name; + } else if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; /* fake BoundSheet8 */ @@ -19600,19 +19979,19 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out["!data"][val.r]||[])[val.c]: out[encode_col(val.c) + encode_row(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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19620,7 +19999,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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'}); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } @@ -19638,7 +20017,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; else temp_val.F = ((options.dense ? (out["!data"][_fr]||[])[_fc]: out[_fe]) || {}).F; } else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -19651,7 +20030,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(options.cellFormula) { temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -19682,13 +20061,13 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19696,7 +20075,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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'}); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:_j, r:val.r}, temp_val, options); } @@ -19705,7 +20084,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19717,7 +20096,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; sst = val; } break; case 0x041e /* Format */: { /* val = [id, fmt] */ - if(opts.biff == 4) { + if(opts.biff >= 3 && opts.biff <= 4) { BIFF2FmtTable[BIFF2Fmt++] = val[1]; for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break; if(b4idx >= 163) SSF__load(val[1], BIFF2Fmt + 163); @@ -19751,9 +20130,8 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; } } break; case 0x001c /* Note */: { - if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ + /* TODO: comment continuation (row == -1 / 0xFFFF) */ cc = options.dense ? (out["!data"][val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; - var noteobj = objects[val[2]]; if(!cc) { if(options.dense) { if(!out["!data"][val[0].r]) out["!data"][val[0].r] = []; @@ -19767,7 +20145,12 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; range.s.c = Math.min(range.s.c, val[0].c); } if(!cc.c) cc.c = []; - cmnt = {a:val[1],t:noteobj.TxO.t}; + if(opts.biff <= 5 && opts.biff >= 2) cmnt = {a:"SheetJ5", t:val[1]}; + else { + var noteobj = objects[val[2]]; + cmnt = {a:val[1],t:noteobj.TxO.t}; + if(val[3] != null && !(val[3] & 0x02)) cc.c.hidden = true; + } cc.c.push(cmnt); } break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; @@ -20439,7 +20822,7 @@ var XLSBRecordEnum = { 0x0224: { /* n:"BrtFileSharing" */ }, 0x0225: { /* n:"BrtOleSize" */ }, 0x0226: { /* n:"BrtDrawing", */ f:parse_RelID }, -0x0227: { /* n:"BrtLegacyDrawing" */ }, +0x0227: { /* n:"BrtLegacyDrawing", */ f:parse_XLNullableWideString }, 0x0228: { /* n:"BrtLegacyDrawingHF" */ }, 0x0229: { /* n:"BrtWebOpt" */ }, 0x022A: { /* n:"BrtBeginWebPubItems", */ T:1 }, @@ -21178,7 +21561,7 @@ var XLSRecordEnum = { 0x0002: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, 0x0003: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, 0x0004: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, -0x0005: { /* n:"BoolErr", */ f:parse_BoolErr }, +0x0005: { /* n:"BIFF2BOOLERR", */ f:parse_BIFF2BOOLERR }, 0x0007: { /* n:"String", */ f:parse_BIFF2STRING }, 0x0008: { /* n:"BIFF2ROW", */ }, 0x0009: { /* n:"BOF", */ f:parse_BOF }, @@ -21190,34 +21573,34 @@ var XLSRecordEnum = { 0x0021: { /* n:"Array", */ f:parse_Array }, 0x0024: { /* n:"COLWIDTH", */ }, 0x0025: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, - // 0x2c ?? - // 0x2d ?? - // 0x2e ?? - // 0x30 FONTCOUNT: number of fonts + // 0x002c ?? + // 0x002d ?? + // 0x002e ?? + // 0x0030 FONTCOUNT: number of fonts 0x0032: { /* n:"BIFF2FONTXTRA", */ f:parse_BIFF2FONTXTRA }, - // 0x35: INFOOPTS - // 0x36: TABLE (BIFF2 only) - // 0x37: TABLE2 (BIFF2 only) - // 0x38: WNDESK - // 0x39 ?? - // 0x3a: BEGINPREF - // 0x3b: ENDPREF + // 0x0035: INFOOPTS + // 0x0036: TABLE (BIFF2 only) + // 0x0037: TABLE2 (BIFF2 only) + // 0x0038: WNDESK + // 0x0039 ?? + // 0x003a: BEGINPREF + // 0x003b: ENDPREF 0x003e: { /* n:"BIFF2WINDOW2", */ }, - // 0x3f ?? - // 0x46: SHOWSCROLL - // 0x47: SHOWFORMULA - // 0x48: STATUSBAR - // 0x49: SHORTMENUS - // 0x4A: - // 0x4B: - // 0x4C: - // 0x4E: - // 0x4F: - // 0x58: TOOLBAR (BIFF3) + // 0x003f ?? + // 0x0046: SHOWSCROLL + // 0x0047: SHOWFORMULA + // 0x0048: STATUSBAR + // 0x0049: SHORTMENUS + // 0x004A: + // 0x004B: + // 0x004C: + // 0x004E: + // 0x004F: + // 0x0058: TOOLBAR (BIFF3) /* - - - */ 0x0034: { /* n:"DDEObjName", */ }, -0x0043: { /* n:"BIFF2XF", */ }, +0x0043: { /* n:"BIFF2XF", */ f:parse_BIFF2XF }, 0x0044: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, 0x0045: { /* n:"BIFF2FONTCLR", */ }, 0x0056: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ @@ -21229,7 +21612,7 @@ var XLSRecordEnum = { // 0x8A // 0x8B LH: alternate menu key flag (BIFF3/4) // 0x8E - // 0x8F +0x008F: { /* n:"BIFF4SheetInfo", */ f:parse_BIFF4SheetInfo }, 0x0091: { /* n:"Sub", */ }, // 0x93 STYLE 0x0094: { /* n:"LHRecord", */ }, @@ -21255,10 +21638,10 @@ var XLSRecordEnum = { 0x0218: { /* n:"Lbl", */ f:parse_Lbl }, 0x0223: { /* n:"ExternName", */ f:parse_ExternName }, 0x0231: { /* n:"Font", */ }, -0x0243: { /* n:"BIFF3XF", */ }, +0x0243: { /* n:"BIFF3XF", */ f:parse_BIFF3XF }, 0x0406: { /* n:"Formula", */ f:parse_Formula }, 0x0409: { /* n:"BOF", */ f:parse_BOF }, -0x0443: { /* n:"BIFF4XF", */ }, +0x0443: { /* n:"BIFF4XF", */ f:parse_BIFF4XF }, 0x086d: { /* n:"FeatInfo", */ }, 0x0873: { /* n:"FeatInfo11", */ }, 0x0881: { /* n:"SXAddl12", */ }, @@ -21322,15 +21705,6 @@ function write_biff_continue(ba, type, payload, length) { } } -function write_BIFF2Cell(out, r, c) { - if(!out) out = new_buf(7); - out.write_shift(2, r); - out.write_shift(2, c); - out.write_shift(2, 0); - out.write_shift(1, 0); - return out; -} - function write_BIFF2BERR(r, c, val, t) { var out = new_buf(9); write_BIFF2Cell(out, r, c); @@ -21347,25 +21721,59 @@ function write_BIFF2LABEL(r, c, val) { return out.l < out.length ? out.slice(0, out.l) : out; } -function write_ws_biff2_cell(ba, cell, R, C) { +function write_comments_biff2(ba, comments) { + comments.forEach(function(data) { + var text = data[0].map(function(cc) { return cc.t; }).join(""); + // TODO: should '\n' be translated to '\r' to correct for Excel 5.0 bug when exporting to BIFF2/3 ? + if(text.length <= 2048) return write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text, data[1], data[2])); + write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(0, 2048), data[1], data[2], text.length)); + for(var i = 2048; i < text.length; i += 2048) + write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(i, Math.min(i+2048, text.length)), -1, -1, Math.min(2048, text.length - i))); + }); +} + +/* TODO: BIFF3/4 use different records -- see comments*/ +function write_ws_biff2_cell(ba, cell, R, C, opts, date1904) { + var ifmt = 0; + if(cell.z != null) { + ifmt = opts._BIFF2FmtTable.indexOf(cell.z); + if(ifmt == -1) { opts._BIFF2FmtTable.push(cell.z); ifmt = opts._BIFF2FmtTable.length - 1; } + } + var ixfe = 0; + if(cell.z != null) { + for(; ixfe < opts.cellXfs.length; ++ixfe) if(opts.cellXfs[ixfe].numFmtId == ifmt) break; + if(ixfe == opts.cellXfs.length) opts.cellXfs.push({numFmtId: ifmt}); + } if(cell.v != null) switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; - if((v == (v|0)) && (v >= 0) && (v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v)); + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; + if(opts.biff == 2 && (v == (v|0)) && (v >= 0) && (v < 65536)) + // 0x027E (RK) in BIFF3/4 + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v, ixfe, ifmt)); + else if(isNaN(v)) + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x24, "e")); // #NUM! + else if(!isFinite(v)) + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x07, "e")); // #DIV/0! else - write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v)); + // 0x0203 in BIFF3/4 + write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v, ixfe, ifmt)); return; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; + case 'b': case 'e': + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': + // 0x0204 in BIFF3/4 write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v == null ? "" : String(cell.v).slice(0,255))); return; } + // 0x0201 in BIFF3/4 write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); } -function write_ws_biff2(ba, ws, idx, opts) { +function write_ws_biff2(ba, ws, idx, opts, wb) { var dense = ws["!data"] != null; var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; if(range.e.c > 0xFF || range.e.r > 0x3FFF) { @@ -21373,7 +21781,9 @@ function write_ws_biff2(ba, ws, idx, opts) { range.e.c = Math.min(range.e.c, 0xFF); range.e.r = Math.min(range.e.c, 0x3FFF); } - var row = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var row = [], comments = []; + /* TODO: 0x0000 / 0x0200 dimensions? */ for(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(var R = range.s.r; R <= range.e.r; ++R) { if(dense) row = ws["!data"][R] || []; @@ -21382,26 +21792,300 @@ function write_ws_biff2(ba, ws, idx, opts) { var cell = dense ? row[C] : ws[cols[C] + rr]; if(!cell) continue; /* write cell */ - write_ws_biff2_cell(ba, cell, R, C, opts); + write_ws_biff2_cell(ba, cell, R, C, opts, date1904); + if(cell.c) comments.push([cell.c, R, C]); } } + + /* ... 0x12 0x19 0x13 (Password) */ + write_comments_biff2(ba, comments); + /* 0x3d (Window1) ... */ } /* Based on test files */ function write_biff2_buf(wb, opts) { var o = opts || {}; + var ba = buf_array(); var idx = 0; for(var i=0;i'; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -21882,6 +22575,7 @@ function sheet_add_dom(ws, table, _opts) { else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}); o.z = opts.dateNF || table_fmt[14]; } @@ -22186,8 +22880,8 @@ function parse_content_xml(d, _opts, _nfm) { var ws = ({}); if(opts.dense) ws["!data"] = []; var Rn, q; var ctag = ({value:""}); - var textp = "", textpidx = 0, textptag; - var textR = []; + var textp = "", textpidx = 0, textptag, oldtextp = "", oldtextpidx = 0; + var textR = [], oldtextR = []; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var row_ol = 0; var number_format_map = _nfm || {}, styles = {}; @@ -22201,7 +22895,6 @@ function parse_content_xml(d, _opts, _nfm) { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -22272,7 +22965,7 @@ function parse_content_xml(d, _opts, _nfm) { C+= colpeat-1; } else if(Rn[1]!=='/') { ++C; - textp = ""; textpidx = 0; textR = []; + textp = oldtextp = ""; textpidx = oldtextpidx = 0; textR = []; oldtextR = []; colpeat = 1; var rptR = rowpeat ? R + rowpeat - 1 : R; if(C > range.e.c) range.e.c = C; @@ -22308,19 +23001,23 @@ function parse_content_xml(d, _opts, _nfm) { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -22381,10 +23078,17 @@ function parse_content_xml(d, _opts, _nfm) { if(textR.length) comment.R = textR; comment.a = creator; comments.push(comment); + textp = oldtextp; textpidx = oldtextpidx; textR = oldtextR; + } + else if(Rn[0].charAt(Rn[0].length-2) !== '/') { + state.push([Rn[3], false]); + var annotag = parsexmltag(Rn[0], true); + /* office:display TODO: check if there is a global override */ + if(!(annotag["display"] && parsexmlbool(annotag["display"]))) comments.hidden = true; + oldtextp = textp; oldtextpidx = textpidx; oldtextR = textR; + textp = ""; textpidx = 0; textR = []; } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);} creator = ""; creatoridx = 0; - textp = ""; textpidx = 0; textR = []; break; case 'creator': // 4.3.2.7 @@ -22510,9 +23214,7 @@ function parse_content_xml(d, _opts, _nfm) { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; @@ -22534,6 +23236,9 @@ function parse_content_xml(d, _opts, _nfm) { if(Rn[1]==='/' && (!ctag || !ctag['string-value'])) { var ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag); textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0]; + } else if(Rn[0].slice(-2) == "/>") { + /* TODO: is self-closing 文本串 valid? */ + textp += "\n"; } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; } break; // case 's': break; // @@ -22818,7 +23523,9 @@ function write_number_format_ods(nf, nfidx) { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -22845,7 +23552,7 @@ function write_number_format_ods(nf, nfidx) { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -22901,10 +23608,15 @@ function write_number_format_ods(nf, nfidx) { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -22923,8 +23635,7 @@ var write_content_ods = /* @__PURE__ */(function() { }; var null_cell_xml = ' \n'; - var covered_cell_xml = ' \n'; - var write_ws = function(ws, wb, i, opts, nfs) { + var write_ws = function(ws, wb, i, opts, nfs, date1904) { /* Section 9 Tables */ var o = []; o.push(' \n'); @@ -22955,7 +23666,7 @@ var write_content_ods = /* @__PURE__ */(function() { ct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1); break; } - if(skip) { o.push(covered_cell_xml); continue; } + if(skip) { o.push(' \n'); continue; } var ref = encode_cell({r:R, c:C}), cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(cell && cell.f) { ct['table:formula'] = escapexml(csf_to_ods_formula(cell.f)); @@ -22984,13 +23695,13 @@ var write_content_ods = /* @__PURE__ */(function() { ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; - //case 'e': - default: o.push(null_cell_xml); continue; + //case 'e': // TODO: translate to ODS errors + default: o.push(null_cell_xml); continue; // TODO: empty cell with comments } var text_p = write_text_p(textp); if(cell.l && cell.l.Target) { @@ -23001,7 +23712,17 @@ var write_content_ods = /* @__PURE__ */(function() { text_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, "&")}); } if(nfs[cell.z]) ct["table:style-name"] = "ce" + nfs[cell.z].slice(1); - o.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\n'); + var payload = writextag('text:p', text_p, {}); + if(cell.c) { + var acreator = "", apayload = "", aprops = {}; + for(var ci = 0; ci < cell.c.length; ++ci) { + if(!acreator && cell.c[ci].a) acreator = cell.c[ci].a; + apayload += "" + write_text_p(cell.c[ci].t) + ""; + } + if(!cell.c.hidden) aprops["office:display"] = true; + payload = writextag('office:annotation', apayload, aprops) + payload; + } + o.push(' ' + writextag('table:table-cell', payload, ct) + '\n'); } o.push(' \n'); } @@ -23146,7 +23867,7 @@ var write_content_ods = /* @__PURE__ */(function() { o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); @@ -23347,19 +24068,18 @@ function write_packed_varints(nums) { } 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 (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 15) << 28; return i32; } function varint_to_u64(buf) { @@ -23652,7 +24372,7 @@ function compress_iwa_file(buf) { return u8concat(out); } var numbers_lut_new = function() { - return { sst: [], rsst: [], ofmt: [], nfmt: [] }; + return { sst: [], rsst: [], ofmt: [], nfmt: [], fmla: [], ferr: [], cmnt: [] }; }; function numbers_format_cell(cell, t, flags, ofmt, nfmt) { var _a, _b, _c, _d; @@ -23768,10 +24488,10 @@ function numbers_format_cell(cell, t, flags, ofmt, nfmt) { cell.w = cell.w.replace(/:(\d\d\d)$/, ".$1"); } } -function parse_old_storage(buf, lut, v) { +function parse_old_storage(buf, lut, v, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); - var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)); var doff = v > 1 ? 12 : 8; if (flags & 2) { zidx = dv.getUint32(doff, true); @@ -23792,7 +24512,7 @@ function parse_old_storage(buf, lut, v) { doff += 8; } if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (v > 1) { @@ -23815,7 +24535,12 @@ function parse_old_storage(buf, lut, v) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -23828,9 +24553,12 @@ function parse_old_storage(buf, lut, v) { break; case 9: { - if (ridx > -1) - ret = { t: "s", v: lut.rsst[ridx] }; - else + if (ridx > -1) { + var rts = lut.rsst[ridx]; + ret = { t: "s", v: rts.v }; + if (rts.l) + ret.l = { Target: rts.l }; + } else throw new Error("Unsupported cell type ".concat(buf[subarray](0, 4))); } break; @@ -23843,12 +24571,12 @@ function parse_old_storage(buf, lut, v) { ret.v /= 86400; return ret; } -function parse_new_storage(buf, lut) { +function parse_new_storage(buf, lut, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; if (fields & 1) { d128 = readDecimal128LE(buf, doff); doff += 16; @@ -23858,7 +24586,7 @@ function parse_new_storage(buf, lut) { doff += 8; } if (fields & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (fields & 8) { @@ -23869,11 +24597,22 @@ function parse_new_storage(buf, lut) { ridx = dv.getUint32(doff, true); doff += 4; } + doff += popcnt(fields & 480) * 4; + if (fields & 512) { + fidx = dv.getUint32(doff, true); + doff += 4; + } + doff += popcnt(fields & 1024) * 4; + if (fields & 2048) { + eidx = dv.getUint32(doff, true); + doff += 4; + } var ret; var t = buf[1]; switch (t) { case 0: - return void 0; + ret = { t: "z" }; + break; case 2: ret = { t: "n", v: d128 }; break; @@ -23881,7 +24620,12 @@ function parse_new_storage(buf, lut) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -23893,7 +24637,15 @@ function parse_new_storage(buf, lut) { ret = { t: "e", v: 0 }; break; case 9: - ret = { t: "s", v: lut.rsst[ridx] }; + { + if (ridx > -1) { + var rts = lut.rsst[ridx]; + ret = { t: "s", v: rts.v }; + if (rts.l) + ret.l = { Target: rts.l }; + } else + throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(fields & 31, " : ").concat(buf[subarray](0, 4))); + } break; case 10: ret = { t: "n", v: d128 }; @@ -23901,92 +24653,187 @@ function parse_new_storage(buf, lut) { default: throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(fields & 31, " : ").concat(buf[subarray](0, 4))); } - doff += popcnt(fields & 8160) * 4; + doff += popcnt(fields & 4096) * 4; if (fields & 516096) { if (zidx == -1) zidx = dv.getUint32(doff, true); doff += 4; } + if (fields & 524288) { + var cmntidx = dv.getUint32(doff, true); + doff += 4; + if (lut.cmnt[cmntidx]) + ret.c = iwa_to_s5s_comment(lut.cmnt[cmntidx]); + } if (zidx > -1) numbers_format_cell(ret, t | 5 << 8, fields >> 13, lut.ofmt[zidx], lut.nfmt[zidx]); if (t == 7) ret.v /= 86400; return ret; } -function write_new_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; +function write_new_storage(cell, lut) { + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; out[0] = 5; switch (cell.t) { case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - flags |= 1; - l += 16; + if (cell.z && fmt_is_date(cell.z)) { + out[1] = 5; + dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + } else { + out[1] = 2; + writeDecimal128LE(out, l, cell.v); + fields |= 1; + l += 16; + } break; case "b": out[1] = 6; dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 2; + fields |= 2; l += 8; break; case "s": - var s = cell.v == null ? "" : String(cell.v); - var isst = sst.indexOf(s); - if (isst == -1) - sst[isst = sst.length] = s; - out[1] = 3; - dv.setUint32(l, isst, true); - flags |= 8; - l += 4; + { + var s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + var irsst = lut.rsst.findIndex(function(v) { + var _a; + return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target); + }); + if (irsst == -1) + lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; + out[1] = 9; + dv.setUint32(l, irsst, true); + fields |= 16; + l += 4; + } else { + var isst = lut.sst.indexOf(s); + if (isst == -1) + lut.sst[isst = lut.sst.length] = s; + out[1] = 3; + dv.setUint32(l, isst, true); + fields |= 8; + l += 4; + } + } + break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + case "z": + out[1] = 0; break; default: throw "unsupported cell type " + cell.t; } - dv.setUint32(8, flags, true); + if (cell.c) { + lut.cmnt.push(s5s_to_iwa_comment(cell.c)); + dv.setUint32(l, lut.cmnt.length - 1, true); + fields |= 524288; + l += 4; + } + dv.setUint32(8, fields, true); return out[subarray](0, l); } -function write_old_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; +function write_old_storage(cell, lut) { + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; switch (cell.t) { case "n": - out[2] = 2; - dv.setFloat64(l, cell.v, true); - flags |= 32; - l += 8; break; case "b": - out[2] = 6; - dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 32; - l += 8; break; case "s": - var s = cell.v == null ? "" : String(cell.v); - var isst = sst.indexOf(s); - if (isst == -1) - sst[isst = sst.length] = s; - out[2] = 3; - dv.setUint32(l, isst, true); - flags |= 16; - l += 4; + { + s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + var irsst = lut.rsst.findIndex(function(v) { + var _a; + return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target); + }); + if (irsst == -1) + lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; + out[1] = 9; + dv.setUint32(l, irsst, true); + fields |= 512; + l += 4; + } else { + } + } + break; + case "d": + break; + case "e": + break; + case "z": break; default: throw "unsupported cell type " + cell.t; } - dv.setUint32(8, flags, true); + if (cell.c) { + dv.setUint32(l, lut.cmnt.length - 1, true); + fields |= 4096; + l += 4; + } + switch (cell.t) { + case "n": + out[1] = 2; + dv.setFloat64(l, cell.v, true); + fields |= 32; + l += 8; + break; + case "b": + out[1] = 6; + dv.setFloat64(l, cell.v ? 1 : 0, true); + fields |= 32; + l += 8; + break; + case "s": + { + s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + } else { + var isst = lut.sst.indexOf(s); + if (isst == -1) + lut.sst[isst = lut.sst.length] = s; + out[1] = 3; + dv.setUint32(l, isst, true); + fields |= 16; + l += 4; + } + } + break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 64; + l += 8; + break; + case "z": + out[1] = 0; + break; + default: + throw "unsupported cell type " + cell.t; + } + dv.setUint32(8, fields, true); return out[subarray](0, l); } -function parse_cell_storage(buf, lut) { +function parse_cell_storage(buf, lut, opts) { switch (buf[0]) { case 0: case 1: case 2: case 3: case 4: - return parse_old_storage(buf, lut, buf[0]); + return parse_old_storage(buf, lut, buf[0], opts); case 5: - return parse_new_storage(buf, lut); + return parse_new_storage(buf, lut, opts); default: throw new Error("Unsupported payload version ".concat(buf[0])); } @@ -24023,6 +24870,7 @@ function parse_TST_TableDataList(M, root) { var entries = pb[3]; var data = []; (entries || []).forEach(function(entry) { + var _a, _b; var le = parse_shallow(entry.data); if (!le[1]) return; @@ -24040,14 +24888,49 @@ function parse_TST_TableDataList(M, root) { 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) { + var richtext = { v: tswpsa[3].map(function(x) { return u8str(x.data); - }).join(""); + }).join("") }; + data[key] = richtext; + sfields: + if ((_a = tswpsa == null ? void 0 : tswpsa[11]) == null ? void 0 : _a[0]) { + var smartfields = (_b = parse_shallow(tswpsa[11][0].data)) == null ? void 0 : _b[1]; + if (!smartfields) + break sfields; + smartfields.forEach(function(sf) { + var _a2, _b2, _c; + var attr = parse_shallow(sf.data); + if ((_a2 = attr[2]) == null ? void 0 : _a2[0]) { + var obj = M[parse_TSP_Reference((_b2 = attr[2]) == null ? void 0 : _b2[0].data)][0]; + var objtype = varint_to_i32(obj.meta[1][0].data); + switch (objtype) { + case 2032: + var hlink = parse_shallow(obj.data); + if (((_c = hlink == null ? void 0 : hlink[2]) == null ? void 0 : _c[0]) && !richtext.l) + richtext.l = u8str(hlink[2][0].data); + break; + case 2039: + break; + default: + console.log("unrecognized ObjectAttribute type ".concat(objtype)); + } + } + }); + } } break; case 2: data[key] = parse_shallow(le[6][0].data); break; + case 3: + data[key] = parse_shallow(le[5][0].data); + break; + case 10: + { + var cs = M[parse_TSP_Reference(le[10][0].data)][0]; + data[key] = parse_TSD_CommentStorageArchive(M, cs.data); + } + break; default: throw type; } @@ -24113,8 +24996,50 @@ function parse_TST_Tile(M, root) { }, []) }; } -function parse_TST_TableModelArchive(M, root, ws) { - var _a, _b, _c, _d, _e, _f; +function parse_TSD_CommentStorageArchive(M, data) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var out = { t: "", a: "" }; + var csp = parse_shallow(data); + if ((_b = (_a = csp == null ? void 0 : csp[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) + out.t = u8str((_d = (_c = csp == null ? void 0 : csp[1]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) || ""; + if ((_f = (_e = csp == null ? void 0 : csp[3]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data) { + var as = M[parse_TSP_Reference((_h = (_g = csp == null ? void 0 : csp[3]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data)][0]; + var asp = parse_shallow(as.data); + if ((_j = (_i = asp[1]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) + out.a = u8str(asp[1][0].data); + } + if (csp == null ? void 0 : csp[4]) { + out.replies = []; + csp[4].forEach(function(pi) { + var cs = M[parse_TSP_Reference(pi.data)][0]; + out.replies.push(parse_TSD_CommentStorageArchive(M, cs.data)); + }); + } + return out; +} +function iwa_to_s5s_comment(iwa) { + var out = []; + out.push({ t: iwa.t || "", a: iwa.a, T: iwa.replies && iwa.replies.length > 0 }); + if (iwa.replies) + iwa.replies.forEach(function(reply) { + out.push({ t: reply.t || "", a: reply.a, T: true }); + }); + return out; +} +function s5s_to_iwa_comment(s5s) { + var out = { a: "", t: "", replies: [] }; + for (var i = 0; i < s5s.length; ++i) { + if (i == 0) { + out.a = s5s[i].a; + out.t = s5s[i].t; + } else { + out.replies.push({ a: s5s[i].a, t: s5s[i].t }); + } + } + return out; +} +function parse_TST_TableModelArchive(M, root, ws, opts) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i; 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; @@ -24129,11 +25054,17 @@ function parse_TST_TableModelArchive(M, root, ws) { var lut = numbers_lut_new(); if ((_a = store[4]) == null ? void 0 : _a[0]) lut.sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); - if ((_b = store[11]) == null ? void 0 : _b[0]) + if ((_b = store[6]) == null ? void 0 : _b[0]) + lut.fmla = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[6][0].data)][0]); + if ((_c = store[11]) == null ? void 0 : _c[0]) lut.ofmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[11][0].data)][0]); - if ((_c = store[17]) == null ? void 0 : _c[0]) + if ((_d = store[12]) == null ? void 0 : _d[0]) + lut.ferr = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[12][0].data)][0]); + if ((_e = store[17]) == null ? void 0 : _e[0]) lut.rsst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]); - if ((_d = store[22]) == null ? void 0 : _d[0]) + if ((_f = store[19]) == null ? void 0 : _f[0]) + lut.cmnt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[19][0].data)][0]); + if ((_g = store[22]) == null ? void 0 : _g[0]) lut.nfmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[22][0].data)][0]); var tile = parse_shallow(store[3][0].data); var _R = 0; @@ -24146,7 +25077,7 @@ function parse_TST_TableModelArchive(M, root, ws) { var _tile = parse_TST_Tile(M, ref2); _tile.data.forEach(function(row, R) { row.forEach(function(buf, C) { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if (res) { if (dense) { if (!dws["!data"][_R + R]) @@ -24160,12 +25091,12 @@ function parse_TST_TableModelArchive(M, root, ws) { }); _R += _tile.nrows; }); - if ((_e = store[13]) == null ? void 0 : _e[0]) { + if ((_h = store[13]) == null ? void 0 : _h[0]) { var ref = M[parse_TSP_Reference(store[13][0].data)][0]; var mtype = varint_to_i32(ref.meta[1][0].data); if (mtype != 6144) throw new Error("Expected merge type 6144, found ".concat(mtype)); - ws["!merges"] = (_f = parse_shallow(ref.data)) == null ? void 0 : _f[1].map(function(pi) { + ws["!merges"] = (_i = parse_shallow(ref.data)) == null ? void 0 : _i[1].map(function(pi) { var merge = parse_shallow(pi.data); var origin = u8_to_dataview(parse_shallow(merge[1][0].data)[1][0].data), size = u8_to_dataview(parse_shallow(merge[2][0].data)[1][0].data); return { @@ -24187,7 +25118,7 @@ function parse_TST_TableInfoArchive(M, root, opts) { 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); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } function parse_TN_SheetArchive(M, root, opts) { @@ -24210,6 +25141,7 @@ function parse_TN_SheetArchive(M, root, opts) { function parse_TN_DocumentArchive(M, root, opts) { var _a; var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if ((_a = pb[2]) == null ? void 0 : _a[0]) throw new Error("Keynote presentations are not supported"); @@ -24280,8 +25212,8 @@ function parse_numbers_iwa(cfb, opts) { throw new Error("Cannot find Document root"); return parse_TN_DocumentArchive(M, docroot, opts); } -function write_TST_TileRowInfo(data, SST, wide) { - var _a, _b; +function write_TST_TileRowInfo(data, lut, wide) { + var _a, _b, _c; var tri = [ [], [{ type: 0, data: write_varint49(0) }], @@ -24314,7 +25246,7 @@ function write_TST_TileRowInfo(data, SST, wide) { var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = []; var width = wide ? 4 : 1; for (var C = 0; C < data.length; ++C) { - if (data[C] == null) { + if (data[C] == null || data[C].t == "z" && !((_c = data[C].c) == null ? void 0 : _c.length) || data[C].t == "e") { dv.setUint16(C * 2, 65535, true); _dv.setUint16(C * 2, 65535); continue; @@ -24322,25 +25254,24 @@ function write_TST_TileRowInfo(data, SST, wide) { dv.setUint16(C * 2, last_offset / width, true); _dv.setUint16(C * 2, _last_offset / width, true); var celload, _celload; - switch (typeof data[C]) { - case "string": - celload = write_new_storage({ t: "s", v: data[C] }, SST); - _celload = write_old_storage({ t: "s", v: data[C] }, SST); - break; - case "number": - celload = write_new_storage({ t: "n", v: data[C] }, SST); - _celload = write_old_storage({ t: "n", v: data[C] }, SST); - break; - case "boolean": - celload = write_new_storage({ t: "b", v: data[C] }, SST); - _celload = write_old_storage({ t: "b", v: data[C] }, SST); - break; - default: - if (data[C] instanceof Date) { - celload = write_new_storage({ t: "s", v: data[C].toISOString() }, SST); - _celload = write_old_storage({ t: "s", v: data[C].toISOString() }, SST); + switch (data[C].t) { + case "d": + if (data[C].v instanceof Date) { + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); break; } + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); + break; + case "s": + case "n": + case "b": + case "z": + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); + break; + default: throw new Error("Unsupported value " + data[C]); } cell_storage.push(celload); @@ -24418,6 +25349,34 @@ function build_numbers_deps(cfb) { }); return dependents; } +function write_TSP_Color_RGB(r, g, b) { + return write_shallow([ + [], + [{ type: 0, data: write_varint49(1) }], + [], + [{ type: 5, data: new Uint8Array(Float32Array.from([r / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([g / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([b / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([1]).buffer) }], + [], + [], + [], + [], + [], + [{ type: 0, data: write_varint49(1) }] + ]); +} +function get_author_color(n) { + switch (n) { + case 0: + return write_TSP_Color_RGB(99, 222, 171); + case 1: + return write_TSP_Color_RGB(162, 197, 240); + case 2: + return write_TSP_Color_RGB(255, 189, 189); + } + return write_TSP_Color_RGB(Math.random() * 255, Math.random() * 255, Math.random() * 255); +} function write_numbers_iwa(wb, opts) { if (!opts || !opts.numbers) throw new Error("Must pass a `numbers` option -- check the README"); @@ -24461,6 +25420,85 @@ function numbers_iwa_find(cfb, deps, id) { }); return ainfo; } +function numbers_add_meta(mlist, newid, newloc) { + mlist[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(newid) }], + [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], + [{ type: 2, data: stru8(newloc) }], + [{ type: 2, data: new Uint8Array([2, 0, 0]) }], + [{ type: 2, data: new Uint8Array([2, 0, 0]) }], + [], + [], + [], + [], + [{ type: 0, data: write_varint49(0) }], + [], + [{ type: 0, data: write_varint49(0) }] + ]) }); + mlist[1] = [{ type: 0, data: write_varint49(Math.max(newid + 1, varint_to_i32(mlist[1][0].data))) }]; +} +function numbers_add_msg(cfb, type, msg, path, deps, id) { + if (!id) + id = get_unique_msgid({ deps: [], location: "", type: type }, deps); + var loc = "".concat(path, "-").concat(id, ".iwa"); + deps[id].location = "Root Entry" + loc; + CFB.utils.cfb_add(cfb, loc, compress_iwa_file(write_iwa_file([{ + id: id, + messages: [write_iwam(type, write_shallow(msg))] + }]))); + var newloc = loc.replace(/^[\/]/, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_add_meta(mlist, id || 0, newloc); + ai.messages[0].data = write_shallow(mlist); + }); + return id; +} +function numbers_meta_add_dep(mlist, deps, id, dep) { + var loc = deps[id].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + var parentidx = mlist[3].findIndex(function(m) { + var _a, _b; + var mm = parse_shallow(m.data); + if ((_a = mm[3]) == null ? void 0 : _a[0]) + return u8str(mm[3][0].data) == loc; + if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) + return true; + return false; + }); + var parent = parse_shallow(mlist[3][parentidx].data); + if (!parent[6]) + parent[6] = []; + (Array.isArray(dep) ? dep : [dep]).forEach(function(dep2) { + parent[6].push({ + type: 2, + data: write_shallow([ + [], + [{ type: 0, data: write_varint49(dep2) }] + ]) + }); + }); + mlist[3][parentidx].data = write_shallow(parent); +} +function numbers_meta_del_dep(mlist, deps, id, dep) { + var loc = deps[id].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + var parentidx = mlist[3].findIndex(function(m) { + var _a, _b; + var mm = parse_shallow(m.data); + if ((_a = mm[3]) == null ? void 0 : _a[0]) + return u8str(mm[3][0].data) == loc; + if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) + return true; + return false; + }); + var parent = parse_shallow(mlist[3][parentidx].data); + if (!parent[6]) + parent[6] = []; + parent[6] = parent[6].filter(function(m) { + return varint_to_i32(parse_shallow(m.data)[1][0].data) != dep; + }); + mlist[3][parentidx].data = write_shallow(parent); +} function numbers_add_ws(cfb, deps, wsidx) { var sheetref = -1, newsheetref = -1; var remap = {}; @@ -24499,31 +25537,9 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[drawables[0]].location == deps[newsheetref].location) arch.push(tia); else { - var loc2 = deps[newsheetref].location; - loc2 = loc2.replace(/^Root Entry\//, ""); - loc2 = loc2.replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc2; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc2) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(tiaref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, newsheetref, tiaref); ai.messages[0].data = write_shallow(mlist); }); numbers_iwa_doit(cfb, deps, tiaref, function(_, x) { @@ -24557,13 +25573,10 @@ function numbers_add_ws(cfb, deps, wsidx) { }); tiaroot.messages[0].data = write_shallow(tia); }); - var loc = deps[tmaref].location; - loc = loc.replace(/^Root Entry\//, ""); - loc = loc.replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, tmaref, function(tmaroot, arch) { var _a, _b; var tma = parse_shallow(tmaroot.messages[0].data); - var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, "-".concat(wsidx.toString(16).padStart(4, "0"))); + var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, "-".concat(("0000" + wsidx.toString(16)).slice(-4))); tma[1][0].data = stru8(new_uuid); [12, 13, 29, 31, 32, 33, 39, 44, 47, 81, 82, 84].forEach(function(n) { return delete tma[n]; @@ -24641,47 +25654,11 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[newref].location == deps[oldref].location) deps[newref].location = deps[newref].location.replace(/\.iwa/, "-".concat(newref, ".iwa")); CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg]))); - var newloc = deps[newref].location; - newloc = newloc.replace(/^Root Entry\//, ""); - newloc = newloc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var newloc = deps[newref].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - mlist[3].push({ type: 2, data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }], - [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], - [{ type: 2, data: stru8(newloc) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [], - [], - [], - [], - [{ type: 0, data: write_varint49(0) }], - [], - [{ type: 0, data: write_varint49(0) }] - ]) }); - mlist[1] = [{ type: 0, data: write_varint49(Math.max(newref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a3, _b2; - var mm = parse_shallow(m.data); - if ((_a3 = mm[3]) == null ? void 0 : _a3[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_add_meta(mlist, newref, newloc); + numbers_meta_add_dep(mlist, deps, tmaref, newref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24704,47 +25681,11 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[newref].location == deps[oldref].location) deps[newref].location = deps[newref].location.replace(/\.iwa/, "-".concat(newref, ".iwa")); CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg]))); - var newloc = deps[newref].location; - newloc = newloc.replace(/^Root Entry\//, ""); - newloc = newloc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var newloc = deps[newref].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - mlist[3].push({ type: 2, data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }], - [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], - [{ type: 2, data: stru8(newloc) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [], - [], - [], - [], - [{ type: 0, data: write_varint49(0) }], - [], - [{ type: 0, data: write_varint49(0) }] - ]) }); - mlist[1] = [{ type: 0, data: write_varint49(Math.max(newref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a2, _b2; - var mm = parse_shallow(m.data); - if ((_a2 = mm[3]) == null ? void 0 : _a2[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_add_meta(mlist, newref, newloc); + numbers_meta_add_dep(mlist, deps, tmaref, newref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24785,26 +25726,7 @@ function numbers_add_ws(cfb, deps, wsidx) { [{ type: 0, data: write_varint49(0) }] ]) }); mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a2, _b2; - var mm = parse_shallow(m.data); - if ((_a2 = mm[3]) == null ? void 0 : _a2[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newtileref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, newtileref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24849,11 +25771,33 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { } if (trunc) console.error("Truncating to ".concat(encode_range(range))); - var data = sheet_to_json(ws, { range: range, header: 1 }); - var SST = ["~Sh33tJ5~"]; - var loc = deps[tmaref].location; - loc = loc.replace(/^Root Entry\//, ""); - loc = loc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var data = []; + if (ws["!data"]) + data = ws["!data"]; + else { + var colstr = []; + for (var _C = 0; _C <= range.e.c; ++_C) + colstr[_C] = encode_col(_C); + for (var R_ = 0; R_ <= range.e.r; ++R_) { + data[R_] = []; + var _R = "" + (R_ + 1); + for (_C = 0; _C <= range.e.c; ++_C) { + var _cell = ws[colstr[_C] + _R]; + if (!_cell) + continue; + data[R_][_C] = _cell; + } + } + } + var LUT = { + cmnt: [{ a: "~54ee77S~", t: "... the people who are crazy enough to think they can change the world, are the ones who do." }], + ferr: [], + fmla: [], + nfmt: [], + ofmt: [], + rsst: [{ v: "~54ee77S~", l: "https://sheetjs.com/" }], + sst: ["~Sh33tJ5~"] + }; var pb = parse_shallow(tmaroot.messages[0].data); { pb[6][0].data = write_varint49(range.e.r + 1); @@ -24907,22 +25851,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { mlist[3] = mlist[3].filter(function(m) { return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref; }); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6] = parent[6].filter(function(m) { - return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref; - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_del_dep(mlist, deps, tmaref, tileref); ai.messages[0].data = write_shallow(mlist); }); numbers_del_oref(tmaroot, tileref); @@ -24948,7 +25877,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { [{ type: 0, data: write_varint49(USE_WIDE_ROWS ? 1 : 0) }] ]; for (var R = tidx * tstride; R <= Math.min(range.e.r, (tidx + 1) * tstride - 1); ++R) { - var tilerow = write_TST_TileRowInfo(data[R], SST, USE_WIDE_ROWS); + var tilerow = write_TST_TileRowInfo(data[R], LUT, USE_WIDE_ROWS); tilerow[1][0].data = write_varint49(R - tidx * tstride); tiledata[5].push({ data: write_shallow(tilerow), type: 2 }); } @@ -24981,26 +25910,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { [{ type: 0, data: write_varint49(save_token) }] ]) }); mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileid + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newtileid) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, newtileid); ai.messages[0].data = write_shallow(mlist); }); numbers_add_oref(tmaroot, newtileid); @@ -25042,26 +25952,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { store[13] = [{ type: 2, data: write_TSP_Reference(mergeid) }]; numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(mergeid) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, mergeid); ai.messages[0].data = write_shallow(mlist); }); numbers_add_oref(tmaroot, mergeid); @@ -25072,7 +25963,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { var sstdata = parse_shallow(sstroot.messages[0].data); { sstdata[3] = []; - SST.forEach(function(str, i) { + LUT.sst.forEach(function(str, i) { if (i == 0) return; sstdata[3].push({ type: 2, data: write_shallow([ @@ -25085,6 +25976,197 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { } sstroot.messages[0].data = write_shallow(sstdata); }); + var rsstref = parse_TSP_Reference(store[17][0].data); + numbers_iwa_doit(cfb, deps, rsstref, function(rsstroot) { + var rsstdata = parse_shallow(rsstroot.messages[0].data); + rsstdata[3] = []; + var style_indices = [ + 904980, + 903835, + 903815, + 903845 + ]; + LUT.rsst.forEach(function(rsst, i) { + if (i == 0) + return; + var tswpsa = [ + [], + [{ type: 0, data: new Uint8Array([5]) }], + [], + [{ type: 2, data: stru8(rsst.v) }] + ]; + tswpsa[10] = [{ type: 0, data: new Uint8Array([1]) }]; + tswpsa[19] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 18, 2, 101, 110]) }]; + tswpsa[5] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 155, 149, 55]) }]; + tswpsa[2] = [{ type: 2, data: new Uint8Array([8, 148, 158, 55]) }]; + tswpsa[6] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + tswpsa[7] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 135, 149, 55]) }]; + tswpsa[8] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 165, 149, 55]) }]; + tswpsa[14] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + tswpsa[24] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + var tswpsaid = get_unique_msgid({ deps: [], location: "", type: 2001 }, deps); + var tswpsarefs = []; + if (rsst.l) { + var newhlinkid = numbers_add_msg(cfb, 2032, [ + [], + [], + [{ type: 2, data: stru8(rsst.l) }] + ], "/Index/Tables/DataList", deps); + tswpsa[11] = []; + var smartfield = [[], []]; + if (!smartfield[1]) + smartfield[1] = []; + smartfield[1].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(0) }], + [{ type: 2, data: write_TSP_Reference(newhlinkid) }] + ]) }); + tswpsa[11][0] = { type: 2, data: write_shallow(smartfield) }; + tswpsarefs.push(newhlinkid); + } + numbers_add_msg(cfb, 2001, tswpsa, "/Index/Tables/DataList", deps, tswpsaid); + numbers_iwa_doit(cfb, deps, tswpsaid, function(iwa) { + style_indices.forEach(function(ref) { + return numbers_add_oref(iwa, ref); + }); + tswpsarefs.forEach(function(ref) { + return numbers_add_oref(iwa, ref); + }); + }); + var rtpaid = numbers_add_msg(cfb, 6218, [ + [], + [{ type: 2, data: write_TSP_Reference(tswpsaid) }], + [], + [{ type: 2, data: new Uint8Array([13, 255, 255, 255, 0, 18, 10, 16, 255, 255, 1, 24, 255, 255, 255, 255, 7]) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, rtpaid, function(iwa) { + return numbers_add_oref(iwa, tswpsaid); + }); + rsstdata[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(1) }], + [], + [], + [], + [], + [], + [], + [{ type: 2, data: write_TSP_Reference(rtpaid) }] + ]) }); + numbers_add_oref(rsstroot, rtpaid); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, rsstref, rtpaid); + numbers_meta_add_dep(mlist, deps, rtpaid, tswpsaid); + numbers_meta_add_dep(mlist, deps, tswpsaid, tswpsarefs); + numbers_meta_add_dep(mlist, deps, tswpsaid, style_indices); + ai.messages[0].data = write_shallow(mlist); + }); + }); + rsstroot.messages[0].data = write_shallow(rsstdata); + }); + if (LUT.cmnt.length > 1) { + var cmntref = parse_TSP_Reference(store[19][0].data); + var authors = {}, iauthor = 0; + numbers_iwa_doit(cfb, deps, cmntref, function(cmntroot) { + var cmntdata = parse_shallow(cmntroot.messages[0].data); + { + cmntdata[3] = []; + LUT.cmnt.forEach(function(cc, i) { + if (i == 0) + return; + var replies = []; + if (cc.replies) + cc.replies.forEach(function(c) { + if (!authors[c.a || ""]) + authors[c.a || ""] = numbers_add_msg(cfb, 212, [ + [], + [{ type: 2, data: stru8(c.a || "") }], + [{ type: 2, data: get_author_color(++iauthor) }], + [], + [{ type: 0, data: write_varint49(0) }] + ], "/Index/Tables/DataList", deps); + var aaaid2 = authors[c.a || ""]; + var csaid2 = numbers_add_msg(cfb, 3056, [ + [], + [{ type: 2, data: stru8(c.t || "") }], + [{ type: 2, data: write_shallow([ + [], + [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }] + ]) }], + [{ type: 2, data: write_TSP_Reference(aaaid2) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, csaid2, function(iwa) { + return numbers_add_oref(iwa, aaaid2); + }); + replies.push(csaid2); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, csaid2, aaaid2); + ai.messages[0].data = write_shallow(mlist); + }); + }); + if (!authors[cc.a || ""]) + authors[cc.a || ""] = numbers_add_msg(cfb, 212, [ + [], + [{ type: 2, data: stru8(cc.a || "") }], + [{ type: 2, data: get_author_color(++iauthor) }], + [], + [{ type: 0, data: write_varint49(0) }] + ], "/Index/Tables/DataList", deps); + var aaaid = authors[cc.a || ""]; + var csaid = numbers_add_msg(cfb, 3056, [ + [], + [{ type: 2, data: stru8(cc.t || "") }], + [{ type: 2, data: write_shallow([ + [], + [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }] + ]) }], + [{ type: 2, data: write_TSP_Reference(aaaid) }], + replies.map(function(r) { + return { type: 2, data: write_TSP_Reference(r) }; + }), + [{ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(0) }] + ]) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, csaid, function(iwa) { + numbers_add_oref(iwa, aaaid); + replies.forEach(function(r) { + return numbers_add_oref(iwa, r); + }); + }); + cmntdata[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(1) }], + [], + [], + [], + [], + [], + [], + [], + [{ type: 2, data: write_TSP_Reference(csaid) }] + ]) }); + numbers_add_oref(cmntroot, csaid); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, cmntref, csaid); + numbers_meta_add_dep(mlist, deps, csaid, aaaid); + if (replies.length) + numbers_meta_add_dep(mlist, deps, csaid, replies); + ai.messages[0].data = write_shallow(mlist); + }); + }); + } + cmntdata[2][0].data = write_varint49(LUT.cmnt.length + 1); + cmntroot.messages[0].data = write_shallow(cmntdata); + }); + } } pb[4][0].data = write_shallow(store); } @@ -25151,6 +26233,13 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } +function parse_sheet_legacy_drawing(sheet, type, zip, path, idx, opts, wb, comments) { + if(!sheet || !sheet['!legdrawel']) return; + var dfile = resolve_path(sheet['!legdrawel'].Target, path); + var draw = getzipstr(zip, dfile, true); + if(draw) parse_vml(utf8read(draw), sheet, comments||[]); +} + function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); @@ -25189,6 +26278,7 @@ function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, st } }); if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); + parse_sheet_legacy_drawing(_ws, stype, zip, path, idx, opts, wb, comments); } catch(e) { if(opts.WTF) throw e; } } @@ -25488,6 +26578,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]]; @@ -25507,6 +26600,17 @@ f = "docProps/app.xml"; var need_vml = false; var cf = ""; if(comments && comments.length > 0) { + 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 + ".xml"; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + ".xml", RELS.TCMNT); + } + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_bin(comments, opts)); ct.comments.push(cf); @@ -25562,6 +26666,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)); @@ -26067,7 +27178,7 @@ function make_json_row(sheet, r, R, cols, header, hdr, o) { } if(!dense || sheet["!data"][R]) for (var C = r.s.c; C <= r.e.c; ++C) { var val = dense ? (sheet["!data"][R]||[])[C] : sheet[cols[C] + rr]; - if(val === undefined || val.t === undefined) { + if(val == null || val.t === undefined) { if(defval === undefined) continue; if(hdr[C] != null) { row[hdr[C]] = defval; } continue; @@ -26076,7 +27187,12 @@ function make_json_row(sheet, r, R, cols, header, hdr, o) { switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -26286,6 +27402,7 @@ function sheet_add_json(_ws, js, opts) { else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); } diff --git a/dist/xlsx.full.min.js b/dist/xlsx.full.min.js index 340eef1..a7c5845 100644 --- a/dist/xlsx.full.min.js +++ b/dist/xlsx.full.min.js @@ -4,20 +4,21 @@ 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 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(p){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 v=1024,m=Buffer.allocUnsafe(v);var g=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>v){v=2*r;m=Buffer.allocUnsafe(v)}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;nv){v=4*r;m=Buffer.allocUnsafe(v)}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);m[s++]=a&255;m[s++]=a>>>8;m[s++]=t&255;m[s++]=t>>>8&255}}return m.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>v){v=4*t;m=Buffer.allocUnsafe(v)}for(var f=0;f>6);m[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);m[i++]=240+(n>>>18&7);m[i++]=144+(n>>>12&63);m[i++]=128+(n>>>6&63);m[i++]=128+(n&63)}else{m[i++]=224+(a>>12);m[i++]=128+(a>>6&63);m[i++]=128+(a&63)}}if(!r||r==="buf")return m.slice(0,i);if(r!=="arr")return m.slice(0,i).toString("binary");return[].slice.call(m,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(g=r[t])switch(g){case"utf8":if(h&&b){s=u(a,g);d=s.length;break}for(c=0;c>6);s[++d]=128+(f&63)}else if(f>=55296&&f<=57343){f-=55296;p=(b?a.charCodeAt(++c):a[++c].charCodeAt(0))-56320+(f<<10);s[d]=240+(p>>>18&7);s[++d]=144+(p>>>12&63);s[++d]=128+(p>>>6&63);s[++d]=128+(p&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,g);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=j(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 X(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return X(t,a.split("").map(c));var i=a.length,s=new Array(i),o="",l=0,u=0,d=1,p=0,v=0;var m=e[t],g,b="";if(m&&(g=m.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[p++]=String.fromCharCode(v);s[p++]=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[p++]=String.fromCharCode(55296+(l>>10&1023));s[p++]=String.fromCharCode(56320+(l&1023))}else s[p++]=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[p++]=String.fromCharCode(55296+(l>>10&1023));s[p++]=String.fromCharCode(56320+(l&1023))}else s[p++]=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=(S&15)<<4|x>>2;k.push(E);O=_.indexOf(String.fromCharCode(a[u+R++]));if(O===-1)break;y=(x&3)<<6|O;if(O<64)k.push(y)}T=X(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[2*t]+(e[2*t+1]<<8));return r.join("")}function d(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 p=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 d(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function Ik(e){return String.fromCharCode(e)};var m=function Nk(e){return String.fromCharCode(e)};function g(e){a=e;o=function(e){r=e;s(e)};p=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};v=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};m=function i(e){return a.utils.decode(t,[e])[0]};ia()}var b=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function T(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;for(var l=0;l>2;a=e.charCodeAt(l++);s=(t&3)<<4|a>>4;n=e.charCodeAt(l++);f=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){f=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(o)}return r}function A(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;for(var l=0;l255)t=95;i=t>>2;a=e.charCodeAt(l++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(l++);if(n>255)n=95;f=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){f=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(o)}return r}function E(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,o=0;e=e.replace(/^data:([^\/]+\/[^\/]+)?;base64\,/,"").replace(/[^\w\+\/\=]/g,"");for(var l=0;l>4;r+=String.fromCharCode(t);f=k.indexOf(e.charAt(l++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}o=k.indexOf(e.charAt(l++));n=(f&3)<<6|o;if(o!==64){r+=String.fromCharCode(n)}}return r}var y=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var C=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var S=function(){if(typeof Buffer==="undefined")return false;var e=C([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function _(e){if(y)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function x(e){if(y)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var O=function Dk(e){if(y)return C(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function R(e){if(typeof ArrayBuffer==="undefined")return O(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 I(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=_(65535);a=65530}}r.push(n.slice(0,t));return F(r)}var L=/\u0000/g,M=/[\u0001-\u0006]/g;function U(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function B(e,r){var t=""+e;return t.length>=r?t:Cr("0",r-t.length)+t}function W(e,r){var t=""+e;return t.length>=r?t:Cr(" ",r-t.length)+t}function H(e,r){var t=""+e;return t.length>=r?t:t+Cr(" ",r-t.length)}function z(e,r){var t=""+Math.round(e);return t.length>=r?t:Cr("0",r-t.length)+t}function V(e,r){var t=""+e;return t.length>=r?t:Cr("0",r-t.length)+t}var G=Math.pow(2,32);function j(e,r){if(e>G||e<-G)return z(e,r);var t=Math.round(e);return V(t,r)}function X(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 Y=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var K=[["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 Z(e){if(!e)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"秒 "';return e}var J={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var Q={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 ee(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 re(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=ue(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}var te=new Date(1899,11,31,0,0,0);var ae=te.getTime();var ne=new Date(1900,2,1,0,0,0);function ie(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=ne)t+=24*60*60*1e3;return(t-(ae+(e.getTimezoneOffset()-te.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function se(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function fe(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function oe(e){var r=e<0?12:11;var t=se(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function le(e){var r=se(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function ce(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=oe(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=le(e);return se(fe(t.toUpperCase()))}function he(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):ce(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return Ve(14,ie(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function ue(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function de(e,r,t,a){var n="",i=0,s=0,f=t.y,o,l=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:o=f%100;l=2;break;default:o=f%1e4;l=4;break;}break;case 109:switch(r.length){case 1:;case 2:o=t.m;l=r.length;break;case 3:return K[t.m-1][1];case 5:return K[t.m-1][0];default:return K[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;l=r.length;break;case 3:return Y[t.q][0];default:return Y[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:o=1+(t.H+11)%12;l=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:o=t.H;l=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:o=t.M;l=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 B(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=B(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.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;}l=r.length===3?1:2;break;case 101:o=f;l=1;break;}var c=l>0?B(o,l):"";return c}function pe(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 ve=/%/g;function me(e,r,t){var a=r.replace(ve,""),n=r.length-a.length;return Pe(e,a,t*Math.pow(10,2*n))+Cr("%",n)}function ge(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Pe(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function be(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"-"+be(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 we=/# (\?+)( ?)\/( ?)(\d+)/;function ke(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?Cr(" ",e[1].length+1+e[4].length):W(s,e[1].length)+e[2]+"/"+e[3]+B(f,e[4].length))}function Te(e,r,t){return t+(r===0?"":""+r)+Cr(" ",e[1].length+2+e[4].length)}var Ae=/^#*0*\.([0#]+)/;var Ee=/\).*[0#]/;var ye=/\(###\) ###\\?-####/;function Ce(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 Se(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function _e(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 xe(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function Oe(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function Re(e,r,t){if(e.charCodeAt(0)===40&&!r.match(Ee)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Re("n",a,t);return"("+Re("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return ge(e,r,t);if(r.indexOf("%")!==-1)return me(e,r,t);if(r.indexOf("E")!==-1)return be(r,t);if(r.charCodeAt(0)===36)return"$"+Re(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+j(o,r.length);if(r.match(/^[#?]+$/)){n=j(t,0);if(n==="0")n="";return n.length>r.length?n:Ce(r.substr(0,r.length-n.length))+n}if(i=r.match(we))return ke(i,o,l);if(r.match(/^#+0+$/))return l+j(o,r.length-r.indexOf("0"));if(i=r.match(Ae)){n=Se(t,i[1].length).replace(/^([^\.]+)$/,"$1."+Ce(i[1])).replace(/\.$/,"."+Ce(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+Cr("0",Ce(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return l+Se(o,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return l+pe(j(o,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Re(e,r,-t):pe(""+(Math.floor(t)+xe(t,i[1].length)))+"."+B(_e(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Re(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=U(Re(e,r.replace(/[\\-]/g,""),t));s=0;return U(U(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Fe("n",a,t);return"("+Fe("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return Ie(e,r,t);if(r.indexOf("%")!==-1)return Ne(e,r,t);if(r.indexOf("E")!==-1)return De(r,t);if(r.charCodeAt(0)===36)return"$"+Fe(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+B(o,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:Ce(r.substr(0,r.length-n.length))+n}if(i=r.match(we))return Te(i,o,l);if(r.match(/^#+0+$/))return l+B(o,r.length-r.indexOf("0"));if(i=r.match(Ae)){n=(""+t).replace(/^([^\.]+)$/,"$1."+Ce(i[1])).replace(/\.$/,"."+Ce(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+Cr("0",Ce(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return l+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return l+pe(""+o);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Fe(e,r,-t):pe(""+t)+"."+Cr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Fe(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=U(Fe(e,r.replace(/[\\-]/g,""),t));s=0;return U(U(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-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}function Be(e,r,t,a){var n=[],i="",s=0,f="",o="t",l,c,h;var u="H";while(s=12?e.charAt(s+2):f;v.t="T";u="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(l!=null)v.v=l.H>=12?"PM":"AM";v.t="T";s+=5;u="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(l!=null)v.v=l.H>=12?"下午":"上午";v.t="T";s+=5;u="h"}else{v.t="t";++s}if(l==null&&v.t==="T")return"";n[n.length]=v;o=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Ue(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,g=0,b;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=u;o="h";if(m<1)m=1;break;case"s":if(b=n[s].v.match(/\.0+$/))g=Math.max(g,b[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 w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){A=r<0&&w.charCodeAt(0)===45?-r:r;E=Pe("n",w,A)}else{A=r<0&&a>1?-r:r;E=Pe("n",w,A);if(A<0&&n[0]&&n[0].t=="t"){E=E.substr(1);n[0].v="-"+n[0].v}}k=E.length-1;var y=n.length;for(s=0;s-1){y=s;break}var C=n.length;if(y===n.length&&E.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;if(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=E.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=E.substr(0,k+1);k=-1}n[s].t="t";C=s}if(k>=0&&C=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===y?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(k>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=E.charAt(k--)+T}n[s].v=T;n[s].t="t";C=s}if(k>=0&&C-1&&s===y?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){A=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Pe(n[s].t,n[s].v,A);n[s].t="t"}var S="";for(s=0;s!==n.length;++s)if(n[s]!=null)S+=n[s].v;return S}var We=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function He(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 ze(e,r){var t=Le(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(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(We);var f=t[1].match(We);return He(r,s)?[a,t[0]]:He(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function Ve(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:J)[e];if(a==null)a=t.table&&t.table[q[e]]||J[q[e]];if(a==null)a=Q[e]||"General";break;}if(X(a,0))return he(r,t);if(r instanceof Date)r=ie(r,t.date1904);var n=ze(a,r);if(X(n[1]))return he(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Be(n[1],r,t,n[0])}function Ge(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(J[t]==undefined){if(r<0)r=t;continue}if(J[t]==e){r=t;break}}if(r<0)r=391}J[r]=e;return r}function $e(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)Ge(e[r],r)}function je(){J=Z()}var Xe={format:Ve,load:Ge,_table:J,load_table:$e,parse_date_code:re,is_date:Ue,get_table:function Fk(){return Xe._table=J}};var Ye={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 Ke=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Ze(e){var r=typeof e=="number"?J[e]:e;r=r.replace(Ke,"(\\d+)");return new RegExp("^"+r+"$")}function Je(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(r.match(Ke)||[]).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 qe={"d.m":"d\\.m"};function Qe(e,r){return Ge(qe[e]||e,r)}var er=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"&&typeof n.subarray=="function"?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],p=n[9];var v=n[10],m=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 T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^g[e[k++]^a>>16&255]^m[e[k++]^a>>>24]^v[e[k++]]^p[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 rr=function Pk(){var e={};e.version="1.2.2";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){ba(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;case 1:{var f=e._R(4),o=e._R(4);s.usz=o*Math.pow(2,32)+f;f=e._R(4);o=e._R(4);s.csz=o*Math.pow(2,32)+f}break;}e.l=i;r[a]=s}return r}var f;function o(){return f||(f=tr)}function l(e,r){if(e[0]==80&&e[1]==75)return Ie(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return We(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 p=e.slice(0,512);ba(p,0);var m=c(p);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){p=e.slice(0,a);ba(p,28)}var w=e.slice(0,a);h(p,t);var k=p._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);p.l+=4;s=p._R(4,"i");p.l+=4;p.chk("00100000","Mini Stream Cutoff Size: ");f=p._R(4,"i");n=p._R(4,"i");o=p._R(4,"i");i=p._R(4,"i");for(var T=-1,A=0;A<109;++A){T=p._R(4,"i");if(T<0)break;l[A]=T}var E=u(e,a);v(o,i,E,a,l);var y=g(E,s,l,a);if(s0&&f!==U)y[f].name="!MiniFAT";y[l[0]].name="!FAT";y.fat_addrs=l;y.ssz=a;var C={},S=[],_=[],x=[];b(s,y,E,S,n,C,_,f);d(_,x,S);S.shift();var O={FileIndex:_,FullPaths:x};if(r&&r.raw)O.raw={header:w,sectors:E};return O}function c(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 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*P,s*P+P));n-=P;s=ca(t,s*4)}if(i.length===0)return ka(0);return F(i).slice(0,e.size)}function v(e,r,t,a,n){var i=U;if(e===U){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=1)v(ca(s,a-4),r-1,t,a,n)}}function m(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var f=a-1,o=0,l=0;for(o=r;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=ca(e[c],l)}return{nodes:i,data:Bt([s])}}function g(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 p=[];for(h=u;h>=0;){p[h]=true;s[h]=true;f[f.length]=h;o.push(e[h]);var v=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[v])break;h=ca(e[v],d);if(p[h])break}i[u]={nodes:f,data:Bt([o])}}return i}function b(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!==U)r[o].name="!StreamData"}else if(g.size>=4096){g.storage="fat";if(r[g.start]===undefined)r[g.start]=m(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!==U&&g.start!==U&&r[o]){g.content=p(g,r[o].data,(r[f]||{}).data)}}if(g.content)ba(g.content,0);i[d]=g;s.push(g)}}function w(e,r){return new Date((la(e,r+4)/1e7*Math.pow(2,32)+la(e,r)/1e7-11644473600)*1e3)}function k(e,r){o();return l(f.readFileSync(e),r)}function A(e,r){var t=r&&r.type;if(!t){if(y&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return l(O(E(e)),r);case"binary":return l(O(e),r);}return l(e,r)}function S(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(rr.find(e,"/"+r))return;var t=ka(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);I(e)}function I(e,n){S(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;p.size=0;p.type=5}else if(v.slice(-1)=="/"){for(c=f+1;c=u.length?-1:c;for(c=f+1;c=u.length?-1:c;p.type=1}else{if(t(e.FullPaths[f+1]||"")==t(v))p.R=f+1;p.type=2}}}function N(e,r){var t=r||{};if(t.fileType=="mad")return He(e,t);I(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=ka(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[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:U);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:U);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,z.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;c.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,z.ENDOFCHAIN);for(i=0;i32){console.error("Name "+u+" will be truncated to "+u.slice(0,32));u=u.slice(0,32)}l=2*(u.length+1);n._W(64,u,"utf16le");n._W(2,l);n._W(1,c.type);n._W(1,c.color);n._W(-4,c.L);n._W(-4,c.R);n._W(-4,c.C);if(!c.clsid)for(o=0;o<4;++o)n._W(4,0);else n._W(16,c.clsid,"hex");n._W(4,c.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,c.start);n._W(4,c.size);n._W(4,0)}for(i=1;i=4096){n.l=c.start+1<<9;if(y&&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(y&&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 ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(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 le(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 ce(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 pe(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(y){var i=x(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=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(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=ue(t,n,re[l+1]>>1)-1;else{ue(t,n,3);n+=5;ue(t,n,re[l-23]>>5);n+=3}var u=l<8?0:l-4>>2;if(u>0){de(t,n,h-J[l]);n+=u}l=e[i-c];n=ue(t,n,re[l]>>3);n-=3;var d=l<4?0:l-2>>1;if(d>0){de(t,n,i-c-q[l]);n+=d}for(var p=0;p>8-p;for(var v=(1<<7-p)-1;v>=0;--v)ye[d|v<>>=3){case 16:i=3+ne(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+ie(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(o>>0;var f=0,o=0;while((a&1)==0){a=ie(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=_e(e,t);f=Ce;o=Se}for(;;){if(!r&&s>>1==1?ge[c]:Ae[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+J[h];if(u>0){d+=le(e,t,u);t+=u}c=le(e,t,o);h=a>>>1==1?be[c]:Ee[c];t+=h&15;h>>>=4;var p=h<4?0:h-2>>1;var v=q[h];if(p>0){v+=le(e,t,p);t+=p}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=xe(t,r);e.l+=a[1];return a[0]}function Re(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ie(e,r){var t=e;ba(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};S(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};S(c);var h,u=0;for(n=0;n=32&&d<128)++h;var v=h>=u*4/5;n.push(a);n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+s);n.push("Content-Transfer-Encoding: "+(v?"quoted-printable":"base64"));n.push("Content-Type: "+Pe(f,s));n.push("");n.push(v?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function ze(e){var r={};S(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)S(e);var s=!i&&rr.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)rr.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 Ge(e,r){S(e);var t=rr.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 wr=new Date("2017-02-19T19:06:09.000Z");var kr=isNaN(wr.getFullYear())?new Date("2/19/17"):wr;var Tr=kr.getFullYear()==2017;function Ar(e,r){var t=new Date(e);if(Tr){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(kr.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 Er(e,r){if(y&&Buffer.isBuffer(e)){if(r&&S){if(e[0]==255&&e[1]==254)return bt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return bt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return bt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return bt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[];for(var i=0;i!=e.length;++i)n.push(String.fromCharCode(e[i]));return n.join("")}function yr(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]=yr(e[t]);return r}function Cr(e,r){var t="";while(t.length3&&Or.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\]/))return i;return n}var Ir=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Xr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Yr=/<[^>]*>/g;var Kr=$r.match(Xr)?Xr:Yr;var Zr=/<\w*:/,Jr=/<(\/?)\w+:/;function qr(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(jr),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 Qr(e){return e.replace(Jr,"<$1")}var et={""":'"',"'":"'",">":">","<":"<","&":"&"};var rt=lr(et);var tt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;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))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var at=/[&<>'"]/g,nt=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function it(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(nt,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function st(e){return it(e).replace(/ /g,"_x0020_")}var ft=/[\u0000-\u001f]/g;function ot(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(/\n/g,"
").replace(ft,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function lt(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(ft,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var ct=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 ht(e){return e.replace(/(\r\n|[\r\n])/g," ")}function ut(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function dt(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}function pt(e){var r=_(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")}function vt(e){return C(e,"binary").toString("utf8")}var mt="foo bar baz☃🍣";var gt=y&&(vt(mt)==dt(mt)&&vt||pt(mt)==dt(mt)&&pt)||dt;var bt=y?function(e){return C(e,"utf8").toString("binary")}: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("")};var wt=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 kt=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 At=/<\/?(?:vt:)?variant>/g,Et=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function _t(e){return fr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function xt(e,r,t){return"<"+e+(t!=null?_t(t):"")+(r!=null?(r.match(Ct)?' xml:space="preserve"':"")+">"+r+""}function Ot(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function Rt(e,r){switch(typeof e){case"string":var t=xt("vt:lpwstr",it(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return xt((e|0)==e?"vt:i4":"vt:r8",it(String(e)));case"boolean":return xt("vt:bool",e?"true":"false");}if(e instanceof Date)return xt("vt:filetime",Ot(e));throw new Error("Unable to serialize "+e)}function It(e){if(y&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return gt(I(D(e)));throw new Error("Bad input format: expected Buffer or string")}var Nt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/](?:[^>=]|="[^"]*?")*)?>/gm;var Dt={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 Ft=["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 Pt={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 Lt(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 Mt(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 Ut=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:C(e)})):Ut(e)}:Ut;var Wt=function(e,r,t){var a=[];for(var n=r;n0?$t(e,r+4,r+4+t-1):""};var Xt=jt;var Yt=function(e,r){var t=la(e,r);return t>0?$t(e,r+4,r+4+t-1):""};var Kt=Yt;var Zt=function(e,r){var t=2*la(e,r);return t>0?$t(e,r+4,r+4+t-1):""};var Jt=Zt;var qt=function Mk(e,r){var t=la(e,r);return t>0?Ht(e,r+4,r+4+t):""};var Qt=qt;var ea=function(e,r){var t=la(e,r);return t>0?$t(e,r+4,r+4+t):""};var ra=ea;var ta=function(e,r){return Lt(e,r)};var aa=ta;var na=function Uk(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(y){Xt=function Bk(e,r){if(!Buffer.isBuffer(e))return jt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Kt=function Wk(e,r){if(!Buffer.isBuffer(e))return Yt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Jt=function Hk(e,r){if(!Buffer.isBuffer(e)||!S)return Zt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Qt=function zk(e,r){if(!Buffer.isBuffer(e)||!S)return qt(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};ra=function Vk(e,r){if(!Buffer.isBuffer(e))return ea(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};aa=function Gk(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return ta(e,r)};na=function $k(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function ia(){Ht=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(L,"")};$t=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Xt=function(e,r){var n=la(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Kt=function(e,t){var n=la(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Jt=function(e,r){var t=2*la(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Qt=function(e,r){var t=la(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};ra=function(e,r){var t=la(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")ia();var sa=function(e,r){return e[r]};var fa=function(e,r){return e[r+1]*(1<<8)+e[r]};var oa=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var la=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ca=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var ha=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function ua(e,t){var n="",i,s,f=[],o,l,c,h;switch(t){case"dbcs":h=this.l;if(y&&Buffer.isBuffer(this)&&S)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?ca:ha)(this,this.l);this.l+=4;return i}else{s=la(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=aa(this,this.l);else s=aa([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=Vt(this,this.l,e);break;};}this.l+=e;return n}var da=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 pa=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 va=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function ma(e,n,i){var s=0,f=0;if(i==="dbcs"){for(f=0;f!=n.length;++f)va(this,n.charCodeAt(f),this.l+2*f);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(f=0;f!=n.length;++f){var o=a.utils.encode(t,n.charAt(f));this[this.l+f]=o[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){o=a.utils.encode(r,n);if(o.length==n.length)for(f=0;f>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8; -this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;da(this,n,this.l);break;case 8:s=8;if(i==="f"){Mt(this,n,this.l);break};case 16:break;case-4:s=4;pa(this,n,this.l);break;}this.l+=s;return this}function ga(e,r){var t=Vt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ba(e,r){e.l=r;e._R=ua;e.chk=ga;e._W=ma}function wa(e,r){e.l+=r}function ka(e){var r=_(e);ba(r,0);return r}function Ta(e,r,t){if(!e)return;var a,n,i;ba(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&&na(t))e.push(t)}function ya(e,r,t){var a=yr(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 Ca(e,r,t){var a=yr(e);a.s=ya(a.s,r.s,t);a.e=ya(a.e,r.s,t);return a}function Sa(e,r){if(e.cRel&&e.c<0){e=yr(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=yr(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Ua(e);if(!e.cRel&&e.cRel!=null)t=Fa(t);if(!e.rRel&&e.rRel!=null)t=Ra(t);return t}function _a(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?"":"$")+Da(e.s.c)+":"+(e.e.cRel?"":"$")+Da(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?"":"$")+Oa(e.s.r)+":"+(e.e.rRel?"":"$")+Oa(e.e.r)}}return Sa(e.s,r.biff)+":"+Sa(e.e,r.biff)}if(typeof cptable!=="undefined")g(cptable);else if(typeof module!=="undefined"&&typeof require!=="undefined"){g(undefined)}function xa(e){return parseInt(Ia(e),10)-1}function Oa(e){return""+(e+1)}function Ra(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Ia(e){return e.replace(/\$(\d+)$/,"$1")}function Na(e){var r=Pa(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function Da(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 Fa(e){return e.replace(/^([A-Z])/,"$$$1")}function Pa(e){return e.replace(/^\$([A-Z])/,"$1")}function La(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Ma(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 Ua(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 Ba(e){var r=e.indexOf(":");if(r==-1)return{s:Ma(e),e:Ma(e)};return{s:Ma(e.slice(0,r)),e:Ma(e.slice(r+1))}}function Wa(e,r){if(typeof r==="undefined"||typeof r==="number"){return Wa(e.s,e.e)}if(typeof e!=="string")e=Ua(e);if(typeof r!=="string")r=Ua(r);return e==r?e:e+":"+r}function Ha(e){var r=Ba(e);return"$"+Da(r.s.c)+"$"+Oa(r.s.r)+":$"+Da(r.e.c)+"$"+Oa(r.e.r)}function za(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function Va(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 Ga(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=Ve(e.z,t?dr(r):r)}catch(a){}try{return e.w=Ve((e.XF||{}).numFmtId||(t?14:0),t?dr(r):r)}catch(a){return""+r}}function $a(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 qn[e.v]||e.v;if(r==undefined)return Ga(e,e.v);return Ga(e,r)}function ja(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Xa(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=e||{};if(n&&!i["!data"])i["!data"]=[];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"?Ma(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=Va(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}var h=[];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");var d=s+u,p=""+(d+1);if(n){if(!i["!data"][d])i["!data"][d]=[];h=i["!data"][d]}for(var v=0;v!=r[u].length;++v){if(typeof r[u][v]==="undefined")continue;var m={v:r[u][v]};var g=f+v;if(l.s.r>d)l.s.r=d;if(l.s.c>g)l.s.c=g;if(l.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function Qa(e){return{ich:e._R(2),ifnt:e._R(2)}}function en(e,r){if(!r)r=ka(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function rn(e,r){var t=e.l;var a=e._R(1);var n=Ja(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(Qa(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function tn(e,r){var t=false;if(r==null){t=true;r=ka(15+4*e.t.length)}r._W(1,0);qa(e.t,r);return t?r.slice(0,r.l):r}var an=rn;function nn(e,r){var t=false;if(r==null){t=true;r=ka(23+4*e.t.length)}r._W(1,1);qa(e.t,r);r._W(4,1);en({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function sn(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function fn(e,r){if(r==null)r=ka(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function on(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function ln(e,r){if(r==null)r=ka(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var cn=Ja;var hn=qa;function un(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function dn(e,r){var t=false;if(r==null){t=true;r=ka(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 pn=Ja;var vn=un;var mn=dn;function gn(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?aa([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):ca(r,0)>>2;return t?n/100:n}function bn(e,r){if(r==null)r=ka(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 wn(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 kn(e,r){if(!r)r=ka(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 Tn=wn;var An=kn;function En(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function yn(e,r){return(r||ka(8))._W(8,e,"f")}function Cn(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=Jn[n];if(l)r.rgb=Ol(l);break;case 2:r.rgb=Ol([s,f,o]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function Sn(e,r){if(!r)r=ka(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 _n(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 xn(e,r){if(!r)r=ka(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 On(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 Rn(e){return On(e,1)}function In(e){return On(e,2)}var Nn=2;var Dn=3;var Fn=11;var Pn=12;var Ln=19;var Mn=64;var Un=65;var Bn=71;var Wn=4108;var Hn=4126;var zn=80;var Vn=81;var Gn=[zn,Vn];var $n={1:{n:"CodePage",t:Nn},2:{n:"Category",t:zn},3:{n:"PresentationFormat",t:zn},4:{n:"ByteCount",t:Dn},5:{n:"LineCount",t:Dn},6:{n:"ParagraphCount",t:Dn},7:{n:"SlideCount",t:Dn},8:{n:"NoteCount",t:Dn},9:{n:"HiddenCount",t:Dn},10:{n:"MultimediaClipCount",t:Dn},11:{n:"ScaleCrop",t:Fn},12:{n:"HeadingPairs",t:Wn},13:{n:"TitlesOfParts",t:Hn},14:{n:"Manager",t:zn},15:{n:"Company",t:zn},16:{n:"LinksUpToDate",t:Fn},17:{n:"CharacterCount",t:Dn},19:{n:"SharedDoc",t:Fn},22:{n:"HyperlinksChanged",t:Fn},23:{n:"AppVersion",t:Dn,p:"version"},24:{n:"DigSig",t:Un},26:{n:"ContentType",t:zn},27:{n:"ContentStatus",t:zn},28:{n:"Language",t:zn},29:{n:"Version",t:zn},255:{},2147483648:{n:"Locale",t:Ln},2147483651:{n:"Behavior",t:Ln},1919054434:{}};var jn={1:{n:"CodePage",t:Nn},2:{n:"Title",t:zn},3:{n:"Subject",t:zn},4:{n:"Author",t:zn},5:{n:"Keywords",t:zn},6:{n:"Comments",t:zn},7:{n:"Template",t:zn},8:{n:"LastAuthor",t:zn},9:{n:"RevNumber",t:zn},10:{n:"EditTime",t:Mn},11:{n:"LastPrinted",t:Mn},12:{n:"CreatedDate",t:Mn},13:{n:"ModifiedDate",t:Mn},14:{n:"PageCount",t:Dn},15:{n:"WordCount",t:Dn},16:{n:"CharCount",t:Dn},17:{n:"Thumbnail",t:Bn},18:{n:"Application",t:zn},19:{n:"DocSecurity",t:Dn},255:{},2147483648:{n:"Locale",t:Ln},2147483651:{n:"Behavior",t:Ln},1919054434:{}};var Xn={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 Yn=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Kn(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Zn=Kn([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,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Jn=yr(Zn);var qn={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Qn={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var ei=["_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"];var ri={"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 ti={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 ai(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function ni(e){var r=ai();if(!e||!e.match)return r;var t={};(e.match(Kr)||[]).forEach(function(e){var a=qr(e);switch(a[0].replace(Zr,"<")){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}function ii(e,r,t){var a=hr(ri);var n=[],i;if(!t){n[n.length]=$r;n[n.length]=xt("Types",null,{xmlns:Dt.CT,"xmlns:xsd":Dt.xsd,"xmlns:xsi":Dt.xsi});n=n.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 xt("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=xt("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:ti[t][r.bookType]||ti[t]["xlsx"]})}};var f=function(t){(e[t]||[]).forEach(function(e){n[n.length]=xt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ti[t][r.bookType]||ti[t]["xlsx"]})})};var o=function(r){(e[r]||[]).forEach(function(e){n[n.length]=xt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");f("sheets");f("charts");o("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(o);o("vba");o("comments");o("threadedcomments");o("drawings");f("metadata");o("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var si={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",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function fi(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function oi(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Kr)||[]).forEach(function(e){var n=qr(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ci(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([si.HLINK,si.XPATH,si.XMISS].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 hi="application/vnd.oasis.opendocument.spreadsheet";function ui(e,r){var t=It(e);var a;var n;while(a=Nt.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=qr(a[0],false);if(n.path=="/"&&n.type!==hi)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 di(e){var r=[$r];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function pi(e,r,t){return[' \n',' \n'," \n"].join("")}function vi(e,r){return[' \n',' \n'," \n"].join("")}function mi(e){var r=[$r];r.push('\n');for(var t=0;t!=e.length;++t){r.push(pi(e[t][0],e[t][1]));r.push(vi("",e[t][0]))}r.push(pi("","Document","pkg"));r.push("");return r.join("")}function gi(r,t){return'SheetJS '+e.version+""}var bi=[["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 wi=function(){var e=new Array(bi.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function ki(e){var r={};e=gt(e);for(var t=0;t0)r[a[1]]=tt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=Ar(r[a[1]])}return r}function Ti(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=it(r);a[a.length]=t?xt(e,r,t):St(e,r)}function Ai(e,r){var t=r||{};var a=[$r,xt("cp:coreProperties",null,{"xmlns:cp":Dt.CORE_PROPS,"xmlns:dc":Dt.dc,"xmlns:dcterms":Dt.dcterms,"xmlns:dcmitype":Dt.dcmitype,"xmlns:xsi":Dt.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)Ti("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Ot(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)Ti("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Ot(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=bi.length;++i){var s=bi[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)Ti(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Ei=[["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 yi=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Ci(e,r,t,a){var n=[];if(typeof e=="string")n=yt(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 Si(e,r,t){var a={};if(!r)r={};e=gt(e);Ei.forEach(function(t){var n=(e.match(wt(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=tt(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)Ci(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function _i(e){var r=[],t=xt;if(!e)e={};e.Application="SheetJS";r[r.length]=$r;r[r.length]=xt("Properties",null,{xmlns:Dt.EXT_PROPS,"xmlns:vt":Dt.vt});Ei.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=it(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""+it(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var xi=/<[^>]+>[^<]*/g;function Oi(e,r){var t={},a="";var n=e.match(xi);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=qr(s);switch(Qr(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]=tt(c);break;case"bool":t[a]=ut(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]=Ar(c);break;case"cy":;case"error":t[a]=tt(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 Ii={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 Ni;function Di(e,r,t){if(!Ni)Ni=lr(Ii);r=Ni[r]||r;e[r]=t}function Fi(e,r){var t=[];fr(Ii).map(function(e){for(var r=0;r'+n.join("")+""}function Li(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 Mi(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=ka(8);s._W(4,a);s._W(4,n);return s}function Ui(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 Bi(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Wi(e,r,t){if(r===31)return Bi(e);return Ui(e,r,t)}function Hi(e,r,t){return Wi(e,r,t===false?0:4)}function zi(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Wi(e,r,0)}function Vi(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(L,"");if(e.l-n&2)e.l+=2}return t}function Gi(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(L,"");return t}function $i(e){var r=e.l;var t=Zi(e,Vn);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=Zi(e,Dn);return[t,a]}function ji(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Yi(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 Ki(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Zi(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==Pn)if(a!==r&&Gn.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===Pn?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 Ui(e,a,4).replace(L,"");case 31:return Bi(e);case 64:return Li(e);case 65:return Yi(e);case 71:return Ki(e);case 80:return Hi(e,a,!i.raw).replace(L,"");case 81:return zi(e,a).replace(L,"");case 4108:return ji(e);case 4126:;case 4127:return a==4127?Vi(e):Gi(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Ji(e,r){var t=ka(4),a=ka(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=ka(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Mi(r);break;case 31:;case 80:a=ka(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 qi(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 p=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;p=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];p=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];p=false}break;}if((!r||s==0)&&e.l<=i[s][1]){p=false;e.l=i[s][1]}if(p)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){if(i[s][0]==0&&i.length>s+1&&i[s][1]==i[s+1][1])continue;var v=r[i[s][0]];d[v.n]=Zi(e,v.t,{raw:true});if(v.p==="version")d[v.n]=String(d[v.n]>>16)+"."+("0000"+String(d[v.n]&65535)).slice(-4);if(v.n=="CodePage")switch(d[v.n]){case 0:d[v.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[v.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[v.n]);}}else{if(i[s][0]===1){f=d.CodePage=Zi(e,Nn);o(f);if(l!==-1){var m=e.l;e.l=i[l][1];c=Xi(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}c=Xi(e,f)}else{var g=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=Yi(e);break;case 30:e.l+=4;b=Hi(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;b=Hi(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=fs(e,4);break;case 64:e.l+=4;b=Ar(Li(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[g]=b}}}e.l=t+a;return d}var Qi=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function es(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 rs(e,r,t){var a=ka(8),n=[],i=[];var s=8,f=0;var o=ka(8),l=ka(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=ka(8);l._W(4,0);n.unshift(l);var c=[ka(4)];c[0]._W(4,e.length);for(f=0;f-1||yi.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 p=t[d];if(p.p=="version"&&typeof u=="string"){var v=u.split(".");u=(+v[0]<<16)+(+v[1]||0)}o=Ji(p.t,u)}else{var m=es(u);if(m==-1){m=31;u=String(u)}o=Ji(m,u)}i.push(o);l=ka(8);l._W(4,!r?2+f:d);n.push(l);s+=8+o.length}var g=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 vs(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 ms(e){var r=e.t||"",t=1;var a=ka(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=ka(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return F(i)}function gs(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 bs(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return gs(e,a,t)}function ws(e,r,t){if(t.biff>5)return bs(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 ks(e,r,t){if(!t)t=ka(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function Ts(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function As(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(L,"");if(a)e.l+=24;return n}function Es(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(L,"");return t+s}function ys(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return As(e,r);case"0303000000000000c000000000000046":return Es(e,r);default:throw new Error("Unsupported Moniker "+t);}}function Cs(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(L,""):"";return t}function Ss(e,r){if(!r)r=ka(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 Ls(e){var r=e._R(2);var t=gn(e);return[r,t]}function Ms(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=ps(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 Us(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 Bs(e,r){if(!r)r=ka(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 Ws(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 Hs=Ws;function zs(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 Vs(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function Gs(e){var r={};e.l+=4;e.cf=e._R(2);return r}function $s(e){e.l+=2;e.l+=e._R(2)}var js={0:$s,4:$s,5:$s,6:$s,7:Gs,8:$s,9:$s,10:$s,11:$s,12:$s,13:Vs,14:$s,15:$s,16:$s,17:$s,18:$s,19:$s,20:$s,21:zs};function Xs(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 Ks(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=ka(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 Zs(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Js(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=ws(e,0,t);e._R(r+a-e.l);return n}function qs(e,r){var t=!r||r.biff==8;var a=ka(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=ka(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 tf(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 cf(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 hf(){var e=ka(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 uf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function df(e){var r=ka(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 pf(){}function vf(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=ps(e,0,t);return a}function mf(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=ka(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 gf(e){var r=Is(e);r.isst=e._R(4);return r}function bf(e,r,t,a){var n=ka(10);Ns(e,r,a,n);n._W(4,t);return n}function wf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=Is(e,6);if(t.biff==2)e.l++;var i=bs(e,a-e.l,t);n.val=i;return n}function kf(e,r,t,a,n){var i=!n||n.biff==8;var s=ka(6+2+ +i+(1+i)*t.length);Ns(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 Tf(e,r,t){var a=e._R(2);var n=ws(e,0,t);return[a,n]}function Af(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ka(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 Ef=ws;function yf(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 Cf(e,r){var t=r.biff==8||!r.biff?4:2;var a=ka(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 Sf(e){var r=e._R(2),t=e._R(2);var a=Ls(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function _f(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 Rf(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=Of(e,r,a.fStyle,t);return a}function If(e,r,t,a){var n=t&&t.biff==5;if(!a)a=ka(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 Nf(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 Df(e){var r=ka(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 Ff(e,r,t){var a=Is(e,6);if(t.biff==2||r==9)++e.l;var n=us(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Pf(e,r,t,a,n,i){var s=ka(8);Ns(e,r,a,s);ds(t,i,s);return s}function Lf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=Is(e,6);var n=En(e,8);a.val=n;return a}function Mf(e,r,t,a){var n=ka(14);Ns(e,r,a,n);yn(t,n);return n}var Uf=Fs;function Bf(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=gs(e,i);var f=[];while(a>e.l)f.push(bs(e));return[i,n,s,f]}function Wf(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=Ms(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}function Hf(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=gs(e,s,t);if(n&32)l=ei[l.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:Td(e,c,t,f);return{chKey:i,Name:l,itab:o,rgce:h}}function zf(e,r,t){if(t.biff<8)return Vf(e,r,t);if(!(t.biff>8)&&r==e[e.l]+(e[e.l+1]==3?1:0)+1)return Vf(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ps(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Vf(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=ps(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function Gf(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=gs(e,a,t);var s=gs(e,n,t);return[i,s]}function $f(e,r,t){var a=Ws(e,6);e.l++;var n=e._R(1);r-=8;return[Ad(e,r,t),n,a]}function jf(e,r,t){var a=Hs(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,wd(e,r,t,a)]}function Xf(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Yf(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=ws(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Kf(e,r,t){return Yf(e,r,t)}function Zf(e,r){var t=[];var a=e._R(2);while(a--)t.push(Us(e,r));return t}function Jf(e){var r=ka(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 to(e,r){var t=Us(e,8);e.l+=16;var a=_s(e,r-24);return[t,a]}function ao(e){var r=ka(24);var t=Ma(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,xs(e[1])])}function no(e,r){e._R(2);var t=Us(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(L,"");return[t,a]}function io(e){var r=e[1].Tooltip;var t=ka(10+2*(r.length+1));t._W(2,2048);var a=Ma(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(Rs(e,8));return t}function lo(e){var r=e._R(2);var t=[];while(r-- >0)t.push(Rs(e,8));return t}function co(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function ho(e,r,t){if(!t.cellStyles)return wa(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 uo(e,r){var t=ka(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 po(e,r){var t={};if(r<32)return t;e.l+=16;t.header=En(e,8);t.footer=En(e,8);e.l+=2;return t}function vo(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 mo(e){var r=ka(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 p=[],v={};var m=Math.min(i.length,s==2?521:h-10-(o?264:0));var g=l?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=p.length;++w){var k=i.slice(i.l,i.l+p[w].len);i.l+=p[w].len;ba(k,0);var T=typeof a!=="undefined"?a.utils.decode(d,k):I(k);switch(p[w].type){case"C":if(T.trim().length)n[b][w]=T.replace(/\s+$/,"");break;case"D":if(T.length===8)n[b][w]=new Date(+T.slice(0,4),+T.slice(4,6)-1,+T.slice(6,8));else n[b][w]=T;break;case"F":n[b][w]=parseFloat(T.trim());break;case"+":;case"I":n[b][w]=l?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(T.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+T+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(l?parseInt(T.trim(),10):k._R(4));break;case"N":T=T.replace(/\u0000/g,"").trim();if(T&&T!=".")n[b][w]=+T||0;break;case"@":n[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":n[b][w]=new Date((k._R(4)-2440588)*864e5+k._R(4));break;case"Y":n[b][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-k._R(-8,"f");break;case"B":if(o&&p[w].len==8){n[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(s!=2)if(i.l=0)o(+f.codepage);if(f.type=="string")throw new Error("Cannot write DBF to JS string");var h=Aa();var u=nk(i,{header:1,raw:true,cellDates:true});var d=u[0],p=u.slice(1),v=i["!cols"]||[];var m=0,g=0,b=0,w=1;for(m=0;m250)S=250;C=((v[m]||{}).DBF||{}).type;if(C=="C"){if(v[m].DBF.len>S)S=v[m].DBF.len}if(y=="B"&&C=="N"){y="N";E[m]=v[m].DBF.dec;S=v[m].DBF.len}A[m]=y=="C"||C=="N"?S:l[y]||0;w+=A[m];T[m]=y}var x=h.next(32);x._W(4,318902576);x._W(4,p.length);x._W(2,296+32*b);x._W(2,w);for(m=0;m<4;++m)x._W(4,0);var O=+n[r]||3;x._W(4,0|O<<8);if(e[O]!=+f.codepage){if(f.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(m=0,g=0;mA[g])F=F.slice(0,A[g]);for(b=0;b":190,"?":191,"{":223};var r=new RegExp("N("+fr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?m(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:m(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(E(e),r);case"binary":return s(e,r);case"buffer":return s(y&&Buffer.isBuffer(e)?e.toString("binary"):I(e),r);case"array":return s(Er(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 p=null;var v={},m=[],g=[],b=[];var w=0,k;var T={Workbook:{WBProps:{},Names:[]}};if(+i.codepage>=0)o(+i.codepage);for(;c!==s.length;++c){w=0;var A=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var E=A.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var y=E[0],C;if(A.length>0)switch(y){case"ID":break;case"E":break;case"B":break;case"O":for(h=1;h=1&&S<=4)T.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(E[1].charAt(0)){case"P":d.push(A.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var _={Sheet:0};for(h=1;h-1&&u[N][D];if(!L||!L[1])throw new Error("SYLK shared formula cannot find base");F=Wh(L[1],{r:f-N,c:l-D})}if(F){if(!u[f][l])u[f][l]={t:"n",f:F};else u[f][l].f=F}break;case"F":var M=0;for(h=1;h0){m[f].hpt=w;m[f].hpx=jl(w)}else if(w===0)m[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+A);}if(M<1)p=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+A);}}if(m.length>0)v["!rows"]=m;if(g.length>0)v["!cols"]=g;g.forEach(function(e){zl(e)});if(i&&i.sheetRows)u=u.slice(0,i.sheetRows);return[u,v,T]}function f(e,r){var t=i(e,r);var a=t[0],n=t[1],s=t[2];var f=yr(r);f.date1904=(((s||{}).Workbook||{}).WBProps||{}).date1904;var o=Ya(a,f);fr(n).forEach(function(e){o[e]=n[e]});var l=ja(o,r);fr(s).forEach(function(e){l[e]=s[e]});l.bookType="sylk";return l}function l(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"+Bh(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==null?"":String(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=Ml(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=Ul(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*$l(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function u(e,r,t){var a=["ID;PSheetJS;N;E"],n=[];var i=Va(e["!ref"]),s;var f=e["!data"]!=null;var o="\r\n";var u=(((t||{}).Workbook||{}).WBProps||{}).date1904;a.push("P;PGeneral");a.push("F;P0;DG0G8;M255");if(e["!cols"])c(a,e["!cols"]);if(e["!rows"])h(a,e["!rows"]);a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(u?";V4":"")+";K47;G100 0.001");for(var d=i.s.r;d<=i.e.r;++d){if(f&&!e["!data"][d])continue;var p=[];for(var v=i.s.c;v<=i.e.c;++v){s=f?e["!data"][d][v]:e[Da(v)+Oa(d)];if(!s||s.v==null&&(!s.f||s.F))continue;p.push(l(s,e,d,v,r))}n.push(p.join(o))}return a.join(o)+o+n.join(o)+o+"E"+o}return{to_workbook:f,from_sheet:u}}();var No=function(){function e(e,t){switch(t.type){case"base64":return r(E(e),t);case"binary":return r(e,t);case"buffer":return r(y&&Buffer.isBuffer(e)?e.toString("binary"):I(e),t);case"array":return r(Er(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)g();n["!ref"]=Wa(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 Ya(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:Nw(e,r);switch(r.type){case"base64":t=E(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=y&&Buffer.isBuffer(e)?e.toString("binary"):I(e);break;case"array":t=Er(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=gt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=gt(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 Do.to_sheet(r.type=="string"?t:gt(t),r);return f(t,r)}function l(e,r){return ja(o(e,r),r)}function c(e){var r=[];var t=Va(e["!ref"]),a;var n=e["!data"]!=null;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=Ua({r:i,c:f});a=n?(e["!data"][i]||[])[f]:e[o];if(!a||a.v==null){s.push(" ");continue}var l=(a.w||($a(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 Po(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Io.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 Fo.to_workbook(e,r)}}var Lo=function(){function e(e,r,t){if(!e)return;ba(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 255:a.vers=e;a.works=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&&!a.works||t==51)&&e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);if(a.works||a.works2)e[1].v=e[1].v.replace(/\r\n/g,"\n");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||J[14];if(a.cellDates){e[1].t="d";e[1].v=gr(e[1].v)}}if(a.qpro){if(e[3]>f){n["!ref"]=Wa(u);o[i]=n;l.push(i);n={};if(a.dense)h=n["!data"]=[];u={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i=s||"Sheet"+(f+1);s=""}}var c=a.dense?(h[e[0].r]||[])[e[0].c]:n[Ua(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(!h[e[0].r])h[e[0].r]=[];h[e[0].r][e[0].c]=e[1]}else n[Ua(e[0])]=e[1];break;case 21509:a.works2=true;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:if(e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);e[1].v=e[1].v.replace(/\x0F./g,function(e){return String.fromCharCode(e.charCodeAt(1)-32)}).replace(/\r\n/g,"\n");case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>f){n["!ref"]=Wa(u);o[i]=n;l.push(i);n={};if(a.dense)h=n["!data"]=[];u={s:{r:0,c:0},e:{r:0,c:0}};f=e[3];i="Sheet"+(f+1)}if(d>0&&e[0].r>=d)break;if(a.dense){if(!h[e[0].r])h[e[0].r]=[];h[e[0].r][e[0].c]=e[1]}else n[Ua(e[0])]=e[1];if(u.e.c=0)o(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=Aa();var n=Va(e["!ref"]);var s=e["!data"]!=null;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.c;h<=n.e.c;++h)f[h]=Da(h);for(var d=n.s.r;d<=c;++d){var p=Oa(d);for(h=n.s.c;h<=n.e.c;++h){var m=s?(e["!data"][d]||[])[h]:e[f[h]+p];if(!m||m.t=="z")continue;if(m.t=="n"){if((m.v|0)==m.v&&m.v>=-32768&&m.v<=32767)Lg(a,13,v(d,h,m.v));else Lg(a,14,g(d,h,m.v))}else{var b=$a(m);Lg(a,15,u(d,h,b.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=Aa();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=ka(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 if(t.works){a[0].c=e._R(2);a[0].r=e._R(2);a[2]=e._R(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=ka(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=e.l+r;var n=c(e,r,t);n[1].t="s";if(t.vers==20768){var i=e._R(1);n[1].v=e._R(i,"utf8");return n}n[1].v=e._R(a-e.l,"cstr");return n}function p(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=ka(7);a._W(1,255);a._W(2,r);a._W(2,e);a._W(2,t,"i");return a}function m(e,r,t){var a=c(e,r,t);a[1].v=e._R(8,"f");return a}function g(e,r,t){var a=ka(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);y(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?Da(r):Oa(r))}var T={31:["NA",0],33:["ABS",1],34:["TRUNC",1],35:["SQRT",1],36:["LOG",1],37:["LN",1],38:["PI",0],39:["SIN",1],40:["COS",1],41:["TAN",1],42:["ATAN2",2],43:["ATAN",1],44:["ASIN",1],45:["ACOS",1],46:["EXP",1],47:["MOD",2],49:["ISNA",1],50:["ISERR",1],51:["FALSE",0],52:["TRUE",0],53:["RAND",0],63:["ROUND",2],68:["ISNUMBER",1],69:["ISTEXT",1],70:["LEN",1],71:["VALUE",1],73:["MID",3],74:["CHAR",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],102:["UPPER",1],103:["LOWER",1],107:["PROPER",1],109:["TRIM",1],111:["T",1]};var A=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function y(e,r){ba(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 S(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=ka(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 R(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 I(e,r,t,a){var n=ka(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 D(e,r){var t=C(e,r);var a=e._R(4);t[1].v=a>>6;return t}function F(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=F(e,12);e.l+=r-12;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:ls},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:p},14:{n:"NUMBER",f:m},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:d},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},255:{n:"BOF",f:ls},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:S},23:{n:"NUMBER17",f:R},24:{n:"NUMBER18",f:x},25:{n:"FORMULA19",f:N},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:D},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:""}};function V(e,r){ba(e,0);var t=r||{};if(b!=null&&t.dense==null)t.dense=b;var a={};if(t.dense)a["!data"]=[];var n=[],i="",s=[];var f={s:{r:-1,c:-1},e:{r:-1,c:-1}};var o=0,l=0,c=0,h=0;var u={SheetNames:[],Sheets:{}};e:while(e.l255||f.s.r>999999)break;if(f.e.cc)f.s.c=c;h=v._R(4);if(f.s.r>h)f.s.r=h;h=v._R(4);if(f.e.rh)f.s.r=h;if(f.e.r0&&o>=0){if(k&32)switch(k&31){case 2:w={t:"n",v:w.v+A&65535};break;case 3:w={t:"n",v:w.v+A&65535};if(w.v>32767)w.v-=65536;break;case 7:w={t:"s",v:n[l=l+A>>>0]};break;default:throw"Cannot apply delta for QPW cell type "+(k&31);}else switch(k&31){case 1:w={t:"z"};break;case 2:w={t:"n",v:v._R(2)};break;case 7:w={t:"s",v:n[l=v._R(4)-1]};break;default:throw"Cannot apply repeat for QPW cell type "+(k&31);}if(!(!t.sheetStubs&&w.t=="z")){if(a["!data"]!=null){if(!a["!data"][h])a["!data"][h]=[];a["!data"][h][c]=w}else a[g+Oa(h)]=w}++h;--o}}}break;default:break;}e.l+=p}return u}return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:r}}();function Mo(e){var r={},t=e.match(Kr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=qr(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 Uo=function(){var e=wt("t"),r=wt("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:tt(a[1])};var i=t.match(r);if(i)n.s=Mo(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 Bo=function jk(){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 Wo=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Ho=/<(?:\w+:)?r\b[^>]*>/;var zo=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Vo(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=tt(gt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=gt(e);if(t)a.h=ot(a.t)}else if(e.match(Ho)){a.r=gt(e);a.t=tt(gt((e.replace(zo,"").match(Wo)||[]).join("").replace(Kr,"")),true);if(t)a.h=Bo(Uo(a.r))}return a}var Go=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var $o=/<(?:\w+:)?(?:si|sstItem)>/g;var jo=/<\/(?:\w+:)?(?:si|sstItem)>/;function Xo(e,r){var t=[],a="";if(!e)return t;var n=e.match(Go);if(n){a=n[2].replace($o,"").split(jo);for(var i=0;i!=a.length;++i){var s=Vo(a[i].trim(),r);if(s!=null)t[t.length]=s}n=qr(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var Yo=/^\s|\s$|[\t\n\r]/;function Ko(e,r){if(!r.bookSST)return"";var t=[$r];t[t.length]=xt("sst",null,{xmlns:Ft[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 Zo(e){return[e._R(4),e._R(4)]}function Jo(e,r){var t=[];var a=false;Ta(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 qo(e,r){if(!r)r=ka(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var Qo=tn;function el(e){var r=Aa();Ea(r,159,qo(e));for(var t=0;t=4)e.l+=r-4;return t}function al(e){var r={};r.id=e._R(0,"lpp4");r.R=tl(e,4);r.U=tl(e,4);r.W=tl(e,4);return r}function nl(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 il(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(nl(e));return r}function sl(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function fl(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=tl(e,4);r.U=tl(e,4);r.W=tl(e,4);return r}function ol(e){var r=fl(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 ll(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 cl(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 hl(e){var r=tl(e);switch(r.Minor){case 2:return[r.Minor,ul(e,r)];case 3:return[r.Minor,dl(e,r)];case 4:return[r.Minor,pl(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function ul(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=ll(e,t);var n=cl(e,e.length-e.l);return{t:"Std",h:a,v:n}}function dl(){throw new Error("File is password-protected: ECMA-376 Extensible")}function pl(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(Kr,function n(e){var t=qr(e);switch(Qr(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=ll(e,n);r-=n;t.EncryptionVerifier=cl(e,r);return t}function ml(e){var r={};var t=r.EncryptionVersionInfo=tl(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 gl(e){var r=0,t;var a=rl(e);var n=a.length+1,i,s;var f,o,l;t=_(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 bl=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=rl(r);var a=i(t);var s=t.length;var f=_(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 wl=function(e,r,t,a,n){if(!n)n=r;if(!a)a=bl(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 kl=function(e){var r=0,t=bl(e);return function(e){var a=wl("",e,r,t);r=a[1];return a[0]}};function Tl(e,r,t,a){var n={key:ls(e),verificationBytes:ls(e)};if(t.password)n.verifier=gl(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=kl(t.password);return n}function Al(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=ml(e,r);else a.Data=vl(e,r);return a}function El(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)Al(e,r-2,a);else Tl(e,t.biff>=8?r:r-2,t,a);return a}function yl(e,r){switch(r.type){case"base64":return Cl(E(e),r);case"binary":return Cl(e,r);case"buffer":return Cl(y&&Buffer.isBuffer(e)?e.toString("binary"):I(e),r);case"array":return Cl(Er(e),r);}throw new Error("Unrecognized type "+r.type)}function Cl(e,r){var t=r||{};var a={};var n=t.dense;if(n)a["!data"]=[];var i=e.match(/\\trowd[\s\S]*?\\row\b/g);if(!i)throw new Error("RTF missing table");var s={s:{c:0,r:0},e:{c:0,r:i.length-1}};var f=[];i.forEach(function(e,r){if(n)f=a["!data"][r]=[];var i=/\\[\w\-]+\b/g;var o=0;var l;var c=-1;var h=[];while((l=i.exec(e))!=null){var u=e.slice(o,i.lastIndex-l[0].length);if(u.charCodeAt(0)==32)u=u.slice(1);if(u.length)h.push(u);switch(l[0]){case"\\cell":++c;if(h.length){var d={v:h.join(""),t:"s"};if(d.v=="TRUE"||d.v=="FALSE"){d.v=d.v=="TRUE";d.t="b"}else if(!isNaN(Sr(d.v))){d.t="n";if(t.cellText!==false)d.w=d.v;d.v=Sr(d.v)}if(n)f[c]=d;else a[Ua({r:r,c:c})]=d}h=[];break;case"\\par":h.push("\n");break;}o=i.lastIndex}if(c>s.e.c)s.e.c=c});a["!ref"]=Wa(s);return a}function Sl(e,r){var t=ja(yl(e,r),r);t.bookType="rtf";return t}function _l(e,r){var t=["{\\rtf1\\ansi"];if(!e["!ref"])return t[0]+"}";var a=Va(e["!ref"]),n;var i=e["!data"]!=null,s=[];for(var f=a.s.r;f<=a.e.r;++f){t.push("\\trowd\\trautofit1");for(var o=a.s.c;o<=a.e.c;++o)t.push("\\cellx"+(o+1));t.push("\\pard\\intbl");if(i)s=e["!data"][f]||[];for(o=a.s.c;o<=a.e.c;++o){var l=Ua({r:f,c:o});n=i?s[o]:e[l];if(!n||n.v==null&&(!n.f||n.F)){t.push(" \\cell");continue}t.push(" "+(n.w||($a(n),n.w)||"").replace(/[\r\n]/g,"\\par "));t.push("\\cell")}t.push("\\pard\\intbl\\row")}return t.join("")+"}"}function xl(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 Ol(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 Rl(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 Il(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 Nl(e,r){if(r===0)return e;var t=Rl(xl(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Ol(Il(t))}var Dl=6,Fl=15,Pl=1,Ll=Dl;function Ml(e){return Math.floor((e+Math.round(128/Ll)/256)*Ll)}function Ul(e){return Math.floor((e-5)/Ll*100+.5)/100}function Bl(e){return Math.round((e*Ll+5)/Ll*256)/256}function Wl(e){return Bl(Ul(Ml(e)))}function Hl(e){var r=Math.abs(e-Wl(e)),t=Ll;if(r>.005)for(Ll=Pl;Ll":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=ut(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=ut(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 Kl(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Kr)||[]).forEach(function(e){var t=qr(e);switch(Qr(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 Zl(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Kr)||[]).forEach(function(e){var f=qr(e);switch(Qr(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 Jl(e,r,t){r.NumberFmt=[];var a=fr(J);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}Qe(f,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function ql(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]=xt("numFmt",null,{numFmtId:a,formatCode:it(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=xt("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Ql=["numFmtId","fillId","fontId","borderId","xfId"];var ec=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function rc(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Kr)||[]).forEach(function(e){var i=qr(e),s=0;switch(Qr(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=ut(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 tc(e){var r=[];r[r.length]=xt("cellXfs",null);e.forEach(function(e){r[r.length]=xt("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=xt("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var ac=function Xk(){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))Jl(c,l,o);if(c=s.match(a))Zl(c,l,f,o);if(c=s.match(t))Kl(c,l,f,o);if(c=s.match(n))Yl(c,l,f,o);if(c=s.match(r))rc(c,l,o);return l}}();function nc(e,r){var t=[$r,xt("styleSheet",null,{xmlns:Ft[0],"xmlns:vt":Dt.vt})],a;if(e.SSF&&(a=ql(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=tc(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 ic(e,r){var t=e._R(2);var a=Ja(e,r-2);return[t,a]}function sc(e,r,t){if(!t)t=ka(6+4*r.length);t._W(2,e);qa(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 fc(e,r,t){var a={};a.sz=e._R(2)/20;var n=_n(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=Cn(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Ja(e,r-21);return a}function oc(e,r){if(!r)r=ka(25+4*32);r._W(2,e.sz*20);xn(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);Sn(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);qa(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var lc=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"]; -var cc;var hc=wa;function uc(e,r){if(!r)r=ka(4*3+8*7+16*1);if(!cc)cc=lr(lc);var t=cc[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){Sn({auto:1},r);Sn({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 dc(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 pc(e,r,t){if(!t)t=ka(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 vc(e,r){if(!r)r=ka(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var mc=wa;function gc(e,r){if(!r)r=ka(51);r._W(1,0);vc(null,r);vc(null,r);vc(null,r);vc(null,r);vc(null,r);return r.length>r.l?r.slice(0,r.l):r}function bc(e,r){if(!r)r=ka(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);dn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function wc(e,r,t){var a=ka(4+256*2*4);a._W(4,e);dn(r,a);dn(t,a);return a.length>a.l?a.slice(0,a.l):a}function kc(e,r,t){var a={};a.NumberFmt=[];for(var n in J)a.NumberFmt[n]=J[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;Ta(e,function f(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1];Qe(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=Nl(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 Tc(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;Ea(e,615,Za(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)Ea(e,44,sc(a,r[a]))});Ea(e,616)}function Ac(e){var r=1;if(r==0)return;Ea(e,611,Za(r));Ea(e,43,oc({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));Ea(e,612)}function Ec(e){var r=2;if(r==0)return;Ea(e,603,Za(r));Ea(e,45,uc({patternType:"none"}));Ea(e,45,uc({patternType:"gray125"}));Ea(e,604)}function yc(e){var r=1;if(r==0)return;Ea(e,613,Za(r));Ea(e,46,gc({}));Ea(e,614)}function Cc(e){var r=1;Ea(e,626,Za(r));Ea(e,47,pc({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));Ea(e,627)}function Sc(e,r){Ea(e,617,Za(r.length));r.forEach(function(r){Ea(e,47,pc(r,0))});Ea(e,618)}function _c(e){var r=1;Ea(e,619,Za(r));Ea(e,48,bc({xfId:0,builtinId:0,name:"Normal"}));Ea(e,620)}function xc(e){var r=0;Ea(e,505,Za(r));Ea(e,506)}function Oc(e){var r=0;Ea(e,508,wc(r,"TableStyleMedium9","PivotStyleMedium4"));Ea(e,509)}function Rc(){return}function Ic(e,r){var t=Aa();Ea(t,278);Tc(t,e.SSF);Ac(t,e);Ec(t,e);yc(t,e);Cc(t,e);Sc(t,r.cellXfs);_c(t,e);xc(t,e);Oc(t,e);Rc(t,e);Ea(t,279);return t.end()}var Nc=["","","","","","","","","","","",""];function Dc(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Kr)||[]).forEach(function(e){var n=qr(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[Nc.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 Fc(){}function Pc(){}var Lc=/]*)>[\s\S]*<\/a:clrScheme>/;var Mc=/]*)>[\s\S]*<\/a:fontScheme>/;var Uc=/]*)>[\s\S]*<\/a:fmtScheme>/;function Bc(e,r,t){r.themeElements={};var a;[["clrScheme",Lc,Dc],["fontScheme",Mc,Fc],["fmtScheme",Uc,Pc]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var Wc=/]*)>[\s\S]*<\/a:themeElements>/;function Hc(e,r){if(!e||e.length===0)e=zc();var t;var a={};if(!(t=e.match(Wc)))throw new Error("themeElements not found in theme");Bc(t[0],a,r);a.raw=e;return a}function zc(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[$r];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";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 Vc(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=Vr(i,{type:"array"})}catch(f){return}var o=Ur(s,"theme/theme/theme1.xml",true);if(!o)return;return Hc(o,t)}function Gc(e){return e._R(4)}function $c(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=jc(e,4);break;case 2:r.xclrValue=Os(e,4);break;case 3:r.xclrValue=Gc(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function jc(e,r){return wa(e,r)}function Xc(e,r){return wa(e,r)}function Yc(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]=$c(e,t);break;case 6:a[1]=Xc(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 Kc(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(Yc(e,t-e.l));return{ixfe:a,ext:i}}function Zc(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 Jc(e,r){return{flags:e._R(4),version:e._R(4),name:Ja(e,r-8)}}function qc(e){var r=ka(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);qa(e.name,r);return r.slice(0,r.l)}function Qc(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function eh(e){var r=ka(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;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function oh(e){var r=[];if(!e)return r;var t=1;(e.match(Kr)||[]).forEach(function(e){var a=qr(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}function ph(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[xt("xml",null,{"xmlns:v":Pt.v,"xmlns:o":Pt.o,"xmlns:x":Pt.x,"xmlns:mv":Pt.mv}).replace(/\/>/,">"),xt("o:shapelayout",xt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var i=65536*e;var s=r||[];if(s.length>0)n.push(xt("v:shapetype",[xt("v:stroke",null,{joinstyle:"miter"}),xt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:t.join(","),"o:spt":202,path:a}));s.forEach(function(e){++i;n.push(vh(e,i))});n.push("");return n.join("")}function vh(e,r){var t=Ma(e[0]);var a={color2:"#BEFF82",type:"gradient"};if(a.type=="gradient")a.angle="-180";var n=a.type=="gradient"?xt("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var i=xt("v:fill",n,a);var s={on:"t",obscured:"t"};return["",i,xt("v:shadow",null,s),xt("v:path",null,{"o:connecttype":"none"}),'
','',"","",St("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),St("x:AutoFill","False"),St("x:Row",String(t.r)),St("x:Column",String(t.c)),e[1].hidden?"":"","",""].join("")}function mh(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=Ma(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var f=Va(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=qr(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Ma(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]&&Vo(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 bh(e){var r=[$r,xt("comments",null,{xmlns:Ft[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=it(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=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(it(e.a));if(e.T)++i;n.push(e.t==null?"":it(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(St("t",a.t==null?"":it(a.t)));r.push("")})}else{r.push('');var s="Comment:\n "+n[0]+"\n";for(var f=1;f")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function wh(e,r){var t=[];var a=false,n={},i=0;e.replace(Kr,function s(f,o){var l=qr(f);switch(Qr(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 kh(e,r,t){var a=[$r,xt("ThreadedComments",null,{xmlns:Dt.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(xt("threadedComment",St("text",i.t||""),f))})});a.push("");return a.join("")}function Th(e,r){var t=[];var a=false;e.replace(Kr,function n(e){var n=qr(e);switch(Qr(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 Ah(e){var r=[$r,xt("personList",null,{xmlns:Dt.TCMNT,"xmlns:x":Ft[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(xt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function Eh(e){var r={};r.iauthor=e._R(4);var t=Tn(e,16);r.rfx=t.s;r.ref=Ua(t.s);e.l+=16;return r}function yh(e,r){if(r==null)r=ka(36);r._W(4,e[1].iauthor);An(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var Ch=Ja;function Sh(e){return qa(e.slice(0,54))}function _h(e,r){var t=[];var a=[];var n={};var i=false;Ta(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 xh(e){var r=Aa();var t=[];Ea(r,628);Ea(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));Ea(r,632,Sh(e.a))})});Ea(r,631);Ea(r,633);e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:Ma(e[0]),e:Ma(e[0])};Ea(r,635,yh([n,a]));if(a.t&&a.t.length>0)Ea(r,637,nn(a));Ea(r,636);delete a.iauthor})});Ea(r,634);Ea(r,629);return r.end()}var Oh="application/vnd.ms-office.vbaProject";function Rh(e){var r=rr.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*/,"");rr.utils.cfb_add(r,n,e.FileIndex[a].content)});return rr.write(r)}function Ih(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")rr.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Nh=["xlsb","xlsm","xlam","biff8","xla"];function Dh(){return{"!type":"dialog"}}function Fh(){return{"!type":"dialog"}}function Ph(){return{"!type":"macro"}}function Lh(){return{"!type":"macro"}}var Mh=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?"":"$")+Da(o)+(s?"":"$")+Oa(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var Uh=/(^|[^._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 Bh=function(){return function e(r,t){return r.replace(Uh,function(e,r,a,n,i,s){var f=Na(n)-(a?0:t.c);var o=xa(s)-(i?0:t.r);var l=i=="$"?o+1:o==0?"":"["+o+"]";var c=a=="$"?f+1:f==0?"":"["+f+"]";return r+"R"+l+"C"+c})}}();function Wh(e,r){return e.replace(Uh,function(e,t,a,n,i,s){return t+(a=="$"?a+n:Da(Na(n)+r.c))+(i=="$"?i+s:Oa(xa(s)+r.r))})}function Hh(e,r,t){var a=Ba(r),n=a.s,i=Ma(t);var s={r:i.r-n.r,c:i.c-n.c};return Wh(e,s)}function zh(e){if(e.length==1)return false;return true}function Vh(e){return e.replace(/_xlfn\./g,"")}function Gh(e){e.l+=1;return}function $h(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function jh(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Xh(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=$h(e,2);var f=$h(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 Xh(e){var r=$h(e,2),t=$h(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 Yh(e,r,t){if(t.biff<8)return Xh(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=$h(e,2);var s=$h(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 Kh(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Zh(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=$h(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Zh(e){var r=$h(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Jh(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 qh(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Qh(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 Qh(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 eu(e,r,t){var a=(e[e.l++]&96)>>5;var n=jh(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function ru(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=jh(e,i,t);return[a,n,s]}function tu(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 au(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 nu(e,r,t){var a=(e[e.l++]&96)>>5;var n=Yh(e,r-1,t);return[a,n]}function iu(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function su(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function fu(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 ou(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 lu(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 cu(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function hu(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function uu(e){var r=e._R(1),t=e._R(1);return[r,t]}function du(e){e._R(2);return uu(e,2)}function pu(e){e._R(2);return uu(e,2)}function vu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Kh(e,0,t);return[a,n]}function mu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=qh(e,0,t);return[a,n]}function gu(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=Kh(e,0,t);return[a,n,i]}function bu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[jd[n],$d[n],a]}function wu(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)]:ku(e);return[n,(i[0]===0?$d:Gd)[i[1]]]}function ku(e){return[e[e.l+1]>>7,e._R(2)&32767]}function Tu(e,r,t){e.l+=t&&t.biff==2?3:4;return}function Au(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 Eu(e){e.l++;return qn[e._R(1)]}function yu(e){e.l++;return e._R(2)}function Cu(e){e.l++;return e._R(1)!==0}function Su(e){e.l++;return En(e,8)}function _u(e,r,t){e.l++;return ps(e,r-1,t)}function xu(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]=fs(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=qn[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=En(e,8);break;case 2:t[1]=ws(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function Ou(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?Tn:Us)(e,8));return n}function Ru(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]=xu(e,t.biff);return s}function Iu(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 Nu(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 Fu(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 Lu(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 Mu(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 Uu=wa;var Bu=wa;var Wu=wa;function Hu(e,r,t){e.l+=2;return[Jh(e,4,t)]}function zu(e){e.l+=6;return[]}var Vu=Hu;var Gu=zu;var $u=zu;var ju=Hu;function Xu(e){e.l+=2;return[ls(e),e._R(2)&1]}var Yu=Hu;var Ku=Xu;var Zu=zu;var Ju=Hu;var qu=Hu;var Qu=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function ed(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=Qu[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function rd(e){e.l+=2;return[e._R(4)]}function td(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function ad(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function nd(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function id(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function sd(e){e.l+=4;return[0,0]}var fd={1:{n:"PtgExp",f:Au},2:{n:"PtgTbl",f:Wu},3:{n:"PtgAdd",f:Gh},4:{n:"PtgSub",f:Gh},5:{n:"PtgMul",f:Gh},6:{n:"PtgDiv",f:Gh},7:{n:"PtgPower",f:Gh},8:{n:"PtgConcat",f:Gh},9:{n:"PtgLt",f:Gh},10:{n:"PtgLe",f:Gh},11:{n:"PtgEq",f:Gh},12:{n:"PtgGe",f:Gh},13:{n:"PtgGt",f:Gh},14:{n:"PtgNe",f:Gh},15:{n:"PtgIsect",f:Gh},16:{n:"PtgUnion",f:Gh},17:{n:"PtgRange",f:Gh},18:{n:"PtgUplus",f:Gh},19:{n:"PtgUminus",f:Gh},20:{n:"PtgPercent",f:Gh},21:{n:"PtgParen",f:Gh},22:{n:"PtgMissArg",f:Gh},23:{n:"PtgStr",f:_u},26:{n:"PtgSheet",f:td},27:{n:"PtgEndSheet",f:ad},28:{n:"PtgErr",f:Eu},29:{n:"PtgBool",f:Cu},30:{n:"PtgInt",f:yu},31:{n:"PtgNum",f:Su},32:{n:"PtgArray",f:iu},33:{n:"PtgFunc",f:bu},34:{n:"PtgFuncVar",f:wu},35:{n:"PtgName",f:Iu},36:{n:"PtgRef",f:vu},37:{n:"PtgArea",f:eu},38:{n:"PtgMemArea",f:Fu},39:{n:"PtgMemErr",f:Uu},40:{n:"PtgMemNoMem",f:Bu},41:{n:"PtgMemFunc",f:Pu},42:{n:"PtgRefErr",f:Lu},43:{n:"PtgAreaErr",f:tu},44:{n:"PtgRefN",f:mu},45:{n:"PtgAreaN",f:nu},46:{n:"PtgMemAreaN",f:nd},47:{n:"PtgMemNoMemN",f:id},57:{n:"PtgNameX",f:Nu},58:{n:"PtgRef3d",f:gu},59:{n:"PtgArea3d",f:ru},60:{n:"PtgRefErr3d",f:Mu},61:{n:"PtgAreaErr3d",f:au},255:{}};var od={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 ld={1:{n:"PtgElfLel",f:Xu},2:{n:"PtgElfRw",f:Ju},3:{n:"PtgElfCol",f:Vu},6:{n:"PtgElfRwV",f:qu},7:{n:"PtgElfColV",f:ju},10:{n:"PtgElfRadical",f:Yu},11:{n:"PtgElfRadicalS",f:Zu},13:{n:"PtgElfColS",f:Gu},15:{n:"PtgElfColSV",f:$u},16:{n:"PtgElfRadicalLel",f:Ku},25:{n:"PtgList",f:ed},29:{n:"PtgSxName",f:rd},255:{}};var cd={0:{n:"PtgAttrNoop",f:sd},1:{n:"PtgAttrSemi",f:hu},2:{n:"PtgAttrIf",f:lu},4:{n:"PtgAttrChoose",f:fu},8:{n:"PtgAttrGoto",f:ou},16:{n:"PtgAttrSum",f:Tu},32:{n:"PtgAttrBaxcel",f:su},33:{n:"PtgAttrBaxcel",f:su},64:{n:"PtgAttrSpace",f:du},65:{n:"PtgAttrSpaceSemi",f:pu},128:{n:"PtgAttrIfError",f:cu},255:{}};function hd(e,r,t,a){if(a.biff<8)return wa(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]=Ru(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=Ou(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(wa(e,r));return i}function ud(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=fd[i]||fd[od[i]];if(i===24||i===25)n=(i===24?ld:cd)[e[e.l+1]];if(!n||!n.f){wa(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function dd(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function vd(e,r){var t=e.lastIndexOf("!"),a=r.lastIndexOf("!");if(t==-1&&a==-1)return e+":"+r;if(t>0&&a>0&&e.slice(0,t).toLowerCase()==r.slice(0,a).toLowerCase())return e+":"+r.slice(a+1);console.error("Cannot hydrate range",e,r);return e+":"+r}function md(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 gd(e,r,t){var a=md(e,r,t);return a=="#REF"?a:za(a,t)}function bd(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,p="";if(!e[0]||!e[0][0])return"";var v=-1,m="";for(var g=0,b=e[0].length;g=0){switch(e[0][v][1][0]){case 0:m=Cr(" ",e[0][v][1][1]);break;case 1:m=Cr("\r",e[0][v][1][1]);break;default:m="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][v][1][0]);}l=l+m;v=-1}f.push(l+pd[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(vd(l,o));break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=ya(w[1][1],s,n);f.push(Sa(c,i));break;case"PtgRefN":c=t?ya(w[1][1],t,n):w[1][1];f.push(Sa(c,i));break;case"PtgRef3d":h=w[1][1];c=ya(w[1][2],s,n);p=gd(a,h,n);var k=p;f.push(p+"!"+Sa(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=Ca(w[1][1],t?{s:t}:s,n);f.push(_a(d,n));break;case"PtgArea":d=Ca(w[1][1],s,n);f.push(_a(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];p=gd(a,h,n);f.push(p+"!"+_a(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var y=(a.names||[])[u-1]||(a[0]||[])[u];var C=y?y.Name:"SH33TJSNAME"+String(u);if(C&&C.slice(0,6)=="_xlfn."&&!n.xlfn)C=C.slice(6);f.push(C);break;case"PtgNameX":var S=w[1][1];u=w[1][2];var _;if(n.biff<=5){if(S<0)S=-S;if(a[S])_=a[S][u]}else{var x="";if(((a[S]||[])[0]||[])[0]==14849){}else if(((a[S]||[])[0]||[])[0]==1025){if(a[S][u]&&a[S][u].itab>0){x=a.SheetNames[a[S][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[S]&&a[S][u])x+=a[S][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(md(a,S,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(v>=0){m="";switch(e[0][v][1][0]){case 2:R=Cr(" ",e[0][v][1][1])+R;break;case 3:R=Cr("\r",e[0][v][1][1])+R;break;case 4:I=Cr(" ",e[0][v][1][1])+I;break;case 5:I=Cr("\r",e[0][v][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][v][1][0]);}v=-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[Ua(c)]){var D=a.sharedf[Ua(c)];f.push(bd(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(bd(l[1],s,N,a,n));F=true;break}if(!F)f.push(w[1])}break;case"PtgArray":f.push("{"+dd(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":v=g;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(v>=0&&P.indexOf(e[0][g][0])==-1){w=e[0][v];var L=true;switch(w[1][0]){case 4:L=false;case 0:m=Cr(" ",w[1][1]);break;case 5:L=false;case 1:m=Cr("\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));v=-1}}if(f.length>1&&n.WTF)throw new Error("bad formula stack");if(f[0]=="TRUE")return true;if(f[0]=="FALSE")return false;return f[0]}function wd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],wa(e,r-2)];var f=ud(e,s,t);if(r!==s+n)i=hd(e,r-s-n,f,t);e.l=a;return[f,i]}function kd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],wa(e,r-2)];var f=ud(e,s,t);if(r!==s+n)i=hd(e,r-s-n,f,t);e.l=a;return[f,i]}function Td(e,r,t,a){var n=e.l+r;var i=ud(e,a,t);var s;if(n!==e.l)s=hd(e,n-e.l,i,t);return[i,s]}function Ad(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=ud(e,i,t);if(i==65535)return[[],wa(e,r-2)];if(r!==i+2)n=hd(e,a-i-2,s,t);return[s,n]}function Ed(e){var r;if(fa(e,e.l+6)!==65535)return[En(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 yd(e){if(e==null){var r=ka(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 yn(e);return yn(0)}function Cd(e,r,t){var a=e.l+r;var n=Is(e,6);if(t.biff==2)++e.l;var i=Ed(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=kd(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function Sd(e,r,t,a,n){var i=Ns(r,t,n);var s=yd(e.v);var f=ka(6);var o=1|32;f._W(2,o);f._W(4,0);var l=ka(e.bf.length);for(var c=0;c0?hd(e,i,n,t):null;return[n,s]}var xd=_d;var Od=_d;var Rd=_d;var Id=_d;function Nd(e){if((e|0)==e&&e=0){var r=ka(11);r._W(4,3);r._W(1,30);r._W(2,e);r._W(4,0);return r}var t=ka(17);t._W(4,11);t._W(1,31);t._W(8,e);t._W(4,0);return t}function Dd(e){var r=ka(10);r._W(4,2);r._W(1,28);r._W(1,e);r._W(4,0);return r}function Fd(e){var r=ka(10);r._W(4,2);r._W(1,29);r._W(1,e?1:0);r._W(4,0);return r}function Pd(e){var r=ka(7);r._W(4,3+2*e.length);r._W(1,23);r._W(2,e.length);var t=ka(2*e.length);t._W(2*e.length,e,"utf16le");var a=ka(4);a._W(4,0);return F([r,t,a])}function Ld(e){var r=Ma(e);var t=ka(15);t._W(4,7);t._W(1,4|1<<5);t._W(4,r.r);t._W(2,r.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);t._W(4,0);return t}function Md(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);var n=Ma(e);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var i=ka(17);i._W(4,9);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.r);i._W(2,n.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);i._W(4,0);return i}function Ud(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=ka(17);n._W(4,9);n._W(1,28|1<<5);n._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));n._W(4,0);n._W(2,0);n._W(4,0);return n}function Bd(e){var r=e.split(":"),t=r[0];var a=ka(23);a._W(4,15);t=r[0];var n=Ma(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);t=r[1];n=Ma(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);a._W(1,17);a._W(4,0);return a}function Wd(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=e.split(":");s=n[0];var i=ka(27);i._W(4,19);var s=n[0],f=Ma(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);s=n[1];f=Ma(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);i._W(1,17);i._W(4,0);return i}function Hd(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=Ba(e);var i=ka(23);i._W(4,15);i._W(1,27|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.s.r);i._W(4,n.e.r);i._W(2,n.s.c);i._W(2,n.e.c);i._W(4,0);return i}function zd(e,r){if(typeof e=="number")return Nd(e);if(typeof e=="boolean")return Fd(e);if(/^#(DIV\/0!|GETTING_DATA|N\/A|NAME\?|NULL!|NUM!|REF!|VALUE!)$/.test(e))return Dd(+Qn[e]);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Ld(e);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Bd(e);if(e.match(/^#REF!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Hd(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Md(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Wd(e,r);if(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!#REF!$/.test(e))return Ud(e,r);if(/^".*"$/.test(e))return Pd(e);if(/^[+-]\d+$/.test(e))return Nd(parseInt(e,10));throw"Formula |"+e+"| not supported for XLSB"}var Vd=zd;var Gd={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 $d={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 jd={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 Xd(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(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function Yd(e){var r="of:="+e.replace(Uh,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function Kd(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});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 Zd(e){return e.replace(/!/,".")}var Jd={};var qd={};var Qd=typeof Map!=="undefined";function ep(e,r,t){var a=0,n=e.length;if(t){if(Qd?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Qd?t.get(r):t[r];for(;a-1){t.width=Bl(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 tp(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 ap(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){Qe(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 np(e,r,t,a,n,i){try{if(a.cellNF)e.z=J[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=Ar(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(J[r]==null)Qe(Ye[r]||"General",r);if(e.t==="e")e.w=e.w||qn[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=ce(e.v)}else if(e.t==="d"){var f=dr(e.v);if((f|0)===f)e.w=f.toString(10);else e.w=ce(f)}else if(e.v===undefined)return"";else e.w=he(e.v,qd)}else if(e.t==="d")e.w=Ve(r,dr(e.v),qd);else e.w=Ve(r,e.v,qd)}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=Nl(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=Nl(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 ip(e,r,t){if(e&&e["!ref"]){var a=Va(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Wa(t)}var fp=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var op=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var lp=/<(?:\w:)?hyperlink [^>]*>/gm;var cp=/"(\w*:\w*)"/;var hp=/<(?:\w:)?col\b[^>]*[\/]?>/g;var up=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var dp=/<(?:\w:)?pageMargins[^>]*\/>/g;var pp=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var vp=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var mp=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function gp(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(b!=null&&r.dense==null)r.dense=b;var f={};if(r.dense)f["!data"]=[];var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l="",c="";var h=e.match(op);if(h){l=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else l=c=e;var u=l.match(pp);if(u)wp(u[0],f,n,t);else if(u=l.match(vp))kp(u[0],u[1]||"",f,n,t,s,i);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(cp);if(p&&!(r&&r.nodim))sp(f,p[1])}var v=l.match(mp);if(v&&v[1])Dp(v[1],n);var m=[];if(r.cellStyles){var g=l.match(hp);if(g)xp(m,g)}if(h)Lp(h[1],f,r,o,i,s);var w=c.match(up);if(w)f["!autofilter"]=Rp(w[0]);var k=[];var T=c.match(fp);if(T)for(d=0;d!=T.length;++d)k[d]=Va(T[d].slice(T[d].indexOf('"')+1));var A=c.match(lp);if(A)Cp(f,A,a);var E=c.match(dp);if(E)f["!margins"]=Sp(qr(E[0]));if(r&&r.nodim)o.s.c=o.s.r=0;if(!f["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)f["!ref"]=Wa(o);if(r.sheetRows>0&&f["!ref"]){var y=Va(f["!ref"]);if(r.sheetRows<=+y.e.r){y.e.r=r.sheetRows-1;if(y.e.r>o.e.r)y.e.r=o.e.r;if(y.e.ro.e.c)y.e.c=o.e.c;if(y.e.c0)f["!cols"]=m;if(k.length>0)f["!merges"]=k;return f}function bp(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function wp(e,r,t,a){var n=qr(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=tt(gt(n.codeName))}function kp(e,r,t,a,n){wp(e.slice(0,e.indexOf(">")),t,a,n)}function Tp(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=bt(it(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||"")+xt("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=xt("sheetPr",f,s)}var Ap=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Ep=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function yp(e){var r={sheet:1};Ap.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Ep.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=gl(e.password).toString(16).toUpperCase();return xt("sheetProtection",null,r)}function Cp(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=qr(gt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+tt(i.location)}else{i.Target="#"+tt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Va(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=Da(l)+Oa(o);if(a){if(!e["!data"][o])e["!data"][o]=[];if(!e["!data"][o][l])e["!data"][o][l]={t:"z",v:undefined};e["!data"][o][l].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Sp(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function _p(e){tp(e);return xt("pageMargins",null,e)}function xp(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=qr(r[a],true);if(n.hidden)n.hidden=ut(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;Hl(n.width)}zl(n);while(i<=s)e[i++]=yr(n)}}function Op(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=xt("col",null,rp(n,a))}t[t.length]="";return t.join("")}function Rp(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function Ip(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Wa(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=Ba(n);if(s.s.r==s.e.r){s.e.r=Ba(r["!ref"]).e.r;n=Wa(s)}for(var f=0;fa-z][^>]*)?\/?>/g;function Dp(e,r){if(!r.Views)r.Views=[{}];(e.match(Np)||[]).forEach(function(e,t){var a=qr(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&ut(a.rightToLeft))r.Views[t].RTL=true})}function Fp(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return xt("sheetViews",xt("sheetView",null,n),{})}function Pp(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")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=qn[e.v];break;case"d":if(a&&a.cellDates)n=Ar(e.v,-1).toISOString();else{e=yr(e);e.t="n";n=""+(e.v=dr(Ar(e.v)))}if(typeof e.z==="undefined")e.z=J[14];break;default:n=e.v;break;}var f=e.t=="z"||e.v==null?"":St("v",it(n)),o={r:r};var l=ap(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=St("v",""+ep(a.Strings,e.v,a.revStrings));o.t="s";break}else 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=xt("f",it(e.f),c)+(e.v!=null?f:"")}if(e.l){e.l.display=it(n);t["!links"].push([r,e.l])}if(e.D)o.cm=1;return xt("c",f,o)}var Lp=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=wt("v"),s=wt("f");return function f(o,l,c,h,u,d){var p=0,v="",m=[],g=[],b=0,w=0,k=0,T="",A;var E,y=0,C=0;var S,_;var x=0,O=0;var R=Array.isArray(d.CellXf),I;var N=[];var D=[];var F=l["!data"]!=null;var P=[],L={},M=false;var U=!!c.sheetStubs;for(var B=o.split(r),W=0,H=B.length;W!=H;++W){v=B[W].trim();var z=v.length;if(z===0)continue;var V=0;e:for(p=0;p":if(v[p-1]!="/"){++p;break e}if(c&&c.cellStyles){E=qr(v.slice(V,p),true);y=E.r!=null?parseInt(E.r,10):y+1;C=-1;if(c.sheetRows&&c.sheetRows=p)break;E=qr(v.slice(V,p),true);y=E.r!=null?parseInt(E.r,10):y+1;C=-1;if(c.sheetRows&&c.sheetRowsy-1)h.s.r=y-1;if(h.e.r":"")+v;if(g!=null&&g.length===2){b=0;T=g[1];for(w=0;w!=T.length;++w){if((k=T.charCodeAt(w)-64)<1||k>26)break;b=26*b+k}--b;C=b}else++C;for(w=0;w!=v.length;++w)if(v.charCodeAt(w)===62)break;++w;E=qr(v.slice(0,w),true);if(!E.r)E.r=Ua({r:y-1,c:C});T=v.slice(w);A={t:""};if((g=T.match(i))!=null&&g[1]!=="")A.v=tt(g[1]);if(c.cellFormula){if((g=T.match(s))!=null&&g[1]!==""){A.f=tt(gt(g[1]),true);if(!c.xlfn)A.f=Vh(A.f);if(g[0].indexOf('t="array"')>-1){A.F=(T.match(n)||[])[1];if(A.F.indexOf(":")>-1)N.push([Va(A.F),A.F])}else if(g[0].indexOf('t="shared"')>-1){_=qr(g[0]);var $=tt(gt(g[1]));if(!c.xlfn)$=Vh($);D[parseInt(_.si,10)]=[_,$,E.r]}}else if(g=T.match(/]*\/>/)){_=qr(g[0]);if(D[_.si])A.f=Hh(D[_.si][1],D[_.si][2],E.r)}var j=Ma(E.r);for(w=0;w=N[w][0].s.r&&j.r<=N[w][0].e.r)if(j.c>=N[w][0].s.c&&j.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(!U)continue;else A.t="z"}else A.t=E.t||"n";if(h.s.c>C)h.s.c=C;if(h.e.cY.r)h.s.r=Y.r;if(h.e.r0)l["!rows"]=P}}();function Mp(e,r,t,a){var n=[],i=[],s=Va(e["!ref"]),f="",o,l="",c=[],h=0,u=0,d=e["!rows"];var p=e["!data"]!=null;var v={r:l},m,g=-1;for(u=s.s.c;u<=s.e.c;++u)c[u]=Da(u);for(h=s.s.r;h<=s.e.r;++h){i=[];l=Oa(h);for(u=s.s.c;u<=s.e.c;++u){o=c[u]+l;var b=p?(e["!data"][h]||[])[u]:e[o];if(b===undefined)continue;if((f=Pp(b,o,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[h]){v={r:l};if(d&&d[h]){m=d[h];if(m.hidden)v.hidden=1;g=-1;if(m.hpx)g=$l(m.hpx);else if(m.hpt)g=m.hpt;if(g>-1){v.ht=g;v.customHeight=1}if(m.level){v.outlineLevel=m.level}}n[n.length]=xt("row",i.join(""),v)}}if(d)for(;h-1){v.ht=g;v.customHeight=1}if(m.level){v.outlineLevel=m.level}n[n.length]=xt("row","",v)}}return n.join("")}function Up(e,r,t,a){var n=[$r,xt("worksheet",null,{xmlns:Ft[0],"xmlns:r":Dt.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=Va(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=Wa(c)}if(!a)a={};o["!comments"]=[];var h=[];Tp(o,t,e,r,n);n[n.length]=xt("dimension",null,{ref:l});n[n.length]=Fp(o,r,e,t);if(r.sheetFormat)n[n.length]=xt("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]=Op(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){f=Mp(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]=yp(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=Ip(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=bp(o["!merges"]);var u=-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=ci(a,-1,it(e[1].Target).replace(/#.*$/,""),si.HLINK);d["r:id"]="rId"+p}if((u=e[1].Target.indexOf("#"))>-1)d.location=it(e[1].Target.slice(u+1));if(e[1].Tooltip)d.tooltip=it(e[1].Tooltip);d.display=e[1].display;n[n.length]=xt("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=_p(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=St("ignoredErrors",xt("ignoredError",null,{numberStoredAsText:1,sqref:l}));if(h.length>0){p=ci(a,-1,"../drawings/drawing"+(e+1)+".xml",si.DRAW);n[n.length]=xt("drawing",null,{"r:id":"rId"+p});o["!drawing"]=h}if(o["!comments"].length>0){p=ci(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",si.VML);n[n.length]=xt("legacyDrawing",null,{"r:id":"rId"+p});o["!legacy"]=p}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Bp(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 Wp(e,r,t){var a=ka(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=$l(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};var c=t["!data"]!=null;for(var h=0;h<16;++h){if(r.s.c>h+1<<10||r.e.ca.l?a.slice(0,a.l):a}function Hp(e,r,t,a){var n=Wp(a,t,r);if(n.length>17||(r["!rows"]||[])[a])Ea(e,0,n)}var zp=Tn;var Vp=An;function Gp(){}function $p(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=cn(e,r-19);return t}function jp(e,r,t){if(t==null)t=ka(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);Sn({auto:1},t);t._W(-4,-1);t._W(-4,-1);hn(e,t);return t.slice(0,t.l)}function Xp(e){var r=sn(e);return[r]}function Yp(e,r,t){if(t==null)t=ka(8);return fn(r,t)}function Kp(e){var r=on(e);return[r]}function Zp(e,r,t){if(t==null)t=ka(4);return ln(r,t)}function Jp(e){var r=sn(e);var t=e._R(1);return[r,t,"b"]}function qp(e,r,t){if(t==null)t=ka(9);fn(r,t);t._W(1,e.v?1:0);return t}function Qp(e){var r=on(e);var t=e._R(1);return[r,t,"b"]}function ev(e,r,t){if(t==null)t=ka(5);ln(r,t);t._W(1,e.v?1:0);return t}function rv(e){var r=sn(e);var t=e._R(1);return[r,t,"e"]}function tv(e,r,t){if(t==null)t=ka(9);fn(r,t);t._W(1,e.v);return t}function av(e){var r=on(e);var t=e._R(1);return[r,t,"e"]}function nv(e,r,t){if(t==null)t=ka(8);ln(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function iv(e){var r=sn(e);var t=e._R(4);return[r,t,"s"]}function sv(e,r,t){if(t==null)t=ka(12);fn(r,t);t._W(4,r.v);return t}function fv(e){var r=on(e);var t=e._R(4);return[r,t,"s"]}function ov(e,r,t){if(t==null)t=ka(8);ln(r,t);t._W(4,r.v);return t}function lv(e){var r=sn(e);var t=En(e);return[r,t,"n"]}function cv(e,r,t){if(t==null)t=ka(16);fn(r,t);yn(e.v,t);return t}function hv(e){var r=on(e);var t=En(e);return[r,t,"n"]}function uv(e,r,t){if(t==null)t=ka(12);ln(r,t);yn(e.v,t);return t}function dv(e){var r=sn(e);var t=gn(e);return[r,t,"n"]}function pv(e,r,t){if(t==null)t=ka(12);fn(r,t);bn(e.v,t);return t}function vv(e){var r=on(e);var t=gn(e);return[r,t,"n"]}function mv(e,r,t){if(t==null)t=ka(8);ln(r,t);bn(e.v,t);return t}function gv(e){var r=sn(e);var t=rn(e);return[r,t,"is"]}function bv(e){var r=sn(e);var t=Ja(e);return[r,t,"str"]}function wv(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=ka(12+4*e.v.length);fn(r,t);qa(a,t);return t.length>t.l?t.slice(0,t.l):t}function kv(e){var r=on(e);var t=Ja(e);return[r,t,"str"]}function Tv(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=ka(8+4*a.length);ln(r,t);qa(a,t);return t.length>t.l?t.slice(0,t.l):t}function Av(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=bd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Ev(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=bd(f,null,n,t.supbooks,t)}else e.l=a;return s}function yv(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=En(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=bd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Cv(e,r,t){var a=e.l+r;var n=sn(e);n.r=t["!row"];var i=Ja(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=Od(e,a-e.l,t);s[3]=bd(f,null,n,t.supbooks,t)}else e.l=a;return s}var Sv=Tn;var _v=An;function xv(e,r){if(r==null)r=ka(4);r._W(4,e);return r}function Ov(e,r){var t=e.l+r;var a=Tn(e,16);var n=un(e);var i=Ja(e);var s=Ja(e);var f=Ja(e);e.l=t;var o={rfx:a,relId:n,loc:i,display:f};if(s)o.Tooltip=s;return o}function Rv(e,r){var t=ka(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));An({s:Ma(e[0]),e:Ma(e[0])},t);mn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);qa(n||"",t);qa(e[1].Tooltip||"",t);qa("",t);return t.slice(0,t.l)}function Iv(){}function Nv(e,r,t){var a=e.l+r;var n=wn(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=xd(e,a-e.l,t);s[1]=f}else e.l=a;return s}function Dv(e,r,t){var a=e.l+r;var n=Tn(e,16);var i=[n];if(t.cellFormula){var s=Id(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function Fv(e,r,t){if(t==null)t=ka(18);var a=rp(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 Pv=["left","right","top","bottom","header","footer"];function Lv(e){var r={};Pv.forEach(function(t){r[t]=En(e,8)});return r}function Mv(e,r){if(r==null)r=ka(6*8);tp(e);Pv.forEach(function(t){yn(e[t],r)});return r}function Uv(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function Bv(e,r,t){if(t==null)t=ka(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 Wv(e){var r=ka(24);r._W(4,4);r._W(4,1);An(e,r);return r}function Hv(e,r){if(r==null)r=ka(16*4+2);r._W(2,e.password?gl(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 zv(){}function Vv(){}function Gv(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(b!=null&&f.dense==null)f.dense=b;var o={};if(f.dense)o["!data"]=[];var l;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var p,v,m,g,w,k,T,A,E;var y=[];f.biff=12;f["!row"]=0;var C=0,S=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&&p.r<=R[0].e.r)if(w>=R[0].s.c&&w<=R[0].e.c){v.F=Wa(R[0]);S=true}}if(!S&&e.length>3)v.f=e[3]}if(c.s.r>p.r)c.s.r=p.r;if(c.s.c>w)c.s.c=w;if(c.e.rp.r)c.s.r=p.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;Hl(e.w/256)}zl(I[e.e+1])}break;case 161:o["!autofilter"]={ref:Wa(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(b);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"+b.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"]=Wa(l||c);if(f.sheetRows&&o["!ref"]){var L=Va(o["!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)o["!merges"]=y;if(I.length>0)o["!cols"]=I;if(N.length>0)o["!rows"]=N;return o}function $v(e,r,t,a,n,i,s){var f={r:t,c:a};if(r.c)i["!comments"].push([Ua(f),r.c]);if(r.v===undefined)return false; -var o="";switch(r.t){case"b":o=r.v?"1":"0";break;case"d":r=yr(r);r.z=r.z||J[14];r.v=dr(Ar(r.v));r.t="n";break;case"n":;case"e":o=""+r.v;break;default:o=r.v;break;}f.s=ap(n.cellXfs,r,n);if(r.l)i["!links"].push([Ua(f),r.l]);switch(r.t){case"s":;case"str":if(n.bookSST){o=ep(n.Strings,r.v==null?"":String(r.v),n.revStrings);f.t="s";f.v=o;if(s)Ea(e,18,ov(r,f));else Ea(e,7,sv(r,f))}else{f.t="str";if(s)Ea(e,17,Tv(r,f));else Ea(e,6,wv(r,f))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)Ea(e,13,mv(r,f));else Ea(e,2,pv(r,f))}else{if(s)Ea(e,16,uv(r,f));else Ea(e,5,cv(r,f))}return true;case"b":f.t="b";if(s)Ea(e,15,ev(r,f));else Ea(e,4,qp(r,f));return true;case"e":f.t="e";if(s)Ea(e,14,nv(r,f));else Ea(e,3,tv(r,f));return true;}if(s)Ea(e,12,Zp(r,f));else Ea(e,1,Yp(r,f));return true}function jv(e,r,t,a){var n=Va(r["!ref"]||"A1"),i,s="",f=[];Ea(e,145);var o=r["!data"]!=null;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=Oa(c);Hp(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]=Da(u);i=f[u]+s;var d=o?(r["!data"][c]||[])[u]:r[i];if(!d){h=false;continue}h=$v(e,d,c,u,a,r,h)}}Ea(e,146)}function Xv(e,r){if(!r||!r["!merges"])return;Ea(e,177,xv(r["!merges"].length));r["!merges"].forEach(function(r){Ea(e,176,_v(r))});Ea(e,178)}function Yv(e,r){if(!r||!r["!cols"])return;Ea(e,390);r["!cols"].forEach(function(r,t){if(r)Ea(e,60,Fv(t,r))});Ea(e,391)}function Kv(e,r){if(!r||!r["!ref"])return;Ea(e,648);Ea(e,649,Wv(Va(r["!ref"])));Ea(e,650)}function Zv(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ci(t,-1,r[1].Target.replace(/#.*$/,""),si.HLINK);Ea(e,494,Rv(r,a))});delete r["!links"]}function Jv(e,r,t,a){if(r["!comments"].length>0){var n=ci(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",si.VML);Ea(e,551,mn("rId"+n));r["!legacy"]=n}}function qv(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Wa(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=Ba(i);if(f.s.r==f.e.r){f.e.r=Ba(r["!ref"]).e.r;i=Wa(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"]=[];Ea(n,129);if(t.vbaraw||s["!outline"])Ea(n,147,jp(f,s["!outline"]));Ea(n,148,Vp(l));Qv(n,s,t.Workbook);em(n,s);Yv(n,s,e,r,t);jv(n,s,e,r,t);rm(n,s);qv(n,s,t,e);Xv(n,s);Zv(n,s,a);if(s["!margins"])Ea(n,476,Mv(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)Kv(n,s);Jv(n,s,e,a);Ea(n,130);return n.end()}function am(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=tt((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 nm(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=am(e);c.s.r=c.s.c=0;c.e.c=f;l=Da(f);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][f]={t:"n",v:e,z:r[1]}}else s[l+Oa(t)]={t:"n",v:e,z:r[1]};o=t});if(c.e.r0)s["!ref"]=Wa(c);return s}function im(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(pp);if(f)wp(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 sm(e,r){e.l+=10;var t=Ja(e,r-10);return{name:t}}function fm(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;Ta(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}var om=[["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 lm=[["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 cm=[];var hm=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function um(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]]=ut(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function dm(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]]=ut(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function pm(e){dm(e.WBProps,om);dm(e.CalcPr,hm);um(e.WBView,lm);um(e.Sheets,cm);qd.date1904=ut(e.WBProps.date1904)}function vm(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return ut(e.Workbook.WBProps.date1904)?"true":"false"}var mm=":][*?/\\".split("");function gm(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");mm.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function bm(e,r,t){e.forEach(function(a,n){gm(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function wm(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||[];bm(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":om.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=ut(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=gt(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=tt(gt(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){om.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]=xt("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:it(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]=xt("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]=xt("definedName",it(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Em(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=vn(e,r-8);t.name=Ja(e);return t}function ym(e,r){if(!r)r=ka(127);r._W(4,e.Hidden);r._W(4,e.iTabID);mn(e.strRelID,r);qa(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function Cm(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Ja(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 Sm(e,r){if(!r)r=ka(72);var t=0;if(e){if(e.date1904)t|=1;if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);hn(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function _m(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function xm(e,r,t){var a=e.l+r;var n=e._R(4);e.l+=1;var i=e._R(4);var s=pn(e);var f=Rd(e,0,t);var o=un(e);if(n&32)s="_xlnm."+s;e.l=a;var l={Name:s,Ptg:f,Flags:n};if(i<268435455)l.Sheet=i;if(o)l.Comment=o;return l}function Om(e,r){var t=ka(9);var a=0;var n=e.Name;if(ei.indexOf(n)>-1){a|=32;n=n.slice(6)}t._W(4,a);t._W(1,0);t._W(4,e.Sheet==null?4294967295:e.Sheet);var i=[t,qa(n),Vd(e.Ref,r)];if(e.Comment)i.push(dn(e.Comment));else{var s=ka(4);s._W(4,4294967295);i.push(s)}return F(i)}function Rm(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:_m};Ta(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=bd(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);pm(t);t.Names=i;t.supbooks=s;return t}function Im(e,r){Ea(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]};Ea(e,156,ym(n))}Ea(e,144)}function Nm(r,t){if(!t)t=ka(127);for(var a=0;a!=4;++a)t._W(4,0);qa("SheetJS",t);qa(e.version,t);qa(e.version,t);qa("7262",t);return t.length>t.l?t.slice(0,t.l):t}function Dm(e,r){if(!r)r=ka(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 Fm(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;Ea(e,135);Ea(e,158,Dm(n));Ea(e,136)}function Pm(e,r){if(!r.Workbook||!r.Workbook.Names)return;r.Workbook.Names.forEach(function(t){try{if(t.Flags&14)return;Ea(e,39,Om(t,r))}catch(a){console.error("Could not serialize defined name "+JSON.stringify(t))}})}function Lm(e){var r=e.SheetNames.length;var t=ka(12*r+28);t._W(4,r+2);t._W(4,0);t._W(4,-2);t._W(4,-2);t._W(4,0);t._W(4,-1);t._W(4,-1);for(var a=0;a-1?tt(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(Ar(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=tt(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=Qn[e];if(l.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=ct(r||e)}break;}ag(a,c,l);if(l.cellFormula!==false){if(a.Formula){var v=tt(a.Formula);if(v.charCodeAt(0)==61)v=v.slice(1);a.f=Mh(v,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=Mh("RC:RC",n);else if(a.ArrayRange){a.F=Mh(a.ArrayRange,n);o.push([Va(a.F),a.F])}}else{for(p=0;p=o[p][0].s.r&&n.r<=o[p][0].e.r)if(n.c>=o[p][0].s.c&&n.c<=o[p][0].e.c)a.F=o[p][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 sg(e){return ei.indexOf("_xlnm."+e)>-1?"_xlnm."+e:e}function fg(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 og(e,r){var t=r||{};je();var n=p(It(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=gt(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=yr(t);f.type="string";return Fo.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return ib(n,t);eg={"General Number":"General","General Date":J[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":J[15],"Short Date":J[14],"Long Time":J[19],"Medium Time":J[18],"Short Time":J[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:J[2],Standard:J[4],Percent:J[10],Scientific:J[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var o;var l=[],h;if(b!=null&&t.dense==null)t.dense=b;var u={},d=[],v={},m="";if(t.dense)v["!data"]=[];var g={},w={};var k=qm(''),T=0;var A=0,E=0;var y={s:{r:2e6,c:2e6},e:{r:0,c:0}};var C={},S={};var _="",x=0;var O=[];var R={},I={},N=0,D=[];var F=[],P={};var L=[],M,U=false;var B=[];var W=[],H={},z=0,V=0;var G={Sheets:[],WBProps:{date1904:false}},$={};Nt.lastIndex=0;n=n.replace(//gm,"");var j="";while(o=Nt.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]==="/")ig(n.slice(T,o.index),_,k,l[l.length-1][0]=="comment"?P:g,{c:A,r:E},C,L[A],w,B,t);else{_="";k=qm(o[0]);T=o.index+o[0].length}break;case"cell":if(o[1]==="/"){if(F.length>0)g.c=F;if((!t.sheetRows||t.sheetRows>E)&&g.v!==void 0){if(t.dense){if(!v["!data"][E])v["!data"][E]=[];v["!data"][E][A]=g}else v[Da(A)+Oa(E)]=g}if(g.HRef){g.l={Target:tt(g.HRef)};if(g.HRefScreenTip)g.l.Tooltip=g.HRefScreenTip;delete g.HRef;delete g.HRefScreenTip}if(g.MergeAcross||g.MergeDown){z=A+(parseInt(g.MergeAcross,10)|0);V=E+(parseInt(g.MergeDown,10)|0);if(z>A||V>E)O.push({s:{c:A,r:E},e:{c:z,r:V}})}if(!t.sheetStubs){if(g.MergeAcross)A=z+1;else++A}else if(g.MergeAcross||g.MergeDown){for(var X=A;X<=z;++X){for(var Y=E;Y<=V;++Y){if(X>A||Y>E){if(t.dense){if(!v["!data"][Y])v["!data"][Y]=[];v["!data"][Y][X]={t:"z"}}else v[Da(X)+Oa(Y)]={t:"z"}}}}A=z+1}else++A}else{g=Qm(o[0]);if(g.Index)A=+g.Index-1;if(Ay.e.c)y.e.c=A;if(o[0].slice(-2)==="/>")++A;F=[]}break;case"row":if(o[1]==="/"||o[0].slice(-2)==="/>"){if(Ey.e.r)y.e.r=E;if(o[0].slice(-2)==="/>"){w=qm(o[0]);if(w.Index)E=+w.Index-1}A=0;++E}else{w=qm(o[0]);if(w.Index)E=+w.Index-1;H={};if(w.AutoFitHeight=="0"||w.Height){H.hpx=parseInt(w.Height,10);H.hpt=$l(H.hpx);W[E]=H}if(w.Hidden=="1"){H.hidden=true;W[E]=H}}break;case"worksheet":if(o[1]==="/"){if((h=l.pop())[0]!==o[3])throw new Error("Bad state: "+h.join("|"));d.push(m);if(y.s.r<=y.e.r&&y.s.c<=y.e.c){v["!ref"]=Wa(y);if(t.sheetRows&&t.sheetRows<=y.e.r){v["!fullref"]=v["!ref"];y.e.r=t.sheetRows-1;v["!ref"]=Wa(y)}}if(O.length)v["!merges"]=O;if(L.length>0)v["!cols"]=L;if(W.length>0)v["!rows"]=W;u[m]=v}else{y={s:{r:2e6,c:2e6},e:{r:0,c:0}};E=A=0;l.push([o[3],false]);h=qm(o[0]);m=tt(h.Name);v={};if(t.dense)v["!data"]=[];O=[];B=[];W=[];$={name:m,Hidden:0};G.Sheets.push($)}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]);L=[];U=false}break;case"style":if(o[1]==="/")ng(C,S,t);else S=qm(o[0]);break;case"numberformat":S.nf=tt(qm(o[0]).Format||"General");if(eg[S.nf])S.nf=eg[S.nf];for(var K=0;K!=392;++K)if(J[K]==S.nf)break;if(K==392)for(K=57;K!=392;++K)if(J[K]==null){Qe(S.nf,K);break}break;case"column":if(l[l.length-1][0]!=="table")break;if(o[1]==="/")break;M=qm(o[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;Ll=Dl;for(var Z=0;Z0)ee.Sheet=G.Sheets.length-1;G.Names.push(ee);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;S.Interior=qm(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]==="/")Di(R,j,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("|"));fg(P);F.push(P)}else{l.push([o[3],false]);h=qm(o[0]);P={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 re=qm(o[0]);v["!autofilter"]={ref:Mh(re.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 gb(n,t);if(l.length==0&&o[3]=="uof")return gb(n,t);var te=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:te=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:te=false;}break;case"excelworkbook":switch(o[3]){case"date1904":G.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:te=false;}break;case"workbookoptions":switch(o[3]){case"owcversion":break;case"height":break;case"width":break;default:te=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":$.Hidden=1;break;case"SheetVeryHidden":$.Hidden=2;break;}else N=o.index+o[0].length;break;case"header":if(!v["!margins"])tp(v["!margins"]={},"xlml");if(!isNaN(+qr(o[0]).Margin))v["!margins"].header=+qr(o[0]).Margin;break;case"footer":if(!v["!margins"])tp(v["!margins"]={},"xlml");if(!isNaN(+qr(o[0]).Margin))v["!margins"].footer=+qr(o[0]).Margin;break;case"pagemargins":var ae=qr(o[0]);if(!v["!margins"])tp(v["!margins"]={},"xlml");if(!isNaN(+ae.Top))v["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))v["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))v["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))v["!margins"].bottom=+ae.Bottom;break;case"displayrighttoleft":if(!G.Views)G.Views=[];if(!G.Views[0])G.Views[0]={};G.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:te=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:te=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:te=false;}break;case"autofilter":switch(o[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=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:te=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:te=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:te=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:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)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]==="/")tg(I,j,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 ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=u;ne.SheetNames=d;ne.Workbook=G;ne.SSF=yr(J);ne.Props=R;ne.Custprops=I;ne.bookType="xlml";return ne}function lg(e,r){Aw(r=r||{});switch(r.type||"base64"){case"base64":return og(E(e),r);case"binary":;case"buffer":;case"file":return og(e,r);case"array":return og(I(e),r);}}function cg(e,r){var t=[];if(e.Props)t.push(Fi(e.Props,r));if(e.Custprops)t.push(Pi(e.Props,e.Custprops,r));return t.join("")}function hg(e){if((((e||{}).Workbook||{}).WBProps||{}).date1904)return'';return""}function ug(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(xt("NumberFormat",null,{"ss:Format":it(J[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(xt("Style",a.join(""),n))});return xt("Styles",t.join(""))}function dg(e){return xt("NamedRange",null,{"ss:Name":e.Name.slice(0,6)=="_xlnm."?e.Name.slice(6):e.Name,"ss:RefersTo":"="+Bh(e.Ref,{r:0,c:0})})}function pg(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(xt("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(xt("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(xt("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(xt("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(St("ProtectContents","True"));if(e["!protect"].objects)n.push(St("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(St("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(St("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(St("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 xt("WorksheetOptions",n.join(""),{xmlns:Pt.x})}function gg(e){return e.map(function(e){var r=ht(e.t||"");var t=xt("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return xt("Comment",t,{"ss:Author":e.a})}).join("")}function bg(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+it(Bh(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=Ma(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"]=it(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=it(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=qn[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||J[14];break;case"s":h="String";u=lt(e.v||"");break;}var d=ap(a.cellXfs,e,a);f["ss:StyleID"]="s"+(21+d);f["ss:Index"]=s.c+1;var p=e.v!=null?u:"";var v=e.t=="z"?"":''+p+"";if((e.c||[]).length>0)v+=gg(e.c);return xt("Cell",v,f)}function wg(e,r){var t='"}function kg(e,r,t,a){if(!e["!ref"])return"";var n=Va(e["!ref"]);var i=e["!merges"]||[],s=0;var f=[];if(e["!cols"])e["!cols"].forEach(function(e,r){zl(e);var t=!!e.width;var a=rp(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Ml(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(xt("Column",null,n))});var o=e["!data"]!=null;for(var l=n.s.r;l<=n.e.r;++l){var c=[wg(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 Tg(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?vg(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?kg(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(mg(i,r,e,t));if(i["!autofilter"])a.push('');return a.join("")}function Ag(e,r){if(!r)r={};if(!e.SSF)e.SSF=yr(J);if(e.SSF){je();$e(e.SSF);r.revssf=cr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];ap(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(cg(e,r));t.push(hg(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=In(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var yg=[60,1084,2066,2165,2175];function Cg(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=fa(t,t.l),l=Pg[o];var c=0;while(l!=null&&yg.indexOf(o)>-1){i=fa(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=Pg[o=fa(t,t.l)]}var h=F(s);ba(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=Ua(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: "+K+"!="+j);if(Y.r==12){e.l+=10;X-=10}}var Z={};if(j===10)Z=Y.f(e,X,R);else Z=Cg(j,Y,e,X,R);if(B==0&&[9,521,1033,2057].indexOf(U)===-1)continue;switch(j){case 34:t.opts.Date1904=C.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);G=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:M.push([Z]);M[M.length-1].XTI=[];break;case 35:;case 547:M[M.length-1].push(Z);break;case 24:;case 536:V={Name:Z.Name,Ref:bd(Z.rgce,s,null,M,R)};if(Z.itab>0)V.Sheet=Z.itab-1;M.names.push(V);if(!M[0]){M[0]=[];M[0].XTI=[]}M[M.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")z[Z.itab-1]={ref:Wa(Z.rgce[0][0][1][2])};break;case 22:R.ExternCount=Z;break;case 23:if(M.length==0){M[0]=[];M[0].XTI=[]}M[M.length-1].XTI=M[M.length-1].XTI.concat(Z);M.XTI=M.XTI.concat(Z);break;case 2196:if(R.biff<8)break;if(V!=null)V.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(--B)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Wa(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var Q=s.e.r;s.e.r=r.sheetRows-1;n["!fullref"]=n["!ref"];n["!ref"]=Wa(s);s.e.r=Q}s.e.r++;s.e.c++}if(N.length>0)n["!merges"]=N;if(D.length>0)n["!objects"]=D;if(F.length>0)n["!cols"]=F;if(P.length>0)n["!rows"]=P;C.Sheets.push(S)}if(c==="")h=n;else a[c]=n;n={};if(r.dense)n["!data"]=[]}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}[Z.BIFFVer]||8;R.biffguess=Z.BIFFVer==0;if(Z.BIFFVer==0&&Z.dt==4096){R.biff=5;G=true;o(R.codepage=28591)}if(R.biff==8&&Z.BIFFVer==0&&Z.dt==16)R.biff=2;if(B++)break;n={};if(r.dense)n["!data"]=[];if(R.biff<8&&!G){G=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 ee={pos:e.l-X,name:c};i[ee.pos]=ee;R.snames.push(c)}else c=(i[$]||{name:""}).name;if(Z.dt==32)n["!type"]="chart";if(Z.dt==64)n["!type"]="macro";N=[];D=[];R.arrayf=k=[];F=[];P=[];L=false;S={Hidden:(i[$]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n["!data"][Z.r]||[])[Z.c]:n[Da(Z.c)+Oa(Z.r)])++Z.c;T={ixfe:Z.ixfe,XF:E[Z.ixfe]||{},v:Z.val,t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];Sg(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(W>0)T.z=H[T.ixfe>>8&63];Sg(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(W>0)T.z=H[T.ixfe>>8&63];Sg(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 189:{for(var re=Z.c;re<=Z.C;++re){var te=Z.rkrec[re-Z.c][0];T={ixfe:te,XF:E[te],v:Z.rkrec[re-Z.c][1],t:"n"};if(W>0)T.z=H[T.ixfe>>8&63];Sg(T,r,t.opts.Date1904);O({c:re,r:Z.r},T,r)}}break;case 6:;case 518:;case 1030:{if(Z.val=="String"){f=Z;break}T=_g(Z.val,Z.cell.ixfe,Z.tt);T.XF=E[T.ixfe];if(r.cellFormula){var ae=Z.formula;if(ae&&ae[0]&&ae[0][0]&&ae[0][0][0]=="PtgExp"){var ne=ae[0][0][1][0],ie=ae[0][0][1][1];var se=Ua({r:ne,c:ie});if(w[se])T.f=""+bd(Z.formula,s,Z.cell,M,R);else T.F=((r.dense?(n["!data"][ne]||[])[ie]:n[se])||{}).F}else T.f=""+bd(Z.formula,s,Z.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];Sg(T,r,t.opts.Date1904);O(Z.cell,T,r);f=Z}break;case 7:;case 519:{if(f){f.val=Z;T=_g(Z,f.cell.ixfe,"s");T.XF=E[T.ixfe];if(r.cellFormula){T.f=""+bd(f.formula,s,f.cell,M,R)}if(W>0)T.z=H[T.ixfe>>8&63];Sg(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 fe=Ua(Z[0].s);p=r.dense?(n["!data"][Z[0].s.r]||[])[Z[0].s.c]:n[fe];if(r.cellFormula&&p){if(!f)break;if(!fe||!p)break;p.f=""+bd(Z[1],s,Z[0],M,R);p.F=Wa(Z[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Ua(f.cell)]=Z[0];p=r.dense?(n["!data"][f.cell.r]||[])[f.cell.c]:n[Ua(f.cell)];(p||{}).f=""+bd(Z[0],s,u,M,R)}}break;case 253:T=_g(l[Z.isst].t,Z.ixfe,"s");if(l[Z.isst].h)T.h=l[Z.isst].h;T.XF=E[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];Sg(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(W>0)T.z=H[T.ixfe>>8&63];Sg(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r)}break;case 190:if(r.sheetStubs){for(var oe=Z.c;oe<=Z.C;++oe){var le=Z.ixfe[oe-Z.c];T={ixfe:le,XF:E[le],t:"z"};if(W>0)T.z=H[T.ixfe>>8&63];Sg(T,r,t.opts.Date1904);O({c:oe,r:Z.r},T,r)}}break;case 214:;case 516:;case 4:T=_g(Z.val,Z.ixfe,"s");T.XF=E[T.ixfe];if(W>0)T.z=H[T.ixfe>>8&63];Sg(T,r,t.opts.Date1904);O({c:Z.c,r:Z.r},T,r);break;case 0:;case 512:{if(B===1)s=Z}break;case 252:{l=Z}break;case 1054:{if(R.biff==4){H[W++]=Z[1];for(var ce=0;ce=163)Qe(Z[1],W+163)}else Qe(Z[1],Z[0])}break;case 30:{H[W++]=Z;for(var he=0;he=163)Qe(Z,W+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(g=Z[0].s.r;g<=Z[0].e.r;++g)for(m=Z[0].s.c;m<=Z[0].e.c;++m){p=r.dense?(n["!data"][g]||[])[m]:n[Ua({c:m,r:g})];if(p)p.l=Z[1]}}break;case 2048:{for(g=Z[0].s.r;g<=Z[0].e.r;++g)for(m=Z[0].s.c;m<=Z[0].e.c;++m){p=r.dense?(n["!data"][g]||[])[m]:n[Ua({c:m,r:g})];if(p&&p.l)p.l.Tooltip=Z[1]}}break;case 28:{if(R.biff<=5&&R.biff>=2)break;p=r.dense?(n["!data"][Z[0].r]||[])[Z[0].c]:n[Ua(Z[0])];var ue=D[Z[2]];if(!p){if(r.dense){if(!n["!data"][Z[0].r])n["!data"][Z[0].r]=[];p=n["!data"][Z[0].r][Z[0].c]={t:"z"}}else{p=n[Ua(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(!p.c)p.c=[];v={a:Z[1],t:ue.TxO.t};p.c.push(v)}break;case 2173:Zc(E[Z.ixfe],Z.ext);break;case 125:{if(!R.cellStyles)break;while(Z.e>=Z.s){F[Z.e--]={width:Z.w/256,level:Z.level||0,hidden:!!(Z.flags&1)};if(!L){L=true;Hl(Z.w/256)}zl(F[Z.e+1])}}break;case 520:{var de={};if(Z.level!=null){P[Z.r]=de;de.level=Z.level}if(Z.hidden){P[Z.r]=de;de.hidden=true}if(Z.hpt){P[Z.r]=de;de.hpt=Z.hpt;de.hpx=jl(Z.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])tp(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=Z;break;case 161:if(!n["!margins"])tp(n["!margins"]={});n["!margins"].header=Z.header;n["!margins"].footer=Z.footer;break;case 574:if(Z.RTL)C.Views[0].RTL=true;break;case 146:y=Z;break;case 2198:I=Z;break;case 140:A=Z;break;case 442:{if(!c)C.WBProps.CodeName=Z||"ThisWorkbook";else S.CodeName=Z||S.name}break;}}else{if(!Y)console.error("Missing Info for XLS Record 0x"+j.toString(16));e.l+=X}}t.SheetNames=fr(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)z.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Strings=l;t.SSF=yr(J);if(R.enc)t.Encryption=R.enc;if(I)t.Themes=I;t.Metadata={};if(A!==undefined)t.Metadata.Country=A;if(M.names.length>0)C.Names=M.names;t.Workbook=C;return t}var Og={SI:"e0859ff2f94f6810ab9108002b27b3d9",DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function Rg(e,r,t){var a=rr.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=ts(a,$n,Og.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=rr.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var o=ts(f,jn,Og.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){Ci(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function Ig(e,r){var t=[],a=[],n=[];var i=0,s;var f=or($n,"n");var o=or(jn,"n");if(e.Props){s=fr(e.Props);for(i=0;i-1||yi.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;l.push(n[i])}if(a.length)rr.utils.cfb_add(r,"/SummaryInformation",as(a,Og.SI,o,jn));if(t.length||l.length)rr.utils.cfb_add(r,"/DocumentSummaryInformation",as(t,Og.DSI,f,$n,l.length?l:null,Og.UDI))}function Ng(e,r){if(!r)r={};Aw(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(rr.find(e,"/encryption"))throw new Error("File is password-protected");t=rr.find(e,"!CompObj");a=rr.find(e,"/Workbook")||rr.find(e,"/Book")}else{switch(r.type){case"base64":e=O(E(e));break;case"binary":e=O(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}ba(e,0);a={content:e}}var n;var i;if(t)Eg(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=y?"buffer":"array";if(a&&a.content)n=xg(a.content,r);else if((i=rr.find(e,"PerfectOffice_MAIN"))&&i.content)n=Lo.to_workbook(i.content,(r.type=f,r));else if((i=rr.find(e,"NativeContent_MAIN"))&&i.content)n=Lo.to_workbook(i.content,(r.type=f,r));else if((i=rr.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&&rr.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=Rh(e)}var o={};if(e.FullPaths)Rg(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function Dg(e,r){var t=r||{};var a=rr.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");}rr.utils.cfb_add(a,n,eb(e,t));if(t.biff==8&&(e.Props||e.Custprops))Ig(e,a);if(t.biff==8&&e.vbaraw)Ih(a,rr.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Fg={0:{f:Bp},1:{f:Xp},2:{f:dv},3:{f:rv},4:{f:Jp},5:{f:lv},6:{f:bv},7:{f:iv},8:{f:Cv},9:{f:yv},10:{f:Av},11:{f:Ev},12:{f:Kp},13:{f:vv},14:{f:av},15:{f:Qp},16:{f:hv},17:{f:kv},18:{f:fv},19:{f:rn},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:xm},40:{},42:{},43:{f:fc},44:{f:ic},45:{f:hc},46:{f:mc},47:{f:dc},48:{},49:{f:Ka},50:{},51:{f:Qc},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ho},62:{f:gv},63:{f:lh},64:{f:zv},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:wa,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:Uv},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:$p},148:{f:zp,p:16},151:{f:Iv},152:{},153:{f:Cm},154:{},155:{},156:{f:Em},157:{},158:{},159:{T:1,f:Zo},160:{T:-1},161:{T:1,f:Tn},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:Sv},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:Jc},336:{T:-1},337:{f:th,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:vn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:zf},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:Nv},427:{f:Dv},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:Lv},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:Gp},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:Ov},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:vn},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:Ch},633:{T:1},634:{T:-1},635:{T:1,f:Eh},636:{T:-1},637:{f:an},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:sm},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:Vv},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 Pg={6:{f:Cd},10:{f:ns},12:{f:ls},13:{f:ls},14:{f:fs},15:{f:fs},16:{f:En},17:{f:fs},18:{f:fs},19:{f:ls},20:{f:Uf},21:{f:Uf},23:{f:zf},24:{f:Hf},25:{f:fs},26:{},27:{},28:{f:Kf},29:{},34:{f:fs},35:{f:Wf},38:{f:En},39:{f:En},40:{f:En},41:{f:En},42:{f:fs},43:{f:fs},47:{f:El},49:{f:vf},51:{f:ls},60:{},61:{f:cf},64:{f:fs},65:{f:pf},66:{f:ls},77:{},80:{},81:{},82:{},85:{f:ls},89:{},90:{},91:{},92:{f:Js},93:{f:qf},94:{},95:{f:fs},96:{},97:{},99:{f:fs},125:{f:ho},128:{f:Nf},129:{f:Qs},130:{f:ls},131:{f:fs},132:{f:fs},133:{f:ef},134:{},140:{f:so},141:{f:ls},144:{},146:{f:lo},151:{},152:{},153:{},154:{},155:{},156:{f:ls},157:{},158:{},160:{f:bo},161:{f:po},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:_f},190:{f:xf},193:{f:ns},197:{},198:{},199:{},200:{},201:{},202:{f:fs},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:ls},220:{},221:{f:fs},222:{},224:{f:Rf},225:{f:Zs},226:{f:ns},227:{},229:{f:Zf},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:tf},253:{f:gf},255:{f:nf},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:hs},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:fs},353:{f:ns},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Bf},431:{f:fs},432:{},433:{},434:{},437:{},438:{f:ro},439:{f:fs},440:{f:to},441:{},442:{f:bs},443:{},444:{f:ls},445:{},446:{},448:{f:ns},449:{f:of,r:2},450:{f:ns},512:{f:yf},513:{f:go},515:{f:Lf},516:{f:wf},517:{f:Ff},519:{f:wo},520:{f:sf},523:{},545:{f:jf},549:{f:lf},566:{},574:{f:uf},638:{f:Sf},659:{},1048:{},1054:{f:Tf},1084:{},1212:{f:$f},2048:{f:no},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Ys},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:ns},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:co,r:12},2173:{f:Kc,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:fs,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:Gf,r:12},2197:{},2198:{f:Vc,r:12},2199:{},2200:{},2201:{},2202:{f:Xf,r:12},2203:{f:ns},2204:{},2205:{},2206:{},2207:{},2211:{f:ff},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:ls},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:vo},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:oo},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:yf},1:{},2:{f:yo},3:{f:Ao},4:{f:To},5:{f:Ff},7:{f:So},8:{},9:{f:Ys},11:{},22:{f:ls},30:{f:Ef},31:{},32:{},33:{f:jf},36:{},37:{f:lf},50:{f:_o},62:{},52:{},67:{},68:{f:ls},69:{},86:{},126:{},127:{f:ko},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:xo},223:{},234:{},354:{},421:{},518:{f:Cd},521:{f:Ys},536:{f:Hf},547:{f:Wf},561:{},579:{},1030:{f:Cd},1033:{f:Ys},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},101:{},102:{},105:{},106:{},107:{},109:{},112:{},114:{},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&&na(t))e.push(t)}function Mg(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,Co(t,a,n));else Lg(e,3,Eo(t,a,n));return;case"b":;case"e":Lg(e,5,Bg(t,a,r.v,r.t));return;case"s":;case"str":Lg(e,4,Wg(t,a,r.v==null?"":String(r.v).slice(0,255)));return;}Lg(e,1,Ug(null,t,a))}function zg(e,r,t,a){var n=r["!data"]!=null;var i=Va(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)}var l=[];for(var c=i.s.c;c<=i.e.c;++c)o[c]=Da(c);for(var h=i.s.r;h<=i.e.r;++h){if(n)l=r["!data"][h]||[];f=Oa(h);for(c=i.s.c;c<=i.e.c;++c){var u=n?l[c]:r[o[c]+f];if(!u)continue;Hg(e,u,h,c,a)}}}function Vg(e,r){var t=r||{};var a=Aa();var n=0;for(var i=0;i255||d.e.r>=p){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,p-1)}Lg(a,2057,Ks(t,16,r));Lg(a,13,cs(1));Lg(a,12,cs(100));Lg(a,15,os(true));Lg(a,17,os(false));Lg(a,16,yn(.001));Lg(a,95,os(true));Lg(a,42,os(false));Lg(a,43,os(false));Lg(a,130,cs(1));Lg(a,128,Df([0,0]));Lg(a,131,os(false));Lg(a,132,os(false));if(l)Kg(a,i["!cols"]);Lg(a,512,Cf(d,r));if(l)i["!links"]=[];var v=[];var m=[];for(var g=d.s.c;g<=d.e.c;++g)u[g]=Da(g);for(var b=d.s.r;b<=d.e.r;++b){if(o)m=i["!data"][b]||[];h=Oa(b);for(g=d.s.c;g<=d.e.c;++g){c=u[g]+h;var w=o?m[g]:i[c];if(!w)continue;Zg(a,w,b,g,r);if(l&&w.l)i["!links"].push([c,w.l]);if(l&&w.c)v.push([c,w.c])}}var k=f.CodeName||f.name||n;if(l)Lg(a,574,df((s.Views||[])[0]));if(l&&(i["!merges"]||[]).length)Lg(a,229,Jf(i["!merges"]));if(l)Yg(a,i);Lg(a,442,ks(k,r));if(l)jg(a,i);Lg(a,10);return a.end()}function qg(e,r,t){var a=Aa();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,o=t.biff==5;Lg(a,2057,Ks(e,5,t));if(t.bookType=="xla")Lg(a,135);Lg(a,225,f?cs(1200):null);Lg(a,193,is(2));if(o)Lg(a,191);if(o)Lg(a,192);Lg(a,226);Lg(a,92,qs("SheetJS",t));Lg(a,66,cs(f?1200:1252));if(f)Lg(a,353,cs(0));if(f)Lg(a,448);Lg(a,317,mo(e.SheetNames.length));if(f&&e.vbaraw)Lg(a,211);if(f&&e.vbaraw){var l=s.CodeName||"ThisWorkbook";Lg(a,442,ks(l,t))}Lg(a,156,cs(17));Lg(a,25,os(false));Lg(a,18,os(false));Lg(a,19,cs(0));if(f)Lg(a,431,os(false));if(f)Lg(a,444,cs(0));Lg(a,61,hf(t));Lg(a,64,os(false));Lg(a,141,cs(0));Lg(a,34,os(vm(e)=="true"));Lg(a,14,os(true));if(f)Lg(a,439,os(false));Lg(a,218,cs(0));Gg(a,e,t);$g(a,e.SSF,t);Xg(a,t);if(f)Lg(a,352,os(false));var c=a.end();var h=Aa();if(f)Lg(h,140,fo());if(f&&t.Strings)Mg(h,252,af(t.Strings,t));Lg(h,10);var u=h.end();var d=Aa();var p=0,v=0;for(v=0;v255){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 Qg(e,r);case 4:;case 3:;case 2:return Vg(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function rb(e,r){var t=r||{};var a=t.dense!=null?t.dense:b;var n={};if(a)n["!data"]=[];e=e.replace(//g,"");var i=e.match(/");var s=e.match(/<\/table/i);var f=i.index,o=s&&s.index||e.length;var l=Ir(e.slice(f,o),/(:?]*>)/i,"");var c=-1,h=0,u=0,d=0;var p={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(f=0;f/i);for(o=0;o"))>-1)T=T.slice(A+1);for(var E=0;E")));d=C.colspan?+C.colspan:1;if((u=+C.rowspan)>1||d>1)v.push({s:{r:c,c:h},e:{r:c+(u||1)-1,c:h+d-1}});var S=C.t||C["data-t"]||"";if(!T.length){h+=d;continue}T=kt(T);if(p.s.r>c)p.s.r=c;if(p.e.rh)p.s.c=h;if(p.e.ct||n[h].s.c>o)continue;if(n[h].e.r1)s.rowspan=l;if(c>1)s.colspan=c;if(a.editable)p=''+p+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=d.v;if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")p=''+p+""}s.id=(a.id||"sjs")+"-"+u;i.push(xt("td",p,s))}var v="";return v+i.join("")+""}var ab='SheetJS Table Export';var nb="";function ib(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1){var a=ja(rb(t[0],r),r);a.bookType="html";return a}var n=pk();t.forEach(function(e,t){vk(n,rb(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function sb(e,r,t){var a=[];return a.join("")+""}function fb(e,r){var t=r||{};var a=t.header!=null?t.header:ab;var n=t.footer!=null?t.footer:nb;var i=[a];var s=Ba(e["!ref"]);i.push(sb(e,s,t));for(var f=s.s.r;f<=s.e.r;++f)i.push(tb(e,s,f,t));i.push("
"+n);return i.join("")}function ob(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,f=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var o=typeof n.origin=="string"?Ma(n.origin):n.origin;s=o.r;f=o.c}}var l=Math.min(n.sheetRows||1e7,a.length);var c={s:{r:0,c:0},e:{r:s,c:f}};if(e["!ref"]){var h=Ba(e["!ref"]);c.s.r=Math.min(c.s.r,h.s.r);c.s.c=Math.min(c.s.c,h.s.c);c.e.r=Math.max(c.e.r,h.e.r);c.e.c=Math.max(c.e.c,h.e.c);if(s==-1)c.e.r=s=h.e.r+1}var u=[],d=0;var p=e["!rows"]||(e["!rows"]=[]);var v=0,m=0,g=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;v1||k>1)u.push({s:{r:m+s,c:b+f},e:{r:m+s+(w||1)-1,c:b+f+(k||1)-1}});var _={t:"s",v:y};var x=E.getAttribute("data-t")||E.getAttribute("t")||"";if(y!=null){if(y.length==0)_.t=x||"z";else if(n.raw||y.trim().length==0||x=="s"){}else if(y==="TRUE")_={t:"b",v:true};else if(y==="FALSE")_={t:"b",v:false};else if(!isNaN(Sr(y)))_={t:"n",v:Sr(y)};else if(!isNaN(Rr(y).getDate())){_={t:"d",v:Ar(y)};if(!n.cellDates)_={t:"n",v:dr(_.v)};_.z=n.dateNF||J[14]}}if(_.z===undefined&&C!=null)_.z=C;var O="",R=E.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=l)e["!fullref"]=Wa((c.e.r=a.length-v+m-1+s,c));return e}function lb(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return ob(a,e,r)}function cb(e,r){var t=ja(lb(e,r),r);return t}function hb(e){var r="";var t=ub(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function ub(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 db(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=tt(r.replace(/<[^>]*>/g,""));return[t]}function pb(e,r,t){var a=t||{};var n=It(e);Nt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");var i,s,f="",o="",l,c=0,h=-1,u=false,d="";while(i=Nt.exec(n)){switch(i[3]=i[3].replace(/_.*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){u=false;if(s["truncate-on-overflow"]=="false"){if(f.match(/h/))f=f.replace(/h+/,"[$&]");else if(f.match(/m/))f=f.replace(/m+/,"[$&]");else if(f.match(/s/))f=f.replace(/s+/,"[$&]")}a[s.name]=f;f=""}else if(i[0].charAt(i[0].length-2)!=="/"){u=true;f="";s=qr(i[0],false)}break;case"boolean-style":if(i[1]==="/"){u=false;a[s.name]="General";f=""}else if(i[0].charAt(i[0].length-2)!=="/"){u=true;f="";s=qr(i[0],false)}break;case"boolean":f+="General";break;case"text":if(i[1]==="/"){d=n.slice(h,Nt.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")f=a[l["apply-style-name"]]+";"+f;else console.error("ODS number format may be incorrect: "+l["condition"]);break;case"number":if(i[1]==="/")break;l=qr(i[0],false);o="";o+=Cr("0",+l["min-integer-digits"]||1);if(ut(l["grouping"]))o=pe(Cr("#",Math.max(0,4-o.length))+o);if(+l["min-decimal-places"]||+l["decimal-places"])o+=".";if(+l["min-decimal-places"])o+=Cr("0",+l["min-decimal-places"]||1);if(+l["decimal-places"]-(+l["min-decimal-places"]||0))o+=Cr("0",+l["decimal-places"]-(+l["min-decimal-places"]||0));f+=o;break;case"embedded-text":if(i[1]==="/"){if(c==0)f+='"'+n.slice(h,Nt.lastIndex-i[0].length).replace(/"/g,'""')+'"';else f=f.slice(0,c)+'"'+n.slice(h,Nt.lastIndex-i[0].length).replace(/"/g,'""')+'"'+f.slice(c)}else if(i[0].charAt(i[0].length-2)!=="/"){h=Nt.lastIndex;c=-+qr(i[0],false)["position"]||0}break;}}return a}function vb(e,r,t){var a=r||{};if(b!=null&&a.dense==null)a.dense=b;var n=It(e);var i=[],s;var f;var o,l="",c=0;var h;var u;var d={},p=[];var v={};if(a.dense)v["!data"]=[];var m,g;var w={value:""};var k="",T=0,A;var E=[];var y=-1,C=-1,S={s:{r:1e6,c:1e7},e:{r:0,c:0}};var _=0;var x=t||{},O={};var R=[],I={},N=0,D=0;var F=[],P=1,L=1;var M=[];var U={Names:[],WBProps:{}};var B={};var W=["",""];var H=[],z={};var V="",G=0;var $=false,j=false;var X=0;var Y=0;Nt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");while(m=Nt.exec(n))switch(m[3]=m[3].replace(/_.*$/,"")){case"table":;case"工作表":if(m[1]==="/"){if(S.e.c>=S.s.c&&S.e.r>=S.s.r)v["!ref"]=Wa(S);else v["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=S.e.r){v["!fullref"]=v["!ref"];S.e.r=a.sheetRows-1;v["!ref"]=Wa(S)}if(R.length)v["!merges"]=R;if(F.length)v["!rows"]=F;h.name=h["名称"]||h.name;if(typeof JSON!=="undefined")JSON.stringify(h);p.push(h.name);d[h.name]=v;j=false}else if(m[0].charAt(m[0].length-2)!=="/"){h=qr(m[0],false);y=C=-1;S.s.r=S.s.c=1e7;S.e.r=S.e.c=0;v={};if(a.dense)v["!data"]=[];R=[];F=[];j=true}break;case"table-row-group":if(m[1]==="/")--_;else++_;break;case"table-row":;case"行":if(m[1]==="/"){y+=P;P=1;break}u=qr(m[0],false);if(u["行号"])y=u["行号"]-1;else if(y==-1)y=0;P=+u["number-rows-repeated"]||1;if(P<10)for(X=0;X0)F[y+X]={level:_};C=-1;break;case"covered-table-cell":if(m[1]!=="/")++C;if(a.sheetStubs){if(a.dense){if(!v["!data"][y])v["!data"][y]=[];v["!data"][y][C]={t:"z"}}else v[Ua({r:y,c:C})]={t:"z"}}k="";E=[];break;case"table-cell":;case"数据":if(m[0].charAt(m[0].length-2)==="/"){++C;w=qr(m[0],false);L=parseInt(w["number-columns-repeated"]||"1",10);g={t:"z",v:null};if(w.formula&&a.cellFormula!=false)g.f=Xd(tt(w.formula));if(w["style-name"]&&O[w["style-name"]])g.z=O[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){g.t="s";g.v=tt(w["string-value"]||"");if(a.dense){if(!v["!data"][y])v["!data"][y]=[];v["!data"][y][C]=g}else{v[Da(C)+Oa(y)]=g}}C+=L-1}else if(m[1]!=="/"){++C;k="";T=0;E=[];L=1;var K=P?y+P-1:y;if(C>S.e.c)S.e.c=C;if(CS.e.r)S.e.r=K;w=qr(m[0],false);H=[];z={};g={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&O[w["style-name"]])g.z=O[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=tt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){N=parseInt(w["number-matrix-rows-spanned"],10)||0;D=parseInt(w["number-matrix-columns-spanned"],10)||0;I={s:{r:y,c:C},e:{r:y+N-1,c:C+D-1}};g.F=Wa(I);M.push([I,g.F])}if(w.formula)g.f=Xd(w.formula);else for(X=0;X=M[X][0].s.r&&y<=M[X][0].e.r)if(C>=M[X][0].s.c&&C<=M[X][0].e.c)g.F=M[X][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){N=parseInt(w["number-rows-spanned"],10)||0;D=parseInt(w["number-columns-spanned"],10)||0;I={s:{r:y,c:C},e:{r:y+N-1,c:C+D-1}};R.push(I)}if(w["number-columns-repeated"])L=parseInt(w["number-columns-repeated"],10);switch(g.t){case"boolean":g.t="b";g.v=ut(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":g.t="n";g.v=parseFloat(w.value);break;case"percentage":g.t="n";g.v=parseFloat(w.value);break;case"currency":g.t="n";g.v=parseFloat(w.value);break;case"date":g.t="d";g.v=Ar(w["date-value"]);if(!a.cellDates){g.t="n";g.v=dr(g.v,U.WBProps.date1904)-Y}if(!g.z)g.z="m/d/yy";break;case"time":g.t="n";g.v=br(w["time-value"])/86400;if(a.cellDates){g.t="d";g.v=gr(g.v)}if(!g.z)g.z="HH:MM:SS";break;case"number":g.t="n";g.v=parseFloat(w["数据数值"]);break;default:if(g.t==="string"||g.t==="text"||!g.t){g.t="s";if(w["string-value"]!=null){k=tt(w["string-value"]);E=[]}}else throw new Error("Unsupported value type "+g.t);}}else{$=false;if(g.t==="s"){g.v=k||"";if(E.length)g.R=E;$=T==0}if(B.Target)g.l=B;if(H.length>0){g.c=H;H=[]}if(k&&a.cellText!==false)g.w=k;if($){g.t="z";delete g.v}if(!$||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=y)){for(var Z=0;Z0)v["!data"][y+Z][C+L]=yr(g)}else{v[Ua({r:y+Z,c:C})]=g;while(--L>0)v[Ua({r:y+Z,c:C+L})]=yr(g)}if(S.e.c<=C)S.e.c=C}}}L=parseInt(w["number-columns-repeated"]||"1",10);C+=L-1;L=0;g={};k="";E=[]}B={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],true]);break;case"annotation":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s;z.t=k;if(E.length)z.R=E;z.a=V;H.push(z)}else if(m[0].charAt(m[0].length-2)!=="/"){i.push([m[3],false])}V="";G=0;k="";T=0;E=[];break;case"creator":if(m[1]==="/"){V=n.slice(G,m.index)}else G=m.index+m[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(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],false]);k="";T=0;E=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(m[1]==="/"){var J=Nt.lastIndex;pb(n.slice(o,Nt.lastIndex),r,x);Nt.lastIndex=J}else if(m[0].charAt(m[0].length-2)!=="/"){o=Nt.lastIndex-m[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var q=qr(m[0],false);if(q["family"]=="table-cell"&&x[q["data-style-name"]])O[q["name"]]=x[q["data-style-name"]]}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":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":break;case"boolean":break;case"text":if(m[0].slice(-2)==="/>")break;else if(m[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":l+=n.slice(c,m.index);break;}else c=m.index+m[0].length;break;case"named-range":f=qr(m[0],false);W=Kd(f["cell-range-address"]);var Q={Name:f.name,Ref:W[0]+"!"+W[1]};if(j)Q.Sheet=p.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":f=qr(m[0],false);switch(f["date-value"]){case"1904-01-01":U.WBProps.date1904=true;case"1900-01-01":Y=0;}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(i[i.length-1][0])>-1)break;if(m[1]==="/"&&(!w||!w["string-value"])){var ee=db(n.slice(T,m.index),A);k=(k.length>0?k+"\n":"")+ee[0]}else{A=qr(m[0],false);T=m.index+m[0].length}break;case"s":break;case"database-range":if(m[1]==="/")break;try{W=Kd(qr(m[0])["target-range-address"]);d[W[0]]["!autofilter"]={ref:W[1]}}catch(re){}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(m[1]!=="/"){B=qr(m[0],false);if(!B.href)break;B.Target=tt(B.href);delete B.href;if(B.Target.charAt(0)=="#"&&B.Target.indexOf(".")>-1){W=Kd(B.Target.slice(1));B.Target="#"+W[0]+"!"+W[1]}else if(B.Target.match(/^\.\.[\\\/]/))B.Target=B.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(m[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(a.WTF)throw new Error(m);};}var te={Sheets:d,SheetNames:p,Workbook:U};if(a.bookSheets)delete te.Sheets;return te}function mb(e,r){r=r||{};if(Pr(e,"META-INF/manifest.xml"))ui(Mr(e,"META-INF/manifest.xml"),r);var t=Ur(e,"styles.xml");var a=t&&pb(gt(t),r);var n=Ur(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=vb(gt(n),r,a);if(Pr(e,"meta.xml"))i.Props=ki(Mr(e,"meta.xml"));i.bookType="ods";return i}function gb(e,r){var t=vb(e,r);t.bookType="fods";return t}var bb=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return $r+r}}();function wb(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+it(i.replace(/""/g,'"'))+""}else{a+=""+it(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/# (\?+)\/(\?+)/);if(f){a+=xt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:max-denominator-value":Math.max(+f[1].replace(/./g,"9"),+f[2].replace(/./g,"9"))});break e}if(f=e.match(/# (\?+)\/(\d+)/)){a+=xt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:denominator-value":+f[2]});break e}if(f=e.match(/(\d+)(|\.\d+)%/)){t="percentage";a+=xt("number:number",null,{"number:decimal-places":f[2]&&f.length-1||0,"number:min-decimal-places":f[2]&&f.length-1||0,"number:min-integer-digits":f[1].length})+"%";break e}var o=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.slice(1).replace(/""/g,'"'))+"";break;case"/":a+=""+it(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!o)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.slice(1).replace(/""/g,'"'))+"";break;case"/":a+=""+it(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+it(i.replace(/""/g,'"'))+""}else{a+=""+it(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var c=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!c||!c[0])console.error("Could not find numeric part of "+e);else{var h=c[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(c[2]&&' number:decimal-places="'+(c[2].length-1)+'"'||' number:decimal-places="0"')+(c[3]&&c[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(c[3]?' number:min-exponent-digits="'+c[3].match(/0+/)[0].length+'"':"")+">"+"";s=c.index+c[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return xt("number:"+t+"-style",a,n)}function kb(e,r,t){var a=e.filter(function(e){return e.Sheet==(t==-1?null:t)});if(!a.length)return"";return" \n"+a.map(function(e){var r=Zd(e.Ref);return" "+xt("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.]?[^\.]*$/,".$A$1")})}).join("\n")+"\n \n"}var Tb=function(){var e=function(e){return it(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,s,f){var o=[];o.push(' \n');var l=0,c=0,h=Ba(a["!ref"]||"A1");var u=a["!merges"]||[],d=0;var p=a["!data"]!=null;if(a["!cols"]){for(c=0;c<=h.e.c;++c)o.push(" \n")}var v="",m=a["!rows"]||[];for(l=0;l\n")}for(;l<=h.e.r;++l){v=m[l]?' table:style-name="ro'+m[l].ods+'"':"";o.push(" \n");for(c=0;cc)continue;if(u[d].s.r>l)continue;if(u[d].e.c\n")}if((n.Workbook||{}).Names)o.push(kb(n.Workbook.Names,n.SheetNames,i));o.push(" \n");return o.join("")};var n=function(e,r){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');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;var a=Ba(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var f=0;f<=a.e.c;++f){var o=t?(r["!data"][s]||[])[f]:r[Ua({r:s,c:f})];if(!o||!o.z||o.z.toLowerCase()=="general")continue;if(!n[o.z]){var l=wb(o.z,"N"+i);if(l){n[o.z]="N"+i;++i;e.push(l+"\n")}}}});e.push(' \n');fr(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function i(e,r){var t=[$r];var i=_t({"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=_t({"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(gi().replace(//,"").replace(/<\/office:document-meta>/,"")+"\n")}else t.push("\n");var f=n(t,e);t.push(" \n");t.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)t.push(' \n \n \n');for(var o=0;o!=e.SheetNames.length;++o)t.push(a(e.Sheets[e.SheetNames[o]],e,o,r,f));if((e.Workbook||{}).Names)t.push(kb(e.Workbook.Names,e.SheetNames,-1));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function Ab(e,r){if(r.bookType=="fods")return Tb(e,r);var t=zr();var a="";var n=[];var i=[];a="mimetype";Hr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Hr(t,a,Tb(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Hr(t,a,bb(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Hr(t,a,$r+gi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Hr(t,a,mi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Hr(t,a,di(n));return t}var Eb=function(){try{if(typeof Uint8Array=="undefined")return"slice";if(typeof Uint8Array.prototype.subarray=="undefined")return"slice";if(typeof Buffer!=="undefined"){if(typeof Buffer.prototype.subarray=="undefined")return"slice";if((typeof Buffer.from=="function"?Buffer.from([72,62]):new Buffer([72,62]))instanceof Uint8Array)return"subarray";return"slice"}return"subarray"}catch(e){return"slice"}}();function yb(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Cb(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):gt(I(e))}function Sb(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):O(bt(e))}function _b(e){var r=0;for(var t=0;t>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function Ob(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 Rb(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-16;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function Ib(e,r){var t=r.l;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}r.l=t;return a}function Nb(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r[Eb](0,t)}function Db(e){var r={l:0};var t=[];while(r.l=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 Lb(e){var r=0,t=e[r]&127,a=0;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;a=e[r]>>4&7;if(e[r++]<128)break e;a|=(e[r]&127)<<3;if(e[r++]<128)break e;a|=(e[r]&127)<<10;if(e[r++]<128)break e;a|=(e[r]&127)<<17;if(e[r++]<128)break e;a|=(e[r]&127)<<24;if(e[r++]<128)break e;a|=(e[r]&127)<<31}return[t>>>0,a>>>0]}function Mb(e){var r=[],t={l:0};while(t.l=128);s=e[Eb](t.l,f);t.l=f}break;case 1:{s=e[Eb](f,f+8);t.l=f+8}break;case 2:{var o=Ib(e,t);s=e[Eb](t.l,t.l+o);t.l+=o}break;case 5:{s=e[Eb](f,f+4);t.l=f+4}break;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var l={data:s,type:i};if(r[n]==null)r[n]=[];r[n].push(l)}return r}function Ub(e){var r=[];e.forEach(function(e,t){if(t==0)return;e.forEach(function(e){if(!e.data)return;r.push(Nb(t*8+e.type));if(e.type==2)r.push(Nb(e.data.length));r.push(e.data)})});return _b(r)}function Bb(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function Wb(e){var r;var t=[],a={l:0};while(a.l>>0>0;t.push(s)}return t}function Hb(e){var r=[];e.forEach(function(e){var t=[[],[{data:Nb(e.id),type:0}],[]];if(e.merge!=null)t[3]=[{data:Nb(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:Nb(e.data.length)}];t[2].push({data:Ub(e.meta),type:2})});var n=Ub(t);r.push(Nb(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return _b(r)}function zb(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t={l:0};var a=Ib(r,t);var n=[];var i=t.l;while(i>2;if(f<60)++f;else{var o=f-59;f=r[i];if(o>1)f|=r[i+1]<<8;if(o>2)f|=r[i+2]<<16;if(o>3)f|=r[i+3]<<24;f>>>=0;f++;i+=o}n.push(r[Eb](i,i+f));i+=f;continue}else{var l=0,c=0;if(s==1){c=(r[i]>>2&7)+4;l=(r[i++]&224)<<3;l|=r[i++]}else{c=(r[i++]>>2)+1;if(s==2){l=r[i]|r[i+1]<<8;i+=2}else{l=(r[i]|r[i+1]<<8|r[i+2]<<16|r[i+3]<<24)>>>0;i+=4}}if(l==0)throw new Error("Invalid offset 0");var h=n.length-1,u=l;while(h>=0&&u>=n[h].length){u-=n[h].length;--h}if(h<0){if(u==0)u=n[h=0].length;else throw new Error("Invalid offset beyond length")}if(c0){n.push(n[h][Eb](n[h].length-u));c-=u}++h;while(c>=n[h].length){n.push(n[h]);c-=n[h].length;++h}if(c)n.push(n[h][Eb](0,c))}if(n.length>25)n=[_b(n)]}}var d=0;for(var p=0;p>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e[Eb](t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return _b(r)}var $b=function(){return{sst:[],rsst:[],ofmt:[],nfmt:[]}};function jb(e,r,t,a,n){var i,s,f,o;var l=r&255,c=r>>8;var h=c>=5?n:a;e:if(t&(c>4?8:4)&&e.t=="n"&&l==7){var u=((i=h[7])==null?void 0:i[0])?Pb(h[7][0].data):-1;if(u==-1)break e;var d=((s=h[15])==null?void 0:s[0])?Pb(h[15][0].data):-1;var p=((f=h[16])==null?void 0:f[0])?Pb(h[16][0].data):-1;var v=((o=h[40])==null?void 0:o[0])?Pb(h[40][0].data):-1;var m=e.v,g=m;r:if(v){if(m==0){d=p=2;break r}if(m>=604800)d=1;else if(m>=86400)d=2;else if(m>=3600)d=4;else if(m>=60)d=8;else if(m>=1)d=16;else d=32;if(Math.floor(m)!=m)p=32;else if(m%60)p=16;else if(m%3600)p=8;else if(m%86400)p=4;else if(m%604800)p=2;if(p=2){g=m/86400;if(p>2){g|=0;m-=86400*g}w.push('d"d"');b.push(g+(u==2?" day"+(g==1?"":"s"):u==1?"d":""))}if(d<=4&&p>=4){g=m/3600;if(p>4){g|=0;m-=3600*g}w.push((d>=4?"[h]":"h")+'"h"');b.push(g+(u==2?" hour"+(g==1?"":"s"):u==1?"h":""))}if(d<=8&&p>=8){g=m/60;if(p>8){g|=0;m-=60*g}w.push((d>=8?"[m]":"m")+'"m"');if(u==0)b.push((d==8&&p==8||g>=10?"":"0")+g);else b.push(g+(u==2?" minute"+(g==1?"":"s"):u==1?"m":""))}if(d<=16&&p>=16){g=m;if(p>16){g|=0;m-=g}w.push((d>=16?"[s]":"s")+'"s"');if(u==0)b.push((p==16&&d==16||g>=10?"":"0")+g);else b.push(g+(u==2?" second"+(g==1?"":"s"):u==1?"s":""))}if(p>=32){g=Math.round(1e3*m);if(d<32)w.push('.000"ms"');if(u==0)b.push((g>=100?"":g>=10?"0":"00")+g);else b.push(g+(u==2?" millisecond"+(g==1?"":"s"):u==1?"ms":""))}e.w=b.join(u==0?":":" ");e.z=w.join(u==0?'":"':" ");if(u==0)e.w=e.w.replace(/:(\d\d\d)$/,".$1")}}function Xb(e,r,t){var a=yb(e);var n=a.getUint32(4,true);var i=-1,s=-1,f=-1,o=NaN,l=new Date(2001,0,1);var c=t>1?12:8;if(n&2){f=a.getUint32(c,true);c+=4}c+=xb(n&(t>1?3468:396))*4;if(n&512){i=a.getUint32(c,true);c+=4}c+=xb(n&(t>1?12288:4096))*4;if(n&16){s=a.getUint32(c,true);c+=4}if(n&32){o=a.getFloat64(c,true);c+=8}if(n&64){l.setTime(l.getTime()+a.getFloat64(c,true)*1e3);c+=8}if(t>1){n=a.getUint32(8,true)>>>16;if(n&255){if(f==-1)f=a.getUint32(c,true);c+=4}}var h;var u=e[t>=4?1:2];switch(u){case 0:return void 0;case 2:h={t:"n",v:o};break;case 3:h={t:"s",v:r.sst[s]};break;case 5:h={t:"d",v:l};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(i>-1)h={t:"s",v:r.rsst[i]};else throw new Error("Unsupported cell type ".concat(e[Eb](0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e[Eb](0,4)));}if(f>-1)jb(h,u|t<<8,n,r.ofmt[f],r.nfmt[f]);if(u==7)h.v/=86400;return h}function Yb(e,r){var t=yb(e);var a=t.getUint32(4,true);var n=t.getUint32(8,true);var i=12;var s=-1,f=-1,o=-1,l=NaN,c=NaN,h=new Date(2001,0,1);if(n&1){l=Ob(e,i);i+=16}if(n&2){c=t.getFloat64(i,true);i+=8}if(n&4){h.setTime(h.getTime()+t.getFloat64(i,true)*1e3);i+=8}if(n&8){f=t.getUint32(i,true);i+=4}if(n&16){s=t.getUint32(i,true);i+=4}var u;var d=e[1];switch(d){case 0:return void 0;case 2:u={t:"n",v:l};break;case 3:u={t:"s",v:r.sst[f]};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:u={t:"s",v:r.rsst[s]};break;case 10:u={t:"n",v:l};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e[Eb](0,4)));}i+=xb(n&8160)*4;if(n&516096){if(o==-1)o=t.getUint32(i,true);i+=4}if(o>-1)jb(u,d|5<<8,n>>13,r.ofmt[o],r.nfmt[o]);if(d==7)u.v/=86400;return u}function Kb(e,r){var t=new Uint8Array(32),a=yb(t),n=12,i=0;t[0]=5;switch(e.t){case"n":t[1]=2;Rb(t,n,e.v);i|=1;n+=16;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":var s=e.v==null?"":String(e.v);var f=r.indexOf(s);if(f==-1)r[f=r.length]=s;t[1]=3;a.setUint32(n,f,true);i|=8;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[Eb](0,n)}function Zb(e,r){var t=new Uint8Array(32),a=yb(t),n=12,i=0;t[0]=4;switch(e.t){case"n":t[2]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[2]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":var s=e.v==null?"":String(e.v);var f=r.indexOf(s);if(f==-1)r[f=r.length]=s;t[2]=3;a.setUint32(n,f,true);i|=16;n+=4;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[Eb](0,n)}function Jb(e,r){switch(e[0]){case 0:;case 1:;case 2:;case 3:;case 4:return Xb(e,r,e[0]);case 5:return Yb(e,r);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function qb(e){var r=Mb(e);return Pb(r[1][0].data)}function Qb(e){return Ub([[],[{type:0,data:Nb(e)}]])}function ew(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Db(e.messages[0].meta[5][0].data):[];var n=a.indexOf(r);if(n==-1){a.push(r);e.messages[0].meta[5]=[{type:2,data:Fb(a)}]}}function rw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Db(e.messages[0].meta[5][0].data):[];e.messages[0].meta[5]=[{type:2,data:Fb(a.filter(function(e){return e!=r}))}]}function tw(e,r){var t=Mb(r.data);var a=Pb(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t=Mb(r.data);if(!t[1])return;var n=Pb(t[1][0].data)>>>0;switch(a){case 1:i[n]=Cb(t[3][0].data);break;case 8:{var s=e[qb(t[9][0].data)][0];var f=Mb(s.data);var o=e[qb(f[1][0].data)][0];var l=Pb(o.meta[1][0].data);if(l!=2001)throw new Error("2000 unexpected reference to ".concat(l));var c=Mb(o.data);i[n]=c[3].map(function(e){return Cb(e.data)}).join("")}break;case 2:i[n]=Mb(t[6][0].data);break;default:throw a;}});return i}function aw(e,r){var t,a,n,i,s,f,o,l,c,h,u,d,p,v;var m=Mb(e);var g=Pb(m[1][0].data)>>>0;var b=Pb(m[2][0].data)>>>0;var w=((a=(t=m[8])==null?void 0:t[0])==null?void 0:a.data)&&Pb(m[8][0].data)>0||false;var k,T;if(((i=(n=m[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=m[7])==null?void 0:s[0])==null?void 0:f.data;T=(l=(o=m[6])==null?void 0:o[0])==null?void 0:l.data}else if(((h=(c=m[4])==null?void 0:c[0])==null?void 0:h.data)&&r!=1){k=(d=(u=m[4])==null?void 0:u[0])==null?void 0:d.data;T=(v=(p=m[3])==null?void 0:p[0])==null?void 0:v.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var A=w?4:1;var E=yb(k);var y=[];for(var C=0;C=1)_[y[y.length-1][0]]=T[Eb](y[y.length-1][1]*A);return{R:g,cells:_}}function nw(e,r){var t;var a=Mb(r.data);var n=-1;if((t=a==null?void 0:a[7])==null?void 0:t[0]){if(Pb(a[7][0].data)>>>0)n=1;else n=0}var i=Bb(a[5],function(e){return aw(e,n)});return{nrows:Pb(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function iw(e,r,t){var a,n,i,s,f,o;var l=Mb(r.data);var c={s:{r:0,c:0},e:{r:0,c:0}};c.e.r=(Pb(l[6][0].data)>>>0)-1;if(c.e.r<0)throw new Error("Invalid row varint ".concat(l[6][0].data));c.e.c=(Pb(l[7][0].data)>>>0)-1;if(c.e.c<0)throw new Error("Invalid col varint ".concat(l[7][0].data));t["!ref"]=Wa(c);var h=t["!data"]!=null,u=t;var d=Mb(l[4][0].data);var p=$b();if((a=d[4])==null?void 0:a[0])p.sst=tw(e,e[qb(d[4][0].data)][0]);if((n=d[11])==null?void 0:n[0])p.ofmt=tw(e,e[qb(d[11][0].data)][0]);if((i=d[17])==null?void 0:i[0])p.rsst=tw(e,e[qb(d[17][0].data)][0]);if((s=d[22])==null?void 0:s[0])p.nfmt=tw(e,e[qb(d[22][0].data)][0]);var v=Mb(d[3][0].data);var m=0;v[1].forEach(function(r){var a=Mb(r.data);var n=e[qb(a[2][0].data)][0];var i=Pb(n.meta[1][0].data);if(i!=6002)throw new Error("6001 unexpected reference to ".concat(i));var s=nw(e,n);s.data.forEach(function(e,r){e.forEach(function(e,a){var n=Jb(e,p);if(n){if(h){if(!u["!data"][m+r])u["!data"][m+r]=[];u["!data"][m+r][a]=n}else{t[Da(a)+Oa(m+r)]=n}}})});m+=s.nrows});if((f=d[13])==null?void 0:f[0]){var g=e[qb(d[13][0].data)][0];var b=Pb(g.meta[1][0].data);if(b!=6144)throw new Error("Expected merge type 6144, found ".concat(b));t["!merges"]=(o=Mb(g.data))==null?void 0:o[1].map(function(e){var r=Mb(e.data);var t=yb(Mb(r[1][0].data)[1][0].data),a=yb(Mb(r[2][0].data)[1][0].data); -return{s:{r:t.getUint16(0,true),c:t.getUint16(2,true)},e:{r:t.getUint16(0,true)+a.getUint16(0,true)-1,c:t.getUint16(2,true)+a.getUint16(2,true)-1}}})}}function sw(e,r,t){var a=Mb(r.data);var n={"!ref":"A1"};if(t==null?void 0:t.dense)n["!data"]=[];var i=e[qb(a[2][0].data)];var s=Pb(i[0].meta[1][0].data);if(s!=6001)throw new Error("6000 unexpected reference to ".concat(s));iw(e,i[0],n);return n}function fw(e,r,t){var a;var n=Mb(r.data);var i={name:((a=n[1])==null?void 0:a[0])?Cb(n[1][0].data):"",sheets:[]};var s=Bb(n[2],qb);s.forEach(function(r){e[r].forEach(function(r){var a=Pb(r.meta[1][0].data);if(a==6e3)i.sheets.push(sw(e,r,t))})});return i}function ow(e,r,t){var a;var n=pk();var i=Mb(r.data);if((a=i[2])==null?void 0:a[0])throw new Error("Keynote presentations are not supported");var s=Bb(i[1],qb);s.forEach(function(r){e[r].forEach(function(r){var a=Pb(r.meta[1][0].data);if(a==2){var i=fw(e,r,t);i.sheets.forEach(function(e,r){vk(n,e,r==0?i.name:i.name+"_"+r,true)})}})});if(n.SheetNames.length==0)throw new Error("Empty NUMBERS file");n.bookType="numbers";return n}function lw(e,r){var t,a,n,i,s,f,o;var l={},c=[];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;if(e.content[0]!=0)return;var r;try{r=Vb(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=Wb(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){l[e.id]=e.messages;c.push(e.id)})});if(!c.length)throw new Error("File has no messages");if(((n=(a=(t=l==null?void 0:l[1])==null?void 0:t[0].meta)==null?void 0:a[1])==null?void 0:n[0].data)&&Pb(l[1][0].meta[1][0].data)==1e4)throw new Error("Pages documents are not supported");var h=((o=(f=(s=(i=l==null?void 0:l[1])==null?void 0:i[0])==null?void 0:s.meta)==null?void 0:f[1])==null?void 0:o[0].data)&&Pb(l[1][0].meta[1][0].data)==1&&l[1][0];if(!h)c.forEach(function(e){l[e].forEach(function(e){var r=Pb(e.meta[1][0].data)>>>0;if(r==1){if(!h)h=e;else throw new Error("Document has multiple roots")}})});if(!h)throw new Error("Cannot find Document root");return ow(l,h,r)}function cw(e,r,t){var a,n;var i=[[],[{type:0,data:Nb(0)}],[{type:0,data:Nb(0)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:Nb(5)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:Nb(1)}]];if(!((a=i[6])==null?void 0:a[0])||!((n=i[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var s=0;if(i[7][0].data.length<2*e.length){var f=new Uint8Array(2*e.length);f.set(i[7][0].data);i[7][0].data=f}if(i[4][0].data.length<2*e.length){var o=new Uint8Array(2*e.length);o.set(i[4][0].data);i[4][0].data=o}var l=yb(i[7][0].data),c=0,h=[];var u=yb(i[4][0].data),d=0,p=[];var v=t?4:1;for(var m=0;m1)throw new Error("Template NUMBERS file must have exactly one sheet");e.SheetNames.forEach(function(r,s){if(s>=1){gw(t,a,s+1);n=mw(t,a,1);i=Bb(Mb(n.messages[0].data)[1],qb)}bw(t,a,e.Sheets[r],r,s,i[s])});return t}function vw(e,r,t,a){var n=rr.find(e,r[t].location);if(!n)throw"Could not find ".concat(r[t].location," in Numbers template");var i=Wb(Vb(n.content));var s=i.find(function(e){return e.id==t});a(s,i);n.content=Gb(Hb(i));n.size=n.content.length}function mw(e,r,t){var a=rr.find(e,r[t].location);if(!a)throw"Could not find ".concat(r[t].location," in Numbers template");var n=Wb(Vb(a.content));var i=n.find(function(e){return e.id==t});return i}function gw(e,r,t){var a=-1,n=-1;var i={};vw(e,r,1,function(t,s){var f=Mb(t.messages[0].data);a=qb(Mb(t.messages[0].data)[1][0].data);n=uw({deps:[1],location:r[a].location,type:2},r);i[a]=n;ew(t,n);f[1].push({type:2,data:Qb(n)});var o=mw(e,r,a);o.id=n;if(r[1].location==r[n].location)s.push(o);else vw(e,r,n,function(e,r){return r.push(o)});t.messages[0].data=Ub(f)});var s=-1;vw(e,r,n,function(t,a){var f=Mb(t.messages[0].data);for(var o=3;o<=69;++o)delete f[o];var l=Bb(f[2],qb);l.forEach(function(e){return rw(t,e)});s=uw({deps:[n],location:r[l[0]].location,type:r[l[0]].type},r);ew(t,s);i[l[0]]=s;f[2]=[{type:2,data:Qb(s)}];var c=mw(e,r,l[0]);c.id=s;if(r[l[0]].location==r[n].location)a.push(c);else{var h=r[n].location;h=h.replace(/^Root Entry\//,"");h=h.replace(/^Index\//,"").replace(/\.iwa$/,"");vw(e,r,2,function(e){var r=Mb(e.messages[0].data);var t=r[3].findIndex(function(e){var r,t;var a=Mb(e.data);if((r=a[3])==null?void 0:r[0])return Cb(a[3][0].data)==h;if(((t=a[2])==null?void 0:t[0])&&Cb(a[2][0].data)==h)return true;return false});var a=Mb(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ub([[],[{type:0,data:Nb(s)}]])});r[3][t].data=Ub(a);e.messages[0].data=Ub(r)});vw(e,r,s,function(e,r){return r.push(c)})}t.messages[0].data=Ub(f)});var f=-1;vw(e,r,s,function(t,a){var n=Mb(t.messages[0].data);var o=Mb(n[1][0].data);for(var l=3;l<=69;++l)delete o[l];var c=qb(o[2][0].data);o[2][0].data=Qb(i[c]);n[1][0].data=Ub(o);var h=qb(n[2][0].data);rw(t,h);f=uw({deps:[s],location:r[h].location,type:r[h].type},r);ew(t,f);i[h]=f;n[2][0].data=Qb(f);var u=mw(e,r,h);u.id=f;if(r[s].location==r[f].location)a.push(u);else vw(e,r,f,function(e,r){return r.push(u)});t.messages[0].data=Ub(n)});var o=r[f].location;o=o.replace(/^Root Entry\//,"");o=o.replace(/^Index\//,"").replace(/\.iwa$/,"");vw(e,r,f,function(a,n){var s,l;var c=Mb(a.messages[0].data);var h=Cb(c[1][0].data),u=h.replace(/-[A-Z0-9]*/,"-".concat(t.toString(16).padStart(4,"0")));c[1][0].data=Sb(u);[12,13,29,31,32,33,39,44,47,81,82,84].forEach(function(e){return delete c[e]});if(c[45]){var d=Mb(c[45][0].data);var p=qb(d[1][0].data);rw(a,p);delete c[45]}if(c[70]){var v=Mb(c[70][0].data);(s=v[2])==null?void 0:s.forEach(function(e){var r=Mb(e.data);[2,3].map(function(e){return r[e][0]}).forEach(function(e){var r=Mb(e.data);if(!r[8])return;var t=qb(r[8][0].data);rw(a,t)})});delete c[70]}[46,30,34,35,36,38,48,49,60,61,62,63,64,71,72,73,74,75,85,86,87,88,89].forEach(function(e){if(!c[e])return;var r=qb(c[e][0].data);delete c[e];rw(a,r)});var m=Mb(c[4][0].data);{[2,4,5,6,11,12,13,15,16,17,18,19,20,21,22].forEach(function(t){var s;if(!((s=m[t])==null?void 0:s[0]))return;var l=qb(m[t][0].data);var c=uw({deps:[f],location:r[l].location,type:r[l].type},r);rw(a,l);ew(a,c);i[l]=c;var h=mw(e,r,l);h.id=c;if(r[l].location==r[f].location)n.push(h);else{r[c].location=r[l].location.replace(l.toString(),c.toString());if(r[c].location==r[l].location)r[c].location=r[c].location.replace(/\.iwa/,"-".concat(c,".iwa"));rr.utils.cfb_add(e,r[c].location,Gb(Hb([h])));var u=r[c].location;u=u.replace(/^Root Entry\//,"");u=u.replace(/^Index\//,"").replace(/\.iwa$/,"");vw(e,r,2,function(e){var r=Mb(e.messages[0].data);r[3].push({type:2,data:Ub([[],[{type:0,data:Nb(c)}],[{type:2,data:Sb(u.replace(/-.*$/,""))}],[{type:2,data:Sb(u)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:Nb(0)}],[],[{type:0,data:Nb(0)}]])});r[1]=[{type:0,data:Nb(Math.max(c+1,Pb(r[1][0].data)))}];var t=r[3].findIndex(function(e){var r,t;var a=Mb(e.data);if((r=a[3])==null?void 0:r[0])return Cb(a[3][0].data)==o;if(((t=a[2])==null?void 0:t[0])&&Cb(a[2][0].data)==o)return true;return false});var a=Mb(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ub([[],[{type:0,data:Nb(c)}]])});r[3][t].data=Ub(a);e.messages[0].data=Ub(r)})}m[t][0].data=Qb(c)});var g=Mb(m[1][0].data);{(l=g[2])==null?void 0:l.forEach(function(t){var s=qb(t.data);var l=uw({deps:[f],location:r[s].location,type:r[s].type},r);rw(a,s);ew(a,l);i[s]=l;var c=mw(e,r,s);c.id=l;if(r[s].location==r[f].location){n.push(c)}else{r[l].location=r[s].location.replace(s.toString(),l.toString());if(r[l].location==r[s].location)r[l].location=r[l].location.replace(/\.iwa/,"-".concat(l,".iwa"));rr.utils.cfb_add(e,r[l].location,Gb(Hb([c])));var h=r[l].location;h=h.replace(/^Root Entry\//,"");h=h.replace(/^Index\//,"").replace(/\.iwa$/,"");vw(e,r,2,function(e){var r=Mb(e.messages[0].data);r[3].push({type:2,data:Ub([[],[{type:0,data:Nb(l)}],[{type:2,data:Sb(h.replace(/-.*$/,""))}],[{type:2,data:Sb(h)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:Nb(0)}],[],[{type:0,data:Nb(0)}]])});r[1]=[{type:0,data:Nb(Math.max(l+1,Pb(r[1][0].data)))}];var t=r[3].findIndex(function(e){var r,t;var a=Mb(e.data);if((r=a[3])==null?void 0:r[0])return Cb(a[3][0].data)==o;if(((t=a[2])==null?void 0:t[0])&&Cb(a[2][0].data)==o)return true;return false});var a=Mb(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ub([[],[{type:0,data:Nb(l)}]])});r[3][t].data=Ub(a);e.messages[0].data=Ub(r)})}t.data=Qb(l)})}m[1][0].data=Ub(g);var b=Mb(m[3][0].data);{b[1].forEach(function(t){var n=Mb(t.data);var s=qb(n[2][0].data);var l=i[s];if(!i[s]){l=uw({deps:[f],location:"",type:r[s].type},r);r[l].location="Root Entry/Index/Tables/Tile-".concat(l,".iwa");i[s]=l;var c=mw(e,r,s);c.id=l;rw(a,s);ew(a,l);rr.utils.cfb_add(e,"/Index/Tables/Tile-".concat(l,".iwa"),Gb(Hb([c])));vw(e,r,2,function(e){var r=Mb(e.messages[0].data);r[3].push({type:2,data:Ub([[],[{type:0,data:Nb(l)}],[{type:2,data:Sb("Tables/Tile")}],[{type:2,data:Sb("Tables/Tile-".concat(l))}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:Nb(0)}],[],[{type:0,data:Nb(0)}]])});r[1]=[{type:0,data:Nb(Math.max(l+1,Pb(r[1][0].data)))}];var t=r[3].findIndex(function(e){var r,t;var a=Mb(e.data);if((r=a[3])==null?void 0:r[0])return Cb(a[3][0].data)==o;if(((t=a[2])==null?void 0:t[0])&&Cb(a[2][0].data)==o)return true;return false});var a=Mb(r[3][t].data);if(!a[6])a[6]=[];a[6].push({type:2,data:Ub([[],[{type:0,data:Nb(l)}]])});r[3][t].data=Ub(a);e.messages[0].data=Ub(r)})}n[2][0].data=Qb(l);t.data=Ub(n)})}m[3][0].data=Ub(b)}c[4][0].data=Ub(m);a.messages[0].data=Ub(c)})}function bw(e,r,t,a,n,i){var s=[];vw(e,r,i,function(e){var r=Mb(e.messages[0].data);{r[1]=[{type:2,data:Sb(a)}];s=Bb(r[2],qb)}e.messages[0].data=Ub(r)});var f=mw(e,r,s[0]);var o=qb(Mb(f.messages[0].data)[2][0].data);vw(e,r,o,function(a,n){return kw(e,r,t,a,n,o)})}var ww=true;function kw(e,r,t,a,n,i){var s=Ba(t["!ref"]);s.s.r=s.s.c=0;var f=false;if(s.e.c>999){f=true;s.e.c=999}if(s.e.r>999999){f=true;s.e.r=999999}if(f)console.error("Truncating to ".concat(Wa(s)));var o=nk(t,{range:s,header:1});var l=["~Sh33tJ5~"];var c=r[i].location;c=c.replace(/^Root Entry\//,"");c=c.replace(/^Index\//,"").replace(/\.iwa$/,"");var h=Mb(a.messages[0].data);{h[6][0].data=Nb(s.e.r+1);h[7][0].data=Nb(s.e.c+1);delete h[46];var u=Mb(h[4][0].data);{var d=qb(Mb(u[1][0].data)[2][0].data);vw(e,r,d,function(e,r){var t;var a=Mb(e.messages[0].data);if((t=a==null?void 0:a[2])==null?void 0:t[0])for(var n=0;n-1)return"sheet";if(si.CS&&e==si.CS)return"chart";if(si.DS&&e==si.DS)return"dialog";if(si.MS&&e==si.MS)return"macro";return e&&e.length?e:"sheet"}function Cw(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,yw(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Sw(e,r,t,a,n,i,s,f,o,l,c,h){try{i[a]=oi(Ur(e,t,true),r);var u=Mr(e,r);var d;switch(f){case"sheet":d=Wm(u,r,n,o,i[a],l,c,h);break;case"chart":d=Hm(u,r,n,o,i[a],l,c,h);if(!d||!d["!drawel"])break;var p=Gr(d["!drawel"].Target,r);var v=fi(p);var m=dh(Ur(e,p,true),oi(Ur(e,v,true),p));var g=Gr(m,p);var b=fi(g);d=nm(Ur(e,g,true),g,o,oi(Ur(e,b,true),g),l,d);break;case"macro":d=zm(u,r,n,o,i[a],l,c,h);break;case"dialog":d=Vm(u,r,n,o,i[a],l,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[],k=[];if(i&&i[a])fr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==si.CMNT){n=Gr(i[a][t].Target,r);w=jm(Mr(e,n,true),n,o);if(!w||!w.length)return;mh(d,w,false)}if(i[a][t].Type==si.TCMNT){n=Gr(i[a][t].Target,r);k=k.concat(wh(Mr(e,n,true),o))}});if(k&&k.length)mh(d,k,true,o.people||[])}catch(T){if(o.WTF)throw T}}function _w(e){return e.charAt(0)=="/"?e.slice(1):e}function xw(e,r){je();r=r||{};Aw(r);if(Pr(e,"META-INF/manifest.xml"))return mb(e,r);if(Pr(e,"objectdata.xml"))return mb(e,r);if(Pr(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof lw!="undefined"){if(e.FileIndex)return lw(e,r);var t=rr.utils.cfb_new();Wr(e).forEach(function(r){Hr(t,r,Br(e,r))});return lw(t,r)}throw new Error("Unsupported NUMBERS file")}if(!Pr(e,"[Content_Types].xml")){if(Pr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Pr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=rr.find(e,"Index.zip");if(a){r=yr(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return Ww(new Uint8Array(a.content),r);return Ww(a.content,r)}throw new Error("Unsupported ZIP file")}var n=Wr(e);var i=ni(Ur(e,"[Content_Types].xml"));var s=false;var f,o;if(i.workbooks.length===0){o="xl/workbook.xml";if(Mr(e,o,true))i.workbooks.push(o)}if(i.workbooks.length===0){o="xl/workbook.bin";if(!Mr(e,o,true))throw new Error("Could not find workbook");i.workbooks.push(o);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var l={};var c={};if(!r.bookSheets&&!r.bookProps){Jd=[];if(i.sst)try{Jd=$m(Mr(e,_w(i.sst)),i.sst,r)}catch(h){if(r.WTF)throw h}if(r.cellStyles&&i.themes.length)l=Hc(Ur(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)c=Gm(Mr(e,_w(i.style)),i.style,l,r)}i.links.map(function(t){try{var a=oi(Ur(e,fi(_w(t))),t);return Ym(Mr(e,_w(t)),a,t,r)}catch(n){}});var u=Bm(Mr(e,_w(i.workbooks[0])),i.workbooks[0],r);var d={},p="";if(i.coreprops.length){p=Mr(e,_w(i.coreprops[0]),true);if(p)d=ki(p);if(i.extprops.length!==0){p=Mr(e,_w(i.extprops[0]),true);if(p)Si(p,d,r)}}var v={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){p=Ur(e,_w(i.custprops[0]),true);if(p)v=Oi(p,r)}}var m={};if(r.bookSheets||r.bookProps){if(u.Sheets)f=u.Sheets.map(function N(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)f=d.SheetNames;if(r.bookProps){m.Props=d;m.Custprops=v}if(r.bookSheets&&typeof f!=="undefined")m.SheetNames=f;if(r.bookSheets?m.SheetNames:r.bookProps)return m}f={};var g={};if(r.bookDeps&&i.calcchain)g=Xm(Mr(e,_w(i.calcchain)),i.calcchain,r);var b=0;var w={};var k,T;{var A=u.Sheets;d.Worksheets=A.length;d.SheetNames=[];for(var E=0;E!=A.length;++E){d.SheetNames[E]=A[E].name}}var y=s?"bin":"xml";var C=i.workbooks[0].lastIndexOf("/");var S=(i.workbooks[0].slice(0,C+1)+"_rels/"+i.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!Pr(e,S))S="xl/_rels/workbook."+y+".rels";var _=oi(Ur(e,S,true),S.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=Km(Mr(e,_w(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=Th(Mr(e,_w(i.people[0])),r)}if(_)_=Cw(_,u.Sheets);var x=Mr(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=d.Worksheets;++b){var O="sheet";if(_&&_[b]){k="xl/"+_[b][1].replace(/[\/]?xl\//,"");if(!Pr(e,k))k=_[b][1];if(!Pr(e,k))k=S.replace(/_rels\/.*$/,"")+_[b][1];O=_[b][2]}else{k="xl/worksheets/sheet"+(b+1-x)+"."+y;k=k.replace(/sheet0\./,"sheet.")}T=k.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(d.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var R=false;for(var I=0;I!=r.sheets.length;++I){if(typeof r.sheets[I]=="number"&&r.sheets[I]==b)R=1;if(typeof r.sheets[I]=="string"&&r.sheets[I].toLowerCase()==d.SheetNames[b].toLowerCase())R=1}if(!R)continue e};}Sw(e,k,T,d.SheetNames[b],b,w,f,O,r,u,l,c)}m={Directory:i,Workbook:u,Props:d,Custprops:v,Deps:g,Sheets:f,SheetNames:d.SheetNames,Strings:Jd,Styles:c,Themes:l,SSF:yr(J)};if(r&&r.bookFiles){if(e.files){m.keys=n;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(i.vba.length>0)m.vbaraw=Mr(e,_w(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===Oh)m.vbaraw=Mr(e,"xl/vbaProject.bin",true)}m.bookType=s?"xlsb":"xlsx";return m}function Ow(e,r){var t=r||{};var a="Workbook",n=rr.find(e,a);try{a="/!DataSpaces/Version";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);al(n.content);a="/!DataSpaces/DataSpaceMap";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=il(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=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=sl(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);ol(n.content)}catch(f){}a="/EncryptionInfo";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=hl(n.content);a="/EncryptedPackage";n=rr.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 Rw(e,r){if(e&&!e.SSF){e.SSF=yr(J)}if(e&&e.SSF){je();$e(e.SSF);r.revssf=cr(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(Qd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=ai();Ew(r=r||{});var i=zr();var s="",f=0;r.cellXfs=[];ap(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Hr(i,s,Ai(e.Props,r));n.coreprops.push(s);ci(r.rels,2,s,si.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";Hr(i,s,Ri(e.Custprops,r));n.custprops.push(s);ci(r.rels,4,s,si.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;Hr(i,s,tm(f-1,r,e,c));n.sheets.push(s);ci(r.wbrels,-1,"worksheets/sheet"+f+"."+t,si.WS[0]);}if(h){var d=h["!comments"];var p=false;var v="";if(d&&d.length>0){v="xl/comments"+f+"."+t;Hr(i,v,xh(d,r));n.comments.push(v);ci(c,-1,"../comments"+f+"."+t,si.CMNT);p=true}if(h["!legacy"]){if(p)Hr(i,"xl/drawings/vmlDrawing"+f+".vml",ph(f,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(c["!id"].rId1)Hr(i,fi(s),li(c))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Hr(i,s,el(r.Strings,r));n.strs.push(s);ci(r.wbrels,-1,"sharedStrings."+t,si.SST)}s="xl/workbook."+t;Hr(i,s,Um(e,r));n.workbooks.push(s);ci(r.rels,1,s,si.WB);s="xl/theme/theme1.xml";var m=zc(e.Themes,r);Hr(i,s,m);n.themes.push(s);ci(r.wbrels,-1,"theme/theme1.xml",si.THEME);s="xl/styles."+t;Hr(i,s,Ic(e,r));n.styles.push(s);ci(r.wbrels,-1,"styles."+t,si.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Hr(i,s,e.vbaraw);n.vba.push(s);ci(r.wbrels,-1,"vbaProject.bin",si.VBA)}s="xl/metadata."+t;Hr(i,s,ih());n.metadata.push(s);ci(r.wbrels,-1,"metadata."+t,si.XLMETA);Hr(i,"[Content_Types].xml",ii(n,r));Hr(i,"_rels/.rels",li(r.rels));Hr(i,"xl/_rels/workbook."+t+".rels",li(r.wbrels));delete r.revssf;delete r.ssf;return i}function Iw(e,r){if(e&&!e.SSF){e.SSF=yr(J)}if(e&&e.SSF){je();$e(e.SSF);r.revssf=cr(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(Qd)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Nh.indexOf(r.bookType)>-1;var n=ai();Ew(r=r||{});var i=zr();var s="",f=0;r.cellXfs=[];ap(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Hr(i,s,Ai(e.Props,r));n.coreprops.push(s);ci(r.rels,2,s,si.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";Hr(i,s,Ri(e.Custprops,r));n.custprops.push(s);ci(r.rels,4,s,si.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;Hr(i,s,Up(f-1,r,e,h));n.sheets.push(s);ci(r.wbrels,-1,"worksheets/sheet"+f+"."+t,si.WS[0]);}if(u){var p=u["!comments"];var v=false;var m="";if(p&&p.length>0){var g=false;p.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){m="xl/threadedComments/threadedComment"+f+".xml";Hr(i,m,kh(p,c,r));n.threadedcomments.push(m);ci(h,-1,"../threadedComments/threadedComment"+f+".xml",si.TCMNT)}m="xl/comments"+f+"."+t;Hr(i,m,bh(p,r));n.comments.push(m);ci(h,-1,"../comments"+f+"."+t,si.CMNT);v=true}if(u["!legacy"]){if(v)Hr(i,"xl/drawings/vmlDrawing"+f+".vml",ph(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Hr(i,fi(s),li(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Hr(i,s,Ko(r.Strings,r));n.strs.push(s);ci(r.wbrels,-1,"sharedStrings."+t,si.SST)}s="xl/workbook."+t;Hr(i,s,Am(e,r));n.workbooks.push(s);ci(r.rels,1,s,si.WB);s="xl/theme/theme1.xml";Hr(i,s,zc(e.Themes,r));n.themes.push(s);ci(r.wbrels,-1,"theme/theme1.xml",si.THEME);s="xl/styles."+t;Hr(i,s,nc(e,r));n.styles.push(s);ci(r.wbrels,-1,"styles."+t,si.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Hr(i,s,e.vbaraw);n.vba.push(s);ci(r.wbrels,-1,"vbaProject.bin",si.VBA)}s="xl/metadata."+t;Hr(i,s,fh());n.metadata.push(s);ci(r.wbrels,-1,"metadata."+t,si.XLMETA);if(c.length>1){s="xl/persons/person.xml";Hr(i,s,Ah(c,r));n.people.push(s);ci(r.wbrels,-1,"persons/person.xml",si.PEOPLE)}Hr(i,"[Content_Types].xml",ii(n,r));Hr(i,"_rels/.rels",li(r.rels));Hr(i,"xl/_rels/workbook."+t+".rels",li(r.wbrels));delete r.revssf;delete r.ssf;return i}function Nw(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=E(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 Dw(e,r){if(rr.find(e,"EncryptedPackage"))return Ow(e,r);return Ng(e,r)}function Fw(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=y&&Buffer.isBuffer(e)?"buffer":"base64";t=Vr(a,n);return xw(t,n)}function Pw(e,r){var t=0;e:while(t=2&&i[3]===0)return Lo.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return Lo.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return Ro.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return Sl(n,t);break;case 10:;case 13:;case 32:return Lw(n,t);case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Oo.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return Ro.to_workbook(n,t);return Bw(e,n,t,s)}function Hw(e,r){var t=r||{};t.type="file";return Ww(e,t)}function zw(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return ir(r.file,rr.write(e,{type:y?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return rr.write(e,r)}function Vw(e,r){switch(r.bookType){case"ods":return Ab(e,r);case"numbers":return pw(e,r);case"xlsb":return Rw(e,r);default:return Iw(e,r);}}function Gw(e,r){var t=yr(r||{});var a=Vw(e,t);return jw(a,t)}function $w(e,r){var t=yr(r||{});var a=Iw(e,t);return jw(a,t)}function jw(e,r){var t={};var a=y?"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?rr.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(R(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return zw(encrypt_agile(n,r.password),r);if(r.type==="file")return ir(r.file,n);return r.type=="string"?gt(n):n}function Xw(e,r){var t=r||{};var a=Dg(e,t);return zw(a,t)}function Yw(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return T(bt(a));case"binary":return bt(a);case"string":return e;case"file":return ir(r.file,a,"utf8");case"buffer":{if(y)return C(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Yw(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Kw(e,r){switch(r.type){case"base64":return A(e);case"binary":return e;case"string":return e;case"file":return ir(r.file,e,"binary");case"buffer":{if(y)return C(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Zw(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=Oa(o.s.r);var u=[];var d=[];var p=0,v=0;var m=e["!data"]!=null;var g=o.s.r,b=0;var w={};if(m&&!e["!data"][g])e["!data"][g]=[];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]=Da(b);t=m?e["!data"][g][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=$a(t,null,l);v=w[s]||0;if(!v)w[s]=1;else{do{f=s+"_"+v++}while(w[f]);w[s]=v;w[f]=1}i[b]=f;}}for(g=o.s.r+n;g<=o.e.r;++g){if((T[g]||{}).hidden)continue;var A=ak(e,o,g,u,a,i,l);if(A.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[p++]=A.row}d.length=p;return d}var ik=/"/g;function sk(e,r,t,a,n,i,s,f){var o=true;var l=[],c="",h=Oa(t);var u=e["!data"]!=null;var d=u&&e["!data"][t]||[];for(var p=r.s.c;p<=r.e.c;++p){if(!a[p])continue;var v=u?d[p]:e[a[p]+h];if(v==null)c="";else if(v.v!=null){o=false;c=""+(f.rawNumbers&&v.t=="n"?v.v:$a(v,null,f));for(var m=0,g=0;m!==c.length;++m)if((g=c.charCodeAt(m))===n||g===i||g===34||f.forceQuotes){c='"'+c.replace(ik,'""')+'"';break}if(c=="ID")c='"ID"'}else if(v.f!=null&&!v.F){o=false;c="="+v.f;if(c.indexOf(",")>=0)c='"'+c.replace(ik,'""')+'"'}else c="";l.push(c)}if(f.blankrows===false&&o)return null;return l.join(s)}function fk(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Va(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=[];var u=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var p=n.s.c;p<=n.e.c;++p)if(!(u[p]||{}).hidden)h[p]=Da(p);var v=0;for(var m=n.s.r;m<=n.e.r;++m){if((d[m]||{}).hidden)continue;c=sk(e,n,m,h,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(l,"");if(c||a.blankrows!==false)t.push((v++?f:"")+c)}return t.join("")}function ok(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=fk(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 lk(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Va(e["!ref"]),i="",s=[],f;var o=[];var l=e["!data"]!=null;for(f=n.s.c;f<=n.e.c;++f)s[f]=Da(f);for(var c=n.s.r;c<=n.e.r;++c){i=Oa(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e["!data"][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 ck(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var f=0,o=0;if(s&&a.origin!=null){if(typeof a.origin=="number")f=a.origin;else{var l=typeof a.origin=="string"?Ma(a.origin):a.origin;f=l.r;o=l.c}}var c={s:{c:0,r:0},e:{c:o,r:f+r.length-1+i}};if(s["!ref"]){var h=Va(s["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(f==-1){f=h.e.r+1;c.e.r=f+r.length-1+i}}else{if(f==-1){f=0;c.e.r=r.length-1+i}}var u=a.header||[],d=0;var p=[];r.forEach(function(e,r){if(n&&!s["!data"][f+r+i])s["!data"][f+r+i]=[];if(n)p=s["!data"][f+r+i];fr(e).forEach(function(t){if((d=u.indexOf(t))==-1)u[d=u.length]=t;var l=e[t];var c="z";var h="";var v=n?"":Da(o+d)+Oa(f+r+i);var m=n?p[o+d]:s[v];if(l&&typeof l==="object"&&!(l instanceof Date)){if(n)p[o+d]=l;else s[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=dr(l)}h=m!=null&&m.z&&Ue(m.z)?m.z:a.dateNF||J[14]}else if(l===null&&a.nullError){c="e";l=0}if(!m){if(!n)s[v]=m={t:c,v:l};else p[o+d]=m={t:c,v:l}}else{m.t=c;m.v=l;delete m.w;delete m.R;if(h)m.z=h}if(h)m.z=h}})});c.e.c=Math.max(c.e.c,o+u.length-1);var v=Oa(f);if(n&&!s["!data"][f])s["!data"][f]=[];if(i)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 pk(){return{SheetNames:[],Sheets:{}}}function vk(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}gm(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function mk(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=dk(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 gk(e,r){e.z=r;return e}function bk(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function wk(e,r,t){return bk(e,"#"+r,t)}function kk(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Tk(e,r,t,a){var n=typeof r!="string"?r:Va(r);var i=typeof r=="string"?r:Wa(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=uk(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}}var l=Ba(e["!ref"]);if(l.s.r>n.s.r)l.s.r=n.s.r;if(l.s.c>n.s.c)l.s.c=n.s.c;if(l.e.rs.e.r){if(!o){o=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(tb(e,s,f,a));++f;break}};return t}function _k(e,r){var t=Ek({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=Va(h);break;case"number":l=Va(e["!ref"]);l.s.r=h;break;default:l=h;}if(n>0)i=0;var u=Oa(l.s.r);var d=[];var p=0;var v=e["!data"]!=null;var m=l.s.r,g=0;var b={};if(v&&!e["!data"][m])e["!data"][m]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(g=l.s.c;g<=l.e.c;++g){if((w[g]||{}).hidden)continue;d[g]=Da(g);a=v?e["!data"][m][g]:e[d[g]+u];switch(n){case 1:s[g]=g-l.s.c;break;case 2:s[g]=d[g];break;case 3:s[g]=c.header[g-l.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};o=f=$a(a,null,c);p=b[f]||0;if(!p)b[f]=1;else{do{o=f+"_"+p++}while(b[o]);b[f]=p;b[o]=1}s[g]=o;}}m=l.s.r+i;t._read=function(){while(m<=l.e.r){if((k[m-1]||{}).hidden)continue;var r=ak(e,l,m,d,n,s,c);++m;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var xk={to_json:_k,to_html:Sk,to_csv:Ck,set_readable:yk};if(typeof Ng!=="undefined")e.parse_xlscfb=Ng;e.parse_zip=xw;e.read=Ww;e.readFile=Hw;e.readFileSync=Hw;e.write=qw;e.writeFile=ek;e.writeFileSync=ek;e.writeFileAsync=tk;e.utils=Ak;e.writeXLSX=Jw;e.writeFileXLSX=rk;e.set_fs=ar;e.set_cptable=g;e.SSF=Xe;if(typeof xk!=="undefined")e.stream=xk;if(typeof rr!=="undefined")e.CFB=rr;if(typeof require!=="undefined"){var Ok=undefined;if((Ok||{}).Readable)yk(Ok.Readable);try{tr=undefined}catch(Rk){}}}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 l={};var o=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,m=Buffer.allocUnsafe(p);var g=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+(l&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;m=Buffer.allocUnsafe(p)}if(Buffer.isBuffer(e)){for(t=0;t>8}return function o(e,r){var t=e.length,n=Buffer.allocUnsafe(2*t),i=0,s=0,f=0,l=0,o=0;if(typeof e==="string"){for(i=l=0;i0)n[l++]=a[s]}n=n.slice(0,l)}else if(Buffer.isBuffer(e)){for(i=l=0;i0)n[l++]=a[s]}else{f=s-65536;s=2*(55296+(f>>10&1023));n[l++]=a[s+1]||a[s];if(a[s+1]>0)n[l++]=a[s];s=2*(56320+(f&1023));n[l++]=a[s+1]||a[s];if(a[s+1]>0)n[l++]=a[s]}}n=n.slice(0,l)}else{for(i=l=0;i0)n[l++]=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,l=0;for(l=0;l<65536;++l){a[2*l]=255;a[2*l+1]=253}for(n=0;n>8}return function o(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;m=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);m[s++]=a&255;m[s++]=a>>>8;m[s++]=t&255;m[s++]=t>>>8&255}}return m.slice(0,s).toString("ucs2")};s[65001]=function H(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;m=Buffer.allocUnsafe(p)}for(var f=0;f>6);m[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);m[i++]=240+(n>>>18&7);m[i++]=144+(n>>>12&63);m[i++]=128+(n>>>6&63);m[i++]=128+(n&63)}else{m[i++]=224+(a>>12);m[i++]=128+(a>>6&63);m[i++]=128+(a&63)}}if(!r||r==="buf")return m.slice(0,i);if(r!=="arr")return m.slice(0,i).toString("binary");return[].slice.call(m,0,i)}}var A=function V(){if(h){if(f[t[0]])return;var r=0,o=0;for(r=0;r255){s[d]=f>>8;s[++d]=f&255}else s[d]=f&255}else if(g=r[t])switch(g){case"utf8":if(h&&b){s=u(a,g);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,g);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=$(1201,w);s[d++]=43;s[d++]=S.charCodeAt(k[0]>>2);s[d++]=S.charCodeAt(((k[0]&3)<<4)+((k[1]||0)>>4));s[d++]=S.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(o).join(""):s;if(!n||n==="buf")return s;if(n!=="arr")return s.toString("binary");return[].slice.call(s)};var N=function j(t,a){var n;if(n=f[t])return n(a);if(typeof a==="string")return j(t,a.split("").map(c));var i=a.length,s=new Array(i),l="",o=0,u=0,d=1,v=0,p=0;var m=e[t],g,b="";if(m&&(g=m.dec)){for(u=0;u=3&&a[0]==239)if(a[1]==187&&a[2]==191)u=3;for(;u>10&1023);o=56320+(o&1023);s[v++]=String.fromCharCode(p);s[v++]=String.fromCharCode(o)}}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){o-=65536;s[v++]=String.fromCharCode(55296+(o>>10&1023));s[v++]=String.fromCharCode(56320+(o&1023))}else s[v++]=String.fromCharCode(o)}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){o-=65536;s[v++]=String.fromCharCode(55296+(o>>10&1023));s[v++]=String.fromCharCode(56320+(o&1023))}else s[v++]=String.fromCharCode(o)}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=S.indexOf(String.fromCharCode(a[u+R++]));if(x===-1)break;y=(_&15)<<4|x>>2;k.push(y);O=S.indexOf(String.fromCharCode(a[u+R++]));if(O===-1)break;E=(x&3)<<6|O;if(O<64)k.push(E)}T=j(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[2*t]+(e[2*t+1]<<8));return r.join("")}function d(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 v=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 d(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function fT(e){return String.fromCharCode(e)};var m=function lT(e){return String.fromCharCode(e)};function g(e){a=e;l=function(e){r=e;s(e)};v=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,c(e.slice(2)))}return e};p=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};m=function i(e){return a.utils.decode(t,[e])[0]};fa()}var b=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function T(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e.charCodeAt(o++);s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function A(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o255)t=95;i=t>>2;a=e.charCodeAt(o++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(o++);if(n>255)n=95;f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function y(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;for(var o=0;o>2;a=e[o++];s=(t&3)<<4|a>>4;n=e[o++];f=(a&15)<<2|n>>6;l=n&63;if(isNaN(a)){f=l=64}else if(isNaN(n)){l=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(f)+k.charAt(l)}return r}function E(e){var r="";var t=0,a=0,n=0,i=0,s=0,f=0,l=0;e=e.replace(/^data:([^\/]+\/[^\/]+)?;base64\,/,"").replace(/[^\w\+\/\=]/g,"");for(var o=0;o>4;r+=String.fromCharCode(t);f=k.indexOf(e.charAt(o++));a=(s&15)<<4|f>>2;if(f!==64){r+=String.fromCharCode(a)}l=k.indexOf(e.charAt(o++));n=(f&3)<<6|l;if(l!==64){r+=String.fromCharCode(n)}}return r}var C=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var _=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var S=function(){if(typeof Buffer==="undefined")return false;var e=_([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function x(e){if(C)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function O(e){if(C)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var R=function oT(e){if(C)return _(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function I(e){if(typeof ArrayBuffer==="undefined")return R(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 N(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=x(65535);a=65530}}r.push(n.slice(0,t));return P(r)}var M=/\u0000/g,U=/[\u0001-\u0006]/g;function B(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function W(e,r){var t=""+e;return t.length>=r?t:Tr("0",r-t.length)+t}function z(e,r){var t=""+e;return t.length>=r?t:Tr(" ",r-t.length)+t}function H(e,r){var t=""+e;return t.length>=r?t:t+Tr(" ",r-t.length)}function V(e,r){var t=""+Math.round(e);return t.length>=r?t:Tr("0",r-t.length)+t}function X(e,r){var t=""+e;return t.length>=r?t:Tr("0",r-t.length)+t}var G=Math.pow(2,32);function j(e,r){if(e>G||e<-G)return V(e,r);var t=Math.round(e);return X(t,r)}function K(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 Y=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var Z=[["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 J(e){if(!e)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"秒 "';return e}var q={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var Q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var ee={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 re(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 h=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 u=Math.floor(a*f/c);return[u,a*f-u*c,c]}function te(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=oe(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}function ae(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function ne(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function ie(e){var r=e<0?12:11;var t=ae(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function se(e){var r=ae(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function fe(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=ie(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=se(e);return ae(ne(t.toUpperCase()))}function le(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):fe(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return We(14,ur(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function oe(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function ce(e,r,t,a){var n="",i=0,s=0,f=t.y,l,o=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:l=f%100;o=2;break;default:l=f%1e4;o=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;o=r.length;break;case 3:return Z[t.m-1][1];case 5:return Z[t.m-1][0];default:return Z[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;o=r.length;break;case 3:return Y[t.q][0];default:return Y[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 W(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=W(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.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=f;o=1;break;}var c=o>0?W(l,o):"";return c}function he(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 ue=/%/g;function de(e,r,t){var a=r.replace(ue,""),n=r.length-a.length;return Ne(e,a,t*Math.pow(10,2*n))+Tr("%",n)}function ve(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Ne(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function pe(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"-"+pe(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 me=/# (\?+)( ?)\/( ?)(\d+)/;function ge(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,f=a;return t+(i===0?"":""+i)+" "+(s===0?Tr(" ",e[1].length+1+e[4].length):z(s,e[1].length)+e[2]+"/"+e[3]+W(f,e[4].length))}function be(e,r,t){return t+(r===0?"":""+r)+Tr(" ",e[1].length+2+e[4].length)}var we=/^#*0*\.([0#]+)/;var ke=/\).*[0#]/;var Te=/\(###\) ###\\?-####/;function Ae(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 ye(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ee(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 Ce(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 Se(e,r,t){if(e.charCodeAt(0)===40&&!r.match(ke)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Se("n",a,t);return"("+Se("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return ve(e,r,t);if(r.indexOf("%")!==-1)return de(e,r,t);if(r.indexOf("E")!==-1)return pe(r,t);if(r.charCodeAt(0)===36)return"$"+Se(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+j(l,r.length);if(r.match(/^[#?]+$/)){n=j(t,0);if(n==="0")n="";return n.length>r.length?n:Ae(r.substr(0,r.length-n.length))+n}if(i=r.match(me))return ge(i,l,o);if(r.match(/^#+0+$/))return o+j(l,r.length-r.indexOf("0"));if(i=r.match(we)){n=ye(t,i[1].length).replace(/^([^\.]+)$/,"$1."+Ae(i[1])).replace(/\.$/,"."+Ae(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+Tr("0",Ae(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+ye(l,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+he(j(l,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Se(e,r,-t):he(""+(Math.floor(t)+Ce(t,i[1].length)))+"."+W(Ee(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Se(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(Se(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Ie("n",a,t);return"("+Ie("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return xe(e,r,t);if(r.indexOf("%")!==-1)return Oe(e,r,t);if(r.indexOf("E")!==-1)return Re(r,t);if(r.charCodeAt(0)===36)return"$"+Ie(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,f,l=Math.abs(t),o=t<0?"-":"";if(r.match(/^00+$/))return o+W(l,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:Ae(r.substr(0,r.length-n.length))+n}if(i=r.match(me))return be(i,l,o);if(r.match(/^#+0+$/))return o+W(l,r.length-r.indexOf("0"));if(i=r.match(we)){n=(""+t).replace(/^([^\.]+)$/,"$1."+Ae(i[1])).replace(/\.$/,"."+Ae(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+Tr("0",Ae(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return o+(""+l).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return o+he(""+l);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Ie(e,r,-t):he(""+t)+"."+Tr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Ie(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(Ie(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-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}function Le(e,r,t,a){var n=[],i="",s=0,f="",l="t",o,c,h;var u="H";while(s=12?e.charAt(s+2):f;p.t="T";u="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(o!=null)p.v=o.H>=12?"PM":"AM";p.t="T";s+=5;u="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(o!=null)p.v=o.H>=12?"下午":"上午";p.t="T";s+=5;u="h"}else{p.t="t";++s}if(o==null&&p.t==="T")return"";n[n.length]=p;l=f;break;case"[":i=f;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Pe(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 m=0,g=0,b;for(s=n.length-1,l="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=u;l="h";if(m<1)m=1;break;case"s":if(b=n[s].v.match(/\.0+$/))g=Math.max(g,b[0].length-1);if(m<3)m=3;case"d":;case"y":;case"M":;case"e":l=n[s].t;break;case"m":if(l==="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(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 w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){A=r<0&&w.charCodeAt(0)===45?-r:r;y=Ne("n",w,A)}else{A=r<0&&a>1?-r:r;y=Ne("n",w,A);if(A<0&&n[0]&&n[0].t=="t"){y=y.substr(1);n[0].v="-"+n[0].v}}k=y.length-1;var E=n.length;for(s=0;s-1){E=s;break}var C=n.length;if(E===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(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=y.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=y.substr(0,k+1);k=-1}n[s].t="t";C=s}if(k>=0&&C=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;c=n[s].v.indexOf(".")>-1&&s===E?n[s].v.indexOf(".")-1:n[s].v.length-1;T=n[s].v.substr(c+1);for(;c>=0;--c){if(k>=0&&(n[s].v.charAt(c)==="0"||n[s].v.charAt(c)==="#"))T=y.charAt(k--)+T}n[s].v=T;n[s].t="t";C=s}if(k>=0&&C-1&&s===E?n[s].v.indexOf(".")+1:0;T=n[s].v.substr(0,c);for(;c-1){A=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Ne(n[s].t,n[s].v,A);n[s].t="t"}var _="";for(s=0;s!==n.length;++s)if(n[s]!=null)_+=n[s].v;return _}var Me=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Ue(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 Be(e,r){var t=Fe(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(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(Me);var f=t[1].match(Me);return Ue(r,s)?[a,t[0]]:Ue(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function We(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:q)[e];if(a==null)a=t.table&&t.table[Q[e]]||q[Q[e]];if(a==null)a=ee[e]||"General";break;}if(K(a,0))return le(r,t);if(r instanceof Date)r=ur(r,t.date1904);var n=Be(a,r);if(K(n[1]))return le(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Le(n[1],r,t,n[0])}function ze(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(q[t]==undefined){if(r<0)r=t;continue}if(q[t]==e){r=t;break}}if(r<0)r=391}q[r]=e;return r}function He(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)ze(e[r],r)}function Ve(){q=J()}var Xe={format:We,load:ze,_table:q,load_table:He,parse_date_code:te,is_date:Pe,get_table:function cT(){return Xe._table=q}};var Ge={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 $e=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function je(e){var r=typeof e=="number"?q[e]:e;r=r.replace($e,"(\\d+)");$e.lastIndex=0;return new RegExp("^"+r+"$")}function Ke(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,l=-1;(r.match($e)||[]).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;}});$e.lastIndex=0;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 Ye={"d.m":"d\\.m"};function Ze(e,r){return ze(Ye[e]||e,r)}var Je=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"&&typeof n.subarray=="function"?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],h=n[6],u=n[7],d=n[8],v=n[9];var p=n[10],m=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 T(e,r){var a=r^-1,n=e.length-15,k=0;for(;k>8&255]^g[e[k++]^a>>16&255]^m[e[k++]^a>>>24]^p[e[k++]]^v[e[k++]]^d[e[k++]]^u[e[k++]]^h[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 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 qe=function hT(){var e={};e.version="1.2.2";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){ka(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;case 1:{var f=e._R(4),l=e._R(4);s.usz=l*Math.pow(2,32)+f;f=e._R(4);l=e._R(4);s.csz=l*Math.pow(2,32)+f}break;}e.l=i;r[a]=s}return r}var f;function l(){return f||(f=Qe)}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 We(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);ka(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);ka(v,28)}var w=e.slice(0,a);h(v,t);var k=v._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);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 T=-1,A=0;A<109;++A){T=v._R(4,"i");if(T<0)break;o[A]=T}var y=u(e,a);p(l,i,y,a,o);var E=g(y,s,o,a);if(s0&&f!==L)E[f].name="!MiniFAT";E[o[0]].name="!FAT";E.fat_addrs=o;E.ssz=a;var C={},_=[],S=[],x=[];b(s,E,y,_,n,C,S,f);d(S,x,_);_.shift();var O={FileIndex:S,FullPaths:x};if(r&&r.raw)O.raw={header:w,sectors:y};return O}function c(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 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*D,s*D+D));n-=D;s=ua(t,s*4)}if(i.length===0)return Aa(0);return P(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=1)p(ua(s,a-4),r-1,t,a,n)}}function m(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var f=a-1,l=0,o=0;for(l=r;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=ua(e[c],o)}return{nodes:i,data:zt([s])}}function g(e,r,t,a){var n=e.length,i=[];var s=[],f=[],l=[];var o=a-1,c=0,h=0,u=0,d=0;for(c=0;c=n)u-=n;if(s[u])continue;l=[];var v=[];for(h=u;h>=0;){v[h]=true;s[h]=true;f[f.length]=h;l.push(e[h]);var p=t[Math.floor(h*4/a)];d=h*4&o;if(a<4+d)throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[p])break;h=ua(e[p],d);if(v[h])break}i[u]={nodes:f,data:zt([l])}}return i}function b(e,r,t,a,n,i,s,f){var l=0,o=a.length?2:0;var c=r[e].data;var h=0,u=0,d;for(;h0&&l!==L)r[l].name="!StreamData"}else if(g.size>=4096){g.storage="fat";if(r[g.start]===undefined)r[g.start]=m(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(l!==L&&g.start!==L&&r[l]){g.content=v(g,r[l].data,(r[f]||{}).data)}}if(g.content)ka(g.content,0);i[d]=g;s.push(g)}}function w(e,r){return new Date((ha(e,r+4)/1e7*Math.pow(2,32)+ha(e,r)/1e7-11644473600)*1e3)}function k(e,r){l();return o(f.readFileSync(e),r)}function A(e,r){var t=r&&r.type;if(!t){if(C&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return o(R(E(e)),r);case"binary":return o(R(e),r);}return o(e,r)}function y(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;S(e)}function S(e){var r="Sh33tJ5";if(qe.find(e,"/"+r))return;var t=Aa(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);I(e)}function I(e,n){y(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 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 N(e,r){var t=r||{};if(t.fileType=="mad")return ze(e,t);I(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 l=r+127>>7;var o=f+t+s+l;var c=o+127>>7;var h=c<=109?0:Math.ceil((c-109)/127);while(o+c+h+127>>7>c)h=++c<=109?0:Math.ceil((c-109)/127);var u=[1,h,c,l,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=Aa(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,W[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;i32){console.error("Name "+u+" will be truncated to "+u.slice(0,32));u=u.slice(0,32)}o=2*(u.length+1);n._W(64,u,"utf16le");n._W(2,o);n._W(1,c.type);n._W(1,c.color);n._W(-4,c.L);n._W(-4,c.R);n._W(-4,c.C);if(!c.clsid)for(l=0;l<4;++l)n._W(4,0);else n._W(16,c.clsid,"hex");n._W(4,c.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,c.start);n._W(4,c.size);n._W(4,0)}for(i=1;i=4096){n.l=c.start+1<<9;if(C&&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(C&&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 ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(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 ce(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 ve(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(C){var i=O(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=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=ce(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,h=0;if(c=s[l]){c|=i&~32767;if(c>i)c-=32768;if(c2){o=a[h];if(o<=22)n=ue(t,n,re[o+1]>>1)-1;else{ue(t,n,3);n+=5;ue(t,n,re[o-23]>>5);n+=3}var u=o<8?0:o-4>>2;if(u>0){de(t,n,h-J[o]);n+=u}o=e[i-c];n=ue(t,n,re[o]>>3);n-=3;var d=o<4?0:o-2>>1;if(d>0){de(t,n,i-c-q[o]);n+=d}for(var v=0;v>8-v;for(var p=(1<<7-v)-1;p>=0;--p)Ee[d|p<>>=3){case 16:i=3+ne(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+ie(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(l>>0;var f=0,l=0;while((a&1)==0){a=ie(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=Se(e,t);f=Ce;l=_e}for(;;){if(!r&&s>>1==1?ge[c]:Ae[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+J[h];if(u>0){d+=oe(e,t,u);t+=u}c=oe(e,t,l);h=a>>>1==1?be[c]:ye[c];t+=h&15;h>>>=4;var v=h<4?0:h-2>>1;var p=q[h];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=xe(t,r);e.l+=a[1];return a[0]}function Re(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Ie(e,r){var t=e;ka(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};y(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};y(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: "+Pe(f,s));n.push("");n.push(p?Me(c):Le(c))}n.push(a+"--\r\n");return n.join("\r\n")}function He(e){var r={};y(r,e);return r}function Ve(e,r,t,n){var i=n&&n.unsafe;if(!i)y(e);var s=!i&&qe.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)qe.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){y(e);var t=qe.find(e,r);if(t)for(var a=0;a=60&&e<61)return e;var r=new Date;r.setTime((e>60?e:e+1)*24*60*60*1e3+or);return r}function vr(e){var r=0,t=0,a=false;var n=e.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!n)throw new Error("|"+e+"| is not an ISO8601 Duration");for(var i=1;i!=n.length;++i){if(!n[i])continue;t=1;if(i>3)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 pr=/^(\d+):(\d+)(:\d+)?(\.\d+)?$/;var mr=/^(\d+)-(\d+)-(\d+)$/;var gr=/^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/;function br(e,r){if(e instanceof Date)return e;var t=e.match(pr);if(t)return new Date((r?hr:cr)+((parseInt(t[1],10)*60+parseInt(t[2],10))*60+(t[3]?parseInt(t[3].slice(1),10):0))*1e3+(t[4]?parseInt((t[4]+"000").slice(1,4),10):0));t=e.match(mr);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],0,0,0,0));t=e.match(gr);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],+t[4],+t[5],t[6]&&parseInt(t[6].slice(1),10)||0,t[7]&&parseInt(t[7].slice(1),10)||0));var a=new Date(e);return a}function wr(e,r){if(C&&Buffer.isBuffer(e)){if(r&&S){if(e[0]==255&&e[1]==254)return kt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return kt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return kt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return kt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[],i=0;try{for(i=0;i3&&Or.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\\ ]/))return i;return n}var Ir=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var f=1;f\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Yr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Zr=/<[^>]*>/g;var Jr=jr.match(Yr)?Yr:Zr;var qr=/<\w*:/,Qr=/<(\/?)\w+:/;function et(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(Kr),f=0,l="",o=0,c="",h="",u=1;if(s)for(o=0;o!=s.length;++o){h=s[o];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;l=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]=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 rt(e){return e.replace(Qr,"<$1")}var tt={""":'"',"'":"'",">":">","<":"<","&":"&"};var at=sr(tt);var nt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;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))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var it=/[&<>'"]/g,st=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function ft(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(st,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function lt(e){return ft(e).replace(/ /g,"_x0020_")}var ot=/[\u0000-\u001f]/g;function ct(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(/\n/g,"
").replace(ot,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function ht(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(ot,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var ut=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 dt(e){return e.replace(/(\r\n|[\r\n])/g," ")}function vt(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function pt(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}function mt(e){var r=x(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")}function gt(e){return _(e,"binary").toString("utf8")}var bt="foo bar baz☃🍣";var wt=C&&(gt(bt)==pt(bt)&>||mt(bt)==pt(bt)&&mt)||pt;var kt=C?function(e){return _(e,"utf8").toString("binary")}: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("")};var Tt=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 At=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 Et=/<\/?(?:vt:)?variant>/g,Ct=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function Ot(e){return nr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function Rt(e,r,t){return"<"+e+(t!=null?Ot(t):"")+(r!=null?(r.match(St)?' xml:space="preserve"':"")+">"+r+""}function It(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function Nt(e,r){switch(typeof e){case"string":var t=Rt("vt:lpwstr",ft(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return Rt((e|0)==e?"vt:i4":"vt:r8",ft(String(e)));case"boolean":return Rt("vt:bool",e?"true":"false");}if(e instanceof Date)return Rt("vt:filetime",It(e));throw new Error("Unable to serialize "+e)}function Ft(e){if(C&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return wt(N(D(e)));throw new Error("Bad input format: expected Buffer or string")}var Dt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/](?:[^>=]|="[^"]*?")*)?>/gm;var Pt={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 Lt=["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 Mt={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 Ut(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 Bt(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 Wt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:_(e)})):Wt(e)}:Wt;var Ht=function(e,r,t){var a=[];for(var n=r;n0?jt(e,r+4,r+4+t-1):""};var Yt=Kt;var Zt=function(e,r){var t=ha(e,r);return t>0?jt(e,r+4,r+4+t-1):""};var Jt=Zt;var qt=function(e,r){var t=2*ha(e,r);return t>0?jt(e,r+4,r+4+t-1):""};var Qt=qt;var ea=function dT(e,r){var t=ha(e,r);return t>0?Vt(e,r+4,r+4+t):""};var ra=ea;var ta=function(e,r){var t=ha(e,r);return t>0?jt(e,r+4,r+4+t):""};var aa=ta;var na=function(e,r){return Ut(e,r)};var ia=na;var sa=function vT(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(C){Yt=function pT(e,r){if(!Buffer.isBuffer(e))return Kt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Jt=function mT(e,r){if(!Buffer.isBuffer(e))return Zt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Qt=function gT(e,r){if(!Buffer.isBuffer(e)||!S)return qt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};ra=function bT(e,r){if(!Buffer.isBuffer(e)||!S)return ea(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};aa=function wT(e,r){if(!Buffer.isBuffer(e))return ta(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};ia=function kT(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return na(e,r)};sa=function TT(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function fa(){Vt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(M,"")};jt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Yt=function(e,r){var n=ha(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Jt=function(e,t){var n=ha(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Qt=function(e,r){var t=2*ha(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};ra=function(e,r){var t=ha(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};aa=function(e,r){var t=ha(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")fa();var la=function(e,r){return e[r]};var oa=function(e,r){return e[r+1]*(1<<8)+e[r]};var ca=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ha=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ua=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var da=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function va(e,t){var n="",i,s,f=[],l,o,c,h;switch(t){case"dbcs":h=this.l;if(C&&Buffer.isBuffer(this)&&S)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(c=0;c0?ua:da)(this,this.l);this.l+=4;return i}else{s=ha(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){ +if(e==8)s=ia(this,this.l);else s=ia([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=Gt(this,this.l,e);break;};}this.l+=e;return n}var pa=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 ma=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 ga=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function ba(e,n,i){var s=0,f=0;if(i==="dbcs"){for(f=0;f!=n.length;++f)ga(this,n.charCodeAt(f),this.l+2*f);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(f=0;f!=n.length;++f){var l=a.utils.encode(t,n.charAt(f));this[this.l+f]=l[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){l=a.utils.encode(r,n);if(l.length==n.length)for(f=0;f>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8;this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;pa(this,n,this.l);break;case 8:s=8;if(i==="f"){Bt(this,n,this.l);break};case 16:break;case-4:s=4;ma(this,n,this.l);break;}this.l+=s;return this}function wa(e,r){var t=Gt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ka(e,r){e.l=r;e._R=va;e.chk=wa;e._W=ba}function Ta(e,r){e.l+=r}function Aa(e){var r=x(e);ka(r,0);return r}function ya(e,r,t){if(!e)return;var a,n,i;ka(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&&sa(t))e.push(t)}function _a(e,r,t){var a=kr(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 Sa(e,r,t){var a=kr(e);a.s=_a(a.s,r.s,t);a.e=_a(a.e,r.s,t);return a}function xa(e,r){if(e.cRel&&e.c<0){e=kr(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=kr(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Wa(e);if(!e.cRel&&e.cRel!=null)t=La(t);if(!e.rRel&&e.rRel!=null)t=Na(t);return t}function Oa(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?"":"$")+Pa(e.s.c)+":"+(e.e.cRel?"":"$")+Pa(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?"":"$")+Ia(e.s.r)+":"+(e.e.rRel?"":"$")+Ia(e.e.r)}}return xa(e.s,r.biff)+":"+xa(e.e,r.biff)}if(typeof cptable!=="undefined")g(cptable);else if(typeof module!=="undefined"&&typeof require!=="undefined"){g(undefined)}function Ra(e){return parseInt(Fa(e),10)-1}function Ia(e){return""+(e+1)}function Na(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Fa(e){return e.replace(/\$(\d+)$/,"$1")}function Da(e){var r=Ma(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function Pa(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 La(e){return e.replace(/^([A-Z])/,"$$$1")}function Ma(e){return e.replace(/^\$([A-Z])/,"$1")}function Ua(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Ba(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 Wa(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 za(e){var r=e.indexOf(":");if(r==-1)return{s:Ba(e),e:Ba(e)};return{s:Ba(e.slice(0,r)),e:Ba(e.slice(r+1))}}function Ha(e,r){if(typeof r==="undefined"||typeof r==="number"){return Ha(e.s,e.e)}if(typeof e!=="string")e=Wa(e);if(typeof r!=="string")r=Wa(r);return e==r?e:e+":"+r}function Va(e){var r=za(e);return"$"+Pa(r.s.c)+"$"+Ia(r.s.r)+":$"+Pa(r.e.c)+"$"+Ia(r.e.r)}function Xa(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function Ga(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 $a(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=We(e.z,t?ur(r):r)}catch(a){}try{return e.w=We((e.XF||{}).numFmtId||(t?14:0),t?ur(r):r)}catch(a){return""+r}}function ja(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 ei[e.v]||e.v;if(r==undefined)return $a(e,e.v);return $a(e,r)}function Ka(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ya(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=e||{};if(n&&!i["!data"])i["!data"]=[];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"?Ba(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=Ga(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}var h=[];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");var d=s+u,v=""+(d+1);if(n){if(!i["!data"][d])i["!data"][d]=[];h=i["!data"][d]}for(var p=0;p!=r[u].length;++p){if(typeof r[u][p]==="undefined")continue;var m={v:r[u][p]};var g=f+p;if(o.s.r>d)o.s.r=d;if(o.s.c>g)o.s.c=g;if(o.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function rn(e){return{ich:e._R(2),ifnt:e._R(2)}}function tn(e,r){if(!r)r=Aa(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function an(e,r){var t=e.l;var a=e._R(1);var n=Qa(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(rn(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function nn(e,r){var t=false;if(r==null){t=true;r=Aa(15+4*e.t.length)}r._W(1,0);en(e.t,r);return t?r.slice(0,r.l):r}var sn=an;function fn(e,r){var t=false;if(r==null){t=true;r=Aa(23+4*e.t.length)}r._W(1,1);en(e.t,r);r._W(4,1);tn({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function ln(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function on(e,r){if(r==null)r=Aa(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}function cn(e){var r=e._R(2);r+=e._R(1)<<16;e.l++;return{c:-1,iStyleRef:r}}function hn(e,r){if(r==null)r=Aa(4);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var un=Qa;var dn=en;function vn(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function pn(e,r){var t=false;if(r==null){t=true;r=Aa(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 mn=Qa;var gn=vn;var bn=pn;function wn(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?ia([0,0,0,0,r[0]&252,r[1],r[2],r[3]],0):ua(r,0)>>2;return t?n/100:n}function kn(e,r){if(r==null)r=Aa(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 Tn(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 An(e,r){if(!r)r=Aa(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 yn=Tn;var En=An;function Cn(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e._R(8,"f")}function _n(e,r){return(r||Aa(8))._W(8,e,"f")}function Sn(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=Qn[n];if(o)r.rgb=Vo(o);break;case 2:r.rgb=Vo([s,f,l]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function xn(e,r){if(!r)r=Aa(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 On(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 Rn(e,r){if(!r)r=Aa(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 In(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 Nn(e){return In(e,1)}function Fn(e){return In(e,2)}var Dn=2;var Pn=3;var Ln=11;var Mn=12;var Un=19;var Bn=64;var Wn=65;var zn=71;var Hn=4108;var Vn=4126;var Xn=80;var Gn=81;var $n=[Xn,Gn];var jn={1:{n:"CodePage",t:Dn},2:{n:"Category",t:Xn},3:{n:"PresentationFormat",t:Xn},4:{n:"ByteCount",t:Pn},5:{n:"LineCount",t:Pn},6:{n:"ParagraphCount",t:Pn},7:{n:"SlideCount",t:Pn},8:{n:"NoteCount",t:Pn},9:{n:"HiddenCount",t:Pn},10:{n:"MultimediaClipCount",t:Pn},11:{n:"ScaleCrop",t:Ln},12:{n:"HeadingPairs",t:Hn},13:{n:"TitlesOfParts",t:Vn},14:{n:"Manager",t:Xn},15:{n:"Company",t:Xn},16:{n:"LinksUpToDate",t:Ln},17:{n:"CharacterCount",t:Pn},19:{n:"SharedDoc",t:Ln},22:{n:"HyperlinksChanged",t:Ln},23:{n:"AppVersion",t:Pn,p:"version"},24:{n:"DigSig",t:Wn},26:{n:"ContentType",t:Xn},27:{n:"ContentStatus",t:Xn},28:{n:"Language",t:Xn},29:{n:"Version",t:Xn},255:{},2147483648:{n:"Locale",t:Un},2147483651:{n:"Behavior",t:Un},1919054434:{}};var Kn={1:{n:"CodePage",t:Dn},2:{n:"Title",t:Xn},3:{n:"Subject",t:Xn},4:{n:"Author",t:Xn},5:{n:"Keywords",t:Xn},6:{n:"Comments",t:Xn},7:{n:"Template",t:Xn},8:{n:"LastAuthor",t:Xn},9:{n:"RevNumber",t:Xn},10:{n:"EditTime",t:Bn},11:{n:"LastPrinted",t:Bn},12:{n:"CreatedDate",t:Bn},13:{n:"ModifiedDate",t:Bn},14:{n:"PageCount",t:Pn},15:{n:"WordCount",t:Pn},16:{n:"CharCount",t:Pn},17:{n:"Thumbnail",t:zn},18:{n:"Application",t:Xn},19:{n:"DocSecurity",t:Pn},255:{},2147483648:{n:"Locale",t:Un},2147483651:{n:"Behavior",t:Un},1919054434:{}};var Yn={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 Zn=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Jn(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var qn=Jn([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,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Qn=kr(qn);var ei={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var ri={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var ti=["_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"];var ai={"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 ni={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 ii(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function si(e){var r=ii();if(!e||!e.match)return r;var t={};(e.match(Jr)||[]).forEach(function(e){var a=et(e);switch(a[0].replace(qr,"<")){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}function fi(e,r,t){var a=lr(ai);var n=[],i;if(!t){n[n.length]=jr;n[n.length]=Rt("Types",null,{xmlns:Pt.CT,"xmlns:xsd":Pt.xsd,"xmlns:xsi":Pt.xsi});n=n.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 Rt("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=Rt("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:ni[t][r.bookType]||ni[t]["xlsx"]})}};var f=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Rt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ni[t][r.bookType]||ni[t]["xlsx"]})})};var l=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Rt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");f("sheets");f("charts");l("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(l);l("vba");l("comments");l("threadedcomments");l("drawings");f("metadata");l("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var li={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",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function oi(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function ci(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Jr)||[]).forEach(function(e){var n=et(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ui(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([li.HLINK,li.XPATH,li.XMISS].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 di="application/vnd.oasis.opendocument.spreadsheet";function vi(e,r){var t=Ft(e);var a;var n;while(a=Dt.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=et(a[0],false);if(n.path=="/"&&n.type!==di)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 pi(e){var r=[jr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function mi(e,r,t){return[' \n',' \n'," \n"].join("")}function gi(e,r){return[' \n',' \n'," \n"].join("")}function bi(e){var r=[jr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(mi(e[t][0],e[t][1]));r.push(gi("",e[t][0]))}r.push(mi("","Document","pkg"));r.push("");return r.join("")}function wi(r,t){return'SheetJS '+e.version+""}var ki=[["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 Ti=function(){var e=new Array(ki.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function Ai(e){var r={};e=wt(e);for(var t=0;t0)r[a[1]]=nt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=br(r[a[1]])}return r}function yi(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=ft(r);a[a.length]=t?Rt(e,r,t):xt(e,r)}function Ei(e,r){var t=r||{};var a=[jr,Rt("cp:coreProperties",null,{"xmlns:cp":Pt.CORE_PROPS,"xmlns:dc":Pt.dc,"xmlns:dcterms":Pt.dcterms,"xmlns:dcmitype":Pt.dcmitype,"xmlns:xsi":Pt.xsi +})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)yi("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:It(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)yi("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:It(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=ki.length;++i){var s=ki[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)yi(s[0],f,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Ci=[["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 _i=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Si(e,r,t,a){var n=[];if(typeof e=="string")n=_t(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 xi(e,r,t){var a={};if(!r)r={};e=wt(e);Ci.forEach(function(t){var n=(e.match(Tt(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=nt(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)Si(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function Oi(e){var r=[],t=Rt;if(!e)e={};e.Application="SheetJS";r[r.length]=jr;r[r.length]=Rt("Properties",null,{xmlns:Pt.EXT_PROPS,"xmlns:vt":Pt.vt});Ci.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=ft(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""+ft(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Ri=/<[^>]+>[^<]*/g;function Ii(e,r){var t={},a="";var n=e.match(Ri);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=et(s);switch(rt(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]=nt(c);break;case"bool":t[a]=vt(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]=br(c);break;case"cy":;case"error":t[a]=nt(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 Fi={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 Di;function Pi(e,r,t){if(!Di)Di=sr(Fi);r=Di[r]||r;e[r]=t}function Li(e,r){var t=[];nr(Fi).map(function(e){for(var r=0;r'+n.join("")+""}function Ui(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 Bi(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=Aa(8);s._W(4,a);s._W(4,n);return s}function Wi(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 zi(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function Hi(e,r,t){if(r===31)return zi(e);return Wi(e,r,t)}function Vi(e,r,t){return Hi(e,r,t===false?0:4)}function Xi(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return Hi(e,r,0)}function Gi(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(M,"");if(e.l-n&2)e.l+=2}return t}function $i(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(M,"");return t}function ji(e){var r=e.l;var t=qi(e,Gn);if(e[e.l]==0&&e[e.l+1]==0&&e.l-r&2)e.l+=2;var a=qi(e,Pn);return[t,a]}function Ki(e){var r=e._R(4);var t=[];for(var a=0;a>2+1<<2;return a}function Zi(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 Ji(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function qi(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==Mn)if(a!==r&&$n.indexOf(r)===-1&&!((r&65534)==4126&&(a&65534)==4126))throw new Error("Expected type "+r+" saw "+a);switch(r===Mn?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 Wi(e,a,4).replace(M,"");case 31:return zi(e);case 64:return Ui(e);case 65:return Zi(e);case 71:return Ji(e);case 80:return Vi(e,a,!i.raw).replace(M,"");case 81:return Xi(e,a).replace(M,"");case 4108:return Ki(e);case 4126:;case 4127:return a==4127?Gi(e):$i(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function Qi(e,r){var t=Aa(4),a=Aa(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=Aa(8);a._W(8,r,"f");break;case 11:a._W(4,r?1:0);break;case 64:a=Bi(r);break;case 31:;case 80:a=Aa(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 P([t,a])}function es(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 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){if(i[s][0]==0&&i.length>s+1&&i[s][1]==i[s+1][1])continue;var p=r[i[s][0]];d[p.n]=qi(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=qi(e,Dn);l(f);if(o!==-1){var m=e.l;e.l=i[o][1];c=Yi(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){o=s;e.l=i[s+1][1];continue}c=Yi(e,f)}else{var g=c[i[s][0]];var b;switch(e[e.l]){case 65:e.l+=4;b=Zi(e);break;case 30:e.l+=4;b=Vi(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 31:e.l+=4;b=Vi(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=os(e,4);break;case 64:e.l+=4;b=br(Ui(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[g]=b}}}e.l=t+a;return d}var rs=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function ts(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 as(e,r,t){var a=Aa(8),n=[],i=[];var s=8,f=0;var l=Aa(8),o=Aa(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=Aa(8);o._W(4,0);n.unshift(o);var c=[Aa(4)];c[0]._W(4,e.length);for(f=0;f-1||_i.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)}l=Qi(v.t,u)}else{var m=ts(u);if(m==-1){m=31;u=String(u)}l=Qi(m,u)}i.push(l);o=Aa(8);o._W(4,!r?2+f:d);n.push(o);s+=8+l.length}var g=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 gs(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 h=f==2?"dbcs-cont":"sbcs-cont";var u=a===0?"":e._R(a,h);if(s)e.l+=4*l;if(i)e.l+=o;c.t=u;if(!s){c.raw=""+c.t+"";c.r=c.t}r=t;return c}function bs(e){var r=e.t||"",t=1;var a=Aa(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=Aa(2*r.length);n._W(2*r.length,r,"utf16le");var i=[a,n];return P(i)}function ws(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 ks(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return ws(e,a,t)}function Ts(e,r,t){if(t.biff>5)return ks(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 As(e,r,t){if(!t)t=Aa(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function ys(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function Es(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(M,"");if(a)e.l+=24;return n}function Cs(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(M,"");return t+s}function _s(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return Es(e,r);case"0303000000000000c000000000000046":return Cs(e,r);default:throw new Error("Unsupported Moniker "+t);}}function Ss(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(M,""):"";return t}function xs(e,r){if(!r)r=Aa(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 Us(e){var r=e._R(2);var t=wn(e);return[r,t]}function Bs(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=ms(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 Ws(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 zs(e,r){if(!r)r=Aa(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 Hs(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 Vs=Hs;function Xs(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 Gs(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function $s(e){var r={};e.l+=4;e.cf=e._R(2);return r}function js(e){e.l+=2;e.l+=e._R(2)}var Ks={0:js,4:js,5:js,6:js,7:$s,8:js,9:js,10:js,11:js,12:js,13:Gs,14:js,15:js,16:js,17:js,18:js,19:js,20:js,21:Xs};function Ys(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 Js(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=Aa(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 qs(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Qs(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=Ts(e,0,t);e._R(r+a-e.l);return n}function ef(e,r){var t=!r||r.biff==8;var a=Aa(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=Aa(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 nf(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 uf(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 df(){var e=Aa(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 vf(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function pf(e){var r=Aa(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 mf(){}function gf(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=ms(e,0,t);return a}function bf(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=Aa(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 wf(e,r,t){var a=Fs(e,r,t);a.isst=e._R(4);return a}function kf(e,r,t,a){var n=Aa(10);Ds(e,r,a,n);n._W(4,t);return n}function Tf(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=e.l+r;var n=Fs(e,r,t);var i=ks(e,a-e.l,t);n.val=i;return n}function Af(e,r,t,a,n){var i=!n||n.biff==8;var s=Aa(6+2+ +i+(1+i)*t.length);Ds(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 yf(e,r,t){var a=e._R(2);var n=Ts(e,0,t);return[a,n]}function Ef(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Aa(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 Cf=Ts;function _f(e){var r=Aa(1+e.length);r._W(1,e.length);r._W(e.length,e,"sbcs");return r}function Sf(e){var r=Aa(3+e.length);r.l+=2;r._W(1,e.length);r._W(e.length,e,"sbcs");return r}function xf(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 Of(e,r){var t=r.biff==8||!r.biff?4:2;var a=Aa(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 Rf(e){var r=e._R(2),t=e._R(2);var a=Us(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function If(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 Df(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=Ff(e,r,a.fStyle,t);return a}function Pf(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Aa(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 Lf(e){var r={};r.ifnt=e._R(1);e.l++;r.flags=e._R(1);r.numFmtId=r.flags&63;r.flags>>=6;r.fStyle=0;r.data={};return r}function Mf(e){var r=Aa(4);r.l+=2;r._W(1,e.numFmtId);r.l++;return r}function Uf(e){var r=Aa(12);r.l++;r._W(1,e.numFmtId);r.l+=10;return r}var Bf=Uf;function Wf(e){var r={};r.ifnt=e._R(1);r.numFmtId=e._R(1);r.flags=e._R(2);r.fStyle=r.flags>>2&1;r.data={};return r}function zf(e){var r={};r.ifnt=e._R(1);r.numFmtId=e._R(1);r.flags=e._R(2);r.fStyle=r.flags>>2&1;r.data={};return r}function Hf(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 Vf(e){var r=Aa(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 Xf(e,r,t){var a=Fs(e,6,t);var n=vs(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Gf(e,r,t,a,n,i){var s=Aa(8);Ds(e,r,a,s);ps(t,i,s);return s}function $f(e,r,t){if(t.biffguess&&t.biff==2)t.biff=5;var a=Fs(e,6,t);var n=Cn(e,8);a.val=n;return a}function jf(e,r,t,a){var n=Aa(14);Ds(e,r,a,n);_n(t,n);return n}var Kf=Ls;function Yf(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=ws(e,i);var f=[];while(a>e.l)f.push(ks(e));return[i,n,s,f]}function Zf(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=Bs(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}function Jf(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=ws(e,s,t);if(n&32)o=ti[o.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var h=a==e.l||f===0||!(c>0)?[]:Md(e,c,t,f);return{chKey:i,Name:o,itab:l,rgce:h}}function qf(e,r,t){if(t.biff<8)return Qf(e,r,t);if(!(t.biff>8)&&r==e[e.l]+(e[e.l+1]==3?1:0)+1)return Qf(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Ms(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Qf(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=ms(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function el(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=ws(e,a,t);var s=ws(e,n,t);return[i,s]}function rl(e,r,t){var a=Hs(e,6);e.l++;var n=e._R(1);r-=8;return[Ud(e,r,t),n,a]}function tl(e,r,t){var a=Vs(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,Pd(e,r,t,a)]}function al(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function nl(e,r,t){var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=Ts(e,0,t);return[{r:a,c:n},f,s,i]}function il(e,r,t){if(t&&t.biff<8){var a=e._R(2),n=e._R(2);if(a==65535||a==-1)return;var i=e._R(2);var s=e._R(Math.min(i,2048),"cpstr");return[{r:a,c:n},s]}return nl(e,r,t)}function sl(e,r,t,a){var n=Aa(6+(a||e.length));n._W(2,r);n._W(2,t);n._W(2,a||e.length);n._W(e.length,e,"sbcs");return n}function fl(e,r){var t=[];var a=e._R(2);while(a--)t.push(Ws(e,r));return t}function ll(e){var r=Aa(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 dl(e,r){var t=Ws(e,8);e.l+=16;var a=Os(e,r-24);return[t,a]}function vl(e){var r=Aa(24);var t=Ba(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 P([r,Rs(e[1])])}function pl(e,r){e._R(2);var t=Ws(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(M,"");return[t,a]}function ml(e){var r=e[1].Tooltip;var t=Aa(10+2*(r.length+1));t._W(2,2048);var a=Ba(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(Ns(e,8));return t}function kl(e){var r=e._R(2);var t=[];while(r-- >0)t.push(Ns(e,8));return t}function Tl(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function Al(e,r,t){if(!t.cellStyles)return Ta(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 yl(e,r){var t=Aa(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 El(e,r){var t={};if(r<32)return t;e.l+=16;t.header=Cn(e,8);t.footer=Cn(e,8);e.l+=2;return t}function Cl(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 _l(e){var r=Aa(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(o)i.l+=36;var v=[],p={};var m=Math.min(i.length,s==2?521:h-10-(l?264:0));var g=o?32:11;while(i.l0){if(i[i.l]===42){i.l+=u;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=v.length;++w){var k=i.slice(i.l,i.l+v[w].len);i.l+=v[w].len;ka(k,0);var T=typeof a!=="undefined"?a.utils.decode(d,k):N(k);switch(v[w].type){case"C":if(T.trim().length)n[b][w]=T.replace(/\s+$/,"");break;case"D":if(T.length===8){n[b][w]=new Date(Date.UTC(+T.slice(0,4),+T.slice(4,6)-1,+T.slice(6,8),0,0,0,0));if(!(t&&t.UTC)){n[b][w]=Nr(n[b][w])}}else n[b][w]=T;break;case"F":n[b][w]=parseFloat(T.trim());break;case"+":;case"I":n[b][w]=o?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(T.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+T+"|");}break;case"M":if(!f)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(o?parseInt(T.trim(),10):k._R(4));break;case"N":T=T.replace(/\u0000/g,"").trim();if(T&&T!=".")n[b][w]=+T||0;break;case"@":n[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":{var A=k._R(4),y=k._R(4);if(A==0&&y==0)break;n[b][w]=new Date((A-2440588)*864e5+y);if(!(t&&t.UTC))n[b][w]=Nr(n[b][w])}break;case"Y":n[b][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-k._R(-8,"f");break;case"B":if(l&&v[w].len==8){n[b][w]=k._R(8,"f");break};case"G":;case"P":k.l+=v[w].len;break;case"0":if(v[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+v[w].type);}}}if(s!=2)if(i.l=0)l(+f.codepage);if(f.type=="string")throw new Error("Cannot write DBF to JS string");var h=Ea();var u=Dk(i,{header:1,raw:true,cellDates:true});var d=u[0],v=u.slice(1),p=i["!cols"]||[];var m=0,g=0,b=0,w=1;for(m=0;m250)_=250;C=((p[m]||{}).DBF||{}).type;if(C=="C"){if(p[m].DBF.len>_)_=p[m].DBF.len}if(E=="B"&&C=="N"){E="N";y[m]=p[m].DBF.dec;_=p[m].DBF.len}A[m]=E=="C"||C=="N"?_:o[E]||0;w+=A[m];T[m]=E}var x=h.next(32);x._W(4,318902576);x._W(4,v.length);x._W(2,296+32*b);x._W(2,w);for(m=0;m<4;++m)x._W(4,0);var O=+n[r]||3;x._W(4,0|O<<8);if(e[O]!=+f.codepage){if(f.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(m=0,g=0;mA[g])D=D.slice(0,A[g]);for(b=0;b":190,"?":191,"{":223};var r=new RegExp("N("+nr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?m(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:m(a)};e["|"]=254;var i=function(e){return e.replace(/\n/g," :").replace(/\r/g," =")};function s(e,r){switch(r.type){case"base64":return f(E(e),r);case"binary":return f(e,r);case"buffer":return f(C&&Buffer.isBuffer(e)?e.toString("binary"):N(e),r);case"array":return f(wr(e),r);}throw new Error("Unrecognized type "+r.type)}function f(e,i){var s=e.split(/[\n\r]+/),f=-1,o=-1,c=0,h=0,u=[];var d=[];var v=null;var p={},m=[],g=[],b=[];var w=0,k;var T={Workbook:{WBProps:{},Names:[]}};if(+i.codepage>=0)l(+i.codepage);for(;c!==s.length;++c){w=0;var A=s[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var y=A.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var E=y[0],C;if(A.length>0)switch(E){case"ID":break;case"E":break;case"B":break;case"O":for(h=1;h=1&&_<=4)T.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(y[1].charAt(0)){case"P":d.push(A.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var S={Sheet:0};for(h=1;h-1&&u[N][F];if(!M||!M[1])throw new Error("SYLK shared formula cannot find base");D=tu(M[1],{r:f-N,c:o-F})}if(D){if(!u[f][o])u[f][o]={t:"n",f:D};else u[f][o].f=D}if(L){if(!u[f][o])u[f][o]={t:"z"};u[f][o].c=[{a:"SheetJSYLK",t:L}]}break;case"F":var U=0;for(h=1;h0){m[f].hpt=w;m[f].hpx=sc(w)}else if(w===0)m[f].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+A);}if(U<1)v=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+A);}}if(m.length>0)p["!rows"]=m;if(g.length>0)p["!cols"]=g;g.forEach(function(e){tc(e)});if(i&&i.sheetRows)u=u.slice(0,i.sheetRows);return[u,p,T]}function o(e,r){var t=s(e,r);var a=t[0],n=t[1],i=t[2];var f=kr(r);f.date1904=(((i||{}).Workbook||{}).WBProps||{}).date1904;var l=Za(a,f);nr(n).forEach(function(e){l[e]=n[e]});var o=Ka(l,r);nr(i).forEach(function(e){o[e]=i[e]});o.bookType="sylk";return o}function c(e,r,t,a,n,i){var s="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":s+=e.v||0;if(e.f&&!e.F)s+=";E"+ru(e.f,{r:t,c:a});break;case"b":s+=e.v?"TRUE":"FALSE";break;case"e":s+=e.w||e.v;break;case"d":s+=ur(br(e.v,i),i);break;case"s":s+='"'+(e.v==null?"":String(e.v)).replace(/"/g,"").replace(/;/g,";;")+'"';break;}return s}function h(e,r,t){var a="C;Y"+(r+1)+";X"+(t+1)+";A";a+=i(e.map(function(e){return e.t}).join(""));return a}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=Jo(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=qo(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function d(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*ic(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function v(e,r,t){if(!r)r={};r._formats=["General"];var a=["ID;PSheetJS;N;E"],n=[];var i=Ga(e["!ref"]),s;var f=e["!data"]!=null;var l="\r\n";var o=(((t||{}).Workbook||{}).WBProps||{}).date1904;var v="General";a.push("P;PGeneral");var p=i.s.r,m=i.s.c,g=[];for(p=i.s.r;p<=i.e.r;++p){if(f&&!e["!data"][p])continue;g=[];for(m=i.s.c;m<=i.e.c;++m){s=f?e["!data"][p][m]:e[Pa(m)+Ia(p)];if(!s||!s.c)continue;g.push(h(s.c,p,m))}if(g.length)n.push(g.join(l))}for(p=i.s.r;p<=i.e.r;++p){if(f&&!e["!data"][p])continue;g=[];for(m=i.s.c;m<=i.e.c;++m){s=f?e["!data"][p][m]:e[Pa(m)+Ia(p)];if(!s||s.v==null&&(!s.f||s.F))continue;if((s.z||(s.t=="d"?q[14]:"General"))!=v){var b=r._formats.indexOf(s.z);if(b==-1){r._formats.push(s.z);b=r._formats.length-1;a.push("P;P"+s.z.replace(/;/g,";;"))}g.push("F;P"+b+";Y"+(p+1)+";X"+(m+1))}g.push(c(s,e,p,m,r,o))}n.push(g.join(l))}a.push("F;P0;DG0G8;M255");if(e["!cols"])u(a,e["!cols"]);if(e["!rows"])d(a,e["!rows"]);a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(o?";V4":"")+";K47;G100 0.001");delete r._formats;return a.join(l)+l+n.join(l)+l+"E"+l}return{to_workbook:o,from_sheet:v}}();var Gl=function(){function e(e,t){switch(t.type){case"base64":return r(E(e),t);case"binary":return r(e,t);case"buffer":return r(C&&Buffer.isBuffer(e)?e.toString("binary"):N(e),t);case"array":return r(wr(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 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"]=Ha(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 Za(r(e,t),t)}function l(e,r){var t="",n=r.type=="string"?[0,0,0,0]:lk(e,r);switch(r.type){case"base64":t=E(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=C&&Buffer.isBuffer(e)?e.toString("binary"):N(e);break;case"array":t=wr(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=wt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=wt(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 $l.to_sheet(r.type=="string"?t:wt(t),r);return f(t,r)}function o(e,r){return Ka(l(e,r),r)}function c(e){var r=[];var t=Ga(e["!ref"]),a;var n=e["!data"]!=null;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=Wa({r:i,c:f});a=n?(e["!data"][i]||[])[f]:e[l];if(!a||a.v==null){s.push(" ");continue}var o=(a.w||(ja(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:o,to_sheet:l,from_sheet:c}}();function Kl(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Xl.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 jl.to_workbook(e,r)}}var Yl=function(){function e(e,r,t){if(!e)return;ka(e,e.l||0);var a=t.Enum||V;while(e.l=16&&r[14]==5&&r[15]===108)throw new Error("Unsupported Works 3 for Mac file")}}if(r[2]==2){n.Enum=V;e(r,function(e,r,a){switch(a){case 0:n.vers=e;if(e>=4096)n.qpro=true;break;case 255:n.vers=e;n.works=true;break;case 6:d=e;break;case 204:if(e)f=e;break;case 222:f=e;break;case 15:;case 51:if((!n.qpro&&!n.works||a==51)&&e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);if(n.works||n.works2)e[1].v=e[1].v.replace(/\r\n/g,"\n");case 13:;case 14:;case 16:if((e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=n.dateNF||t[(e[2]&15)-1]||q[14];if(n.cellDates){e[1].v=dr(e[1].v);e[1].t=typeof e[1].v=="number"?"n":"d"}}if(n.qpro){if(e[3]>l){i["!ref"]=Ha(d);o[s]=i;c.push(s);i={};if(n.dense)u=i["!data"]=[];d={s:{r:0,c:0},e:{r:0,c:0}};l=e[3];s=f||"Sheet"+(l+1);f=""}}var h=n.dense?(u[e[0].r]||[])[e[0].c]:i[Wa(e[0])];if(h){h.t=e[1].t;h.v=e[1].v;if(e[1].z!=null)h.z=e[1].z;if(e[1].f!=null)h.f=e[1].f;p=h;break}if(n.dense){if(!u[e[0].r])u[e[0].r]=[];u[e[0].r][e[0].c]=e[1]}else i[Wa(e[0])]=e[1];p=e[1];break;case 21509:n.works2=true;break;case 21506:{if(e==5281){p.z="hh:mm:ss";if(n.cellDates&&p.t=="n"){p.v=dr(p.v);p.t=typeof p.v=="number"?"n":"d"}}}break;}},n)}else if(r[2]==26||r[2]==14){n.Enum=X;if(r[2]==14){n.qpro=true;r.l=0}e(r,function(e,r,t){switch(t){case 204:s=e;break;case 22:if(e[1].v.charCodeAt(0)<48)e[1].v=e[1].v.slice(1);e[1].v=e[1].v.replace(/\x0F./g,function(e){return String.fromCharCode(e.charCodeAt(1)-32)}).replace(/\r\n/g,"\n");case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>l){i["!ref"]=Ha(d);o[s]=i;c.push(s);i={};if(n.dense)u=i["!data"]=[];d={s:{r:0,c:0},e:{r:0,c:0}};l=e[3];s="Sheet"+(l+1)}if(v>0&&e[0].r>=v)break;if(n.dense){if(!u[e[0].r])u[e[0].r]=[];u[e[0].r][e[0].c]=e[1]}else i[Wa(e[0])]=e[1];if(d.e.c=0)l(+t.codepage);if(t.type=="string")throw new Error("Cannot write WK1 to JS string");var a=Ea();var n=Ga(e["!ref"]);var i=e["!data"]!=null;var f=[];qg(a,0,s(1030));qg(a,6,c(n));var o=Math.min(n.e.r,8191);for(var h=n.s.c;h<=n.e.c;++h)f[h]=Pa(h);for(var u=n.s.r;u<=o;++u){var d=Ia(u);for(h=n.s.c;h<=n.e.c;++h){var p=i?(e["!data"][u]||[])[h]:e[f[h]+d];if(!p||p.t=="z")continue;switch(p.t){case"n":if((p.v|0)==p.v&&p.v>=-32768&&p.v<=32767)qg(a,13,g(u,h,p));else qg(a,14,k(u,h,p));break;case"d":var m=ur(p.v);if((m|0)==m&&m>=-32768&&m<=32767)qg(a,13,g(u,h,{t:"n",v:m,z:p.z||q[14]}));else qg(a,14,k(u,h,{t:"n",v:m,z:p.z||q[14]}));break;default:var b=ja(p);qg(a,15,v(u,h,b.slice(0,239)));}}}qg(a,1);return a.end()}function i(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=Ea();qg(a,0,f(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 o(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 c(e){var r=Aa(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 h(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 if(t.works){a[0].c=e._R(2);a[0].r=e._R(2);a[2]=e._R(2)}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function u(e){if(e.z&&Pe(e.z)){return 240|(t.indexOf(e.z)+1||2)}return 255}function d(e,r,t){var a=e.l+r;var n=h(e,r,t);n[1].t="s";if((t.vers&65534)==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 v(e,r,t){var a=Aa(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 p(e,r,t){var a=e.l+r;var n=h(e,r,t);n[1].t="s";if(t.vers==20768){var i=e._R(1);n[1].v=e._R(i,"utf8");return n}n[1].v=e._R(a-e.l,"cstr");return n}function m(e,r,t){var a=h(e,r,t);a[1].v=e._R(2,"i");return a}function g(e,r,t){var a=Aa(7);a._W(1,u(t));a._W(2,r);a._W(2,e);a._W(2,t.v,"i");return a}function w(e,r,t){var a=h(e,r,t);a[1].v=e._R(8,"f");return a}function k(e,r,t){var a=Aa(13);a._W(1,u(t));a._W(2,r);a._W(2,e);a._W(8,t.v,"f");return a}function T(e,r,t){var a=e.l+r;var n=h(e,r,t);n[1].v=e._R(8,"f");if(t.qpro)e.l=a;else{var i=e._R(2);_(e.slice(e.l,e.l+i),n);e.l+=i}return n}function A(e,r,t){var a=r&32768;r&=~32768;r=(a?e:0)+(r>=8192?r-16384:r);return(a?"":"$")+(t?Pa(r):Ia(r))}var y={31:["NA",0],33:["ABS",1],34:["TRUNC",1],35:["SQRT",1],36:["LOG",1],37:["LN",1],38:["PI",0],39:["SIN",1],40:["COS",1],41:["TAN",1],42:["ATAN2",2],43:["ATAN",1],44:["ASIN",1],45:["ACOS",1],46:["EXP",1],47:["MOD",2],49:["ISNA",1],50:["ISERR",1],51:["FALSE",0],52:["TRUE",0],53:["RAND",0],54:["DATE",3],63:["ROUND",2],64:["TIME",3],68:["ISNUMBER",1],69:["ISTEXT",1],70:["LEN",1],71:["VALUE",1],73:["MID",3],74:["CHAR",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],102:["UPPER",1],103:["LOWER",1],107:["PROPER",1],109:["TRIM",1],111:["T",1]};var C=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function _(e,r){ka(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 u=t.slice(-a);t.length-=a;t.push(y[l][0]+"("+u.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 S(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=S(e,r);t[1].t="s";t[1].v=e._R(r-4,"cstr");return t}function O(e,r,t,a){var n=Aa(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 I(e,r){var t=S(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 N(e,r){var t=S(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=Aa(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 D(e,r){var t=N(e,14);e.l+=r-14;return t}function P(e,r){var t=S(e,r);var a=e._R(4);t[1].v=a>>6;return t}function L(e,r){var t=S(e,r);var a=e._R(8,"f");t[1].v=a;return t}function M(e,r){var t=L(e,12);e.l+=r-12;return t}function U(e,r){return e[e.l+r-1]==0?e._R(r,"cstr"):""}function B(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 V={0:{n:"BOF",f:hs},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:o},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:m},14:{n:"NUMBER",f:w},15:{n:"LABEL",f:d},16:{n:"FORMULA",f:T},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:p},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:U},222:{n:"SHEETNAMELP",f:B},255:{n:"BOF",f:hs},21506:{n:"WKSNF",f:hs},65535:{n:""}};var X={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:N},24:{n:"NUMBER18",f:I},25:{n:"FORMULA19",f:D},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:z},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:P},38:{n:"??"},39:{n:"NUMBER27",f:L},40:{n:"FORMULA28",f:M},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:U},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:W},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:""}};var G={5:"dd-mmm-yy",6:"dd-mmm",7:"mmm-yy",8:"mm/dd/yy",10:"hh:mm:ss AM/PM",11:"hh:mm AM/PM",14:"dd-mmm-yyyy",15:"mmm-yyyy",34:"0.00",50:"0.00;[Red]0.00",66:"0.00;(0.00)",82:"0.00;[Red](0.00)",162:'"$"#,##0;\\("$"#,##0\\)'};function $(e,r){ka(e,0);var t=r||{};if(b!=null&&t.dense==null)t.dense=b;var a={};if(t.dense)a["!data"]=[];var n=[],i="",s=[];var f={s:{r:-1,c:-1},e:{r:-1,c:-1}};var l=0,o=0,c=0,h=0;var u={SheetNames:[],Sheets:{}};var d=[];e:while(e.l255||f.s.r>999999)break;if(f.e.cc)f.s.c=c;h=m._R(4);if(f.s.r>h)f.s.r=h;h=m._R(4);if(f.e.rh)f.s.r=h;if(f.e.r0&&l>=0){if(_&32)switch(_&31){case 2:C={t:"n",v:C.v+O&65535};break;case 3:C={t:"n",v:C.v+O&65535};if(C.v>32767)C.v-=65536;break;case 7:C={t:"s",v:n[o=o+O>>>0]};break;default:throw"Cannot apply delta for QPW cell type "+(_&31);}else switch(_&31){case 1:C={t:"z"};break;case 2:C={t:"n",v:m._R(2)};break;case 7:C={t:"s",v:n[o=m._R(4)-1]};break;default:throw"Cannot apply repeat for QPW cell type "+(_&31);}if(S!=-1);if(!(!t.sheetStubs&&C.t=="z")){if(a["!data"]!=null){if(!a["!data"][h])a["!data"][h]=[];a["!data"][h][c]=C}else a[E+Ia(h)]=C}++h;--l}}}break;default:break;}e.l+=p}return u}return{sheet_to_wk1:n,book_to_wk3:i,to_workbook:r}}();function Zl(e){var r={},t=e.match(Jr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=et(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 Jl=function(){var e=Tt("t"),r=Tt("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:nt(a[1])};var i=t.match(r);if(i)n.s=Zl(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 ql=function AT(){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 Ql=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,eo=/<(?:\w+:)?r\b[^>]*>/;var ro=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function to(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=nt(wt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=wt(e);if(t)a.h=ct(a.t)}else if(e.match(eo)){a.r=wt(e);a.t=nt(wt((e.replace(ro,"").match(Ql)||[]).join("").replace(Jr,"")),true);if(t)a.h=ql(Jl(a.r))}return a}var ao=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var no=/<(?:\w+:)?(?:si|sstItem)>/g;var io=/<\/(?:\w+:)?(?:si|sstItem)>/;function so(e,r){var t=[],a="";if(!e)return t;var n=e.match(ao);if(n){a=n[2].replace(no,"").split(io);for(var i=0;i!=a.length;++i){var s=to(a[i].trim(),r);if(s!=null)t[t.length]=s}n=et(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var fo=/^\s|\s$|[\t\n\r]/;function lo(e,r){if(!r.bookSST)return"";var t=[jr];t[t.length]=Rt("sst",null,{xmlns:Lt[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 oo(e){return[e._R(4),e._R(4)]}function co(e,r){var t=[];var a=false;ya(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 ho(e,r){if(!r)r=Aa(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var uo=nn;function vo(e){var r=Ea();Ca(r,159,ho(e));for(var t=0;t=4)e.l+=r-4;return t}function go(e){var r={};r.id=e._R(0,"lpp4");r.R=mo(e,4);r.U=mo(e,4);r.W=mo(e,4);return r}function bo(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 wo(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(bo(e));return r}function ko(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function To(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=mo(e,4);r.U=mo(e,4);r.W=mo(e,4);return r}function Ao(e){var r=To(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 yo(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 Eo(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 Co(e){var r=mo(e);switch(r.Minor){case 2:return[r.Minor,_o(e,r)];case 3:return[r.Minor,So(e,r)];case 4:return[r.Minor,xo(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function _o(e){var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=yo(e,t);var n=Eo(e,e.length-e.l);return{t:"Std",h:a,v:n}}function So(){throw new Error("File is password-protected: ECMA-376 Extensible")}function xo(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(Jr,function n(e){var t=et(e);switch(rt(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=yo(e,n);r-=n;t.EncryptionVerifier=Eo(e,r);return t}function Ro(e){var r={};var t=r.EncryptionVersionInfo=mo(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=po(e);var n=a.length+1,i,s;var f,l,o;t=x(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 No=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=po(r);var a=i(t);var s=t.length;var f=x(16);for(var l=0;l!=16;++l)f[l]=0;var o,c,h;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;h=15-t.length;while(h>0){o=a>>8;f[s]=n(e[h],o);--s;--h;o=a&255;f[s]=n(t[s],o);--s;--h}return f}}();var Fo=function(e,r,t,a,n){if(!n)n=r;if(!a)a=No(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 Do=function(e){var r=0,t=No(e);return function(e){var a=Fo("",e,r,t);r=a[1];return a[0]}};function Po(e,r,t,a){var n={key:hs(e),verificationBytes:hs(e)};if(t.password)n.verifier=Io(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=Do(t.password);return n}function Lo(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=Ro(e,r);else a.Data=Oo(e,r);return a}function Mo(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)Lo(e,r-2,a);else Po(e,t.biff>=8?r:r-2,t,a);return a}function Uo(e,r){switch(r.type){case"base64":return Bo(E(e),r);case"binary":return Bo(e,r);case"buffer":return Bo(C&&Buffer.isBuffer(e)?e.toString("binary"):N(e),r);case"array":return Bo(wr(e),r);}throw new Error("Unrecognized type "+r.type)}function Bo(e,r){var t=r||{};var a={};var n=t.dense;if(n)a["!data"]=[];var i=e.match(/\\trowd[\s\S]*?\\row\b/g);if(!i)throw new Error("RTF missing table");var s={s:{c:0,r:0},e:{c:0,r:i.length-1}};var f=[];i.forEach(function(e,r){if(n)f=a["!data"][r]=[];var i=/\\[\w\-]+\b/g;var l=0;var o;var c=-1;var h=[];while((o=i.exec(e))!=null){var u=e.slice(l,i.lastIndex-o[0].length);if(u.charCodeAt(0)==32)u=u.slice(1);if(u.length)h.push(u);switch(o[0]){case"\\cell":++c;if(h.length){var d={v:h.join(""),t:"s"};if(d.v=="TRUE"||d.v=="FALSE"){d.v=d.v=="TRUE";d.t="b"}else if(!isNaN(Ar(d.v))){d.t="n";if(t.cellText!==false)d.w=d.v;d.v=Ar(d.v)}if(n)f[c]=d;else a[Wa({r:r,c:c})]=d}h=[];break;case"\\par":h.push("\n");break;}l=i.lastIndex}if(c>s.e.c)s.e.c=c});a["!ref"]=Ha(s);return a}function Wo(e,r){var t=Ka(Uo(e,r),r);t.bookType="rtf";return t}function zo(e,r){var t=["{\\rtf1\\ansi"];if(!e["!ref"])return t[0]+"}";var a=Ga(e["!ref"]),n;var i=e["!data"]!=null,s=[];for(var f=a.s.r;f<=a.e.r;++f){t.push("\\trowd\\trautofit1");for(var l=a.s.c;l<=a.e.c;++l)t.push("\\cellx"+(l+1));t.push("\\pard\\intbl");if(i)s=e["!data"][f]||[];for(l=a.s.c;l<=a.e.c;++l){var o=Wa({r:f,c:l});n=i?s[l]:e[o];if(!n||n.v==null&&(!n.f||n.F)){t.push(" \\cell");continue}t.push(" "+(n.w||(ja(n),n.w)||"").replace(/[\r\n]/g,"\\par "));t.push("\\cell")}t.push("\\pard\\intbl\\row")}return t.join("")+"}"}function Ho(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 Vo(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 Xo(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 Go(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 $o(e,r){if(r===0)return e;var t=Xo(Ho(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Vo(Go(t))}var jo=6,Ko=15,Yo=1,Zo=jo;function Jo(e){return Math.floor((e+Math.round(128/Zo)/256)*Zo)}function qo(e){return Math.floor((e-5)/Zo*100+.5)/100}function Qo(e){return Math.round((e*Zo+5)/Zo*256)/256}function ec(e){return Qo(qo(Jo(e)))}function rc(e){var r=Math.abs(e-ec(e)),t=Zo;if(r>.005)for(Zo=Yo;Zo":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=vt(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=vt(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 oc(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Jr)||[]).forEach(function(e){var t=et(e);switch(rt(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 cc(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Jr)||[]).forEach(function(e){var f=et(e);switch(rt(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 hc(e,r,t){r.NumberFmt=[];var a=nr(q);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}Ze(f,l)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function uc(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]=Rt("numFmt",null,{numFmtId:a,formatCode:ft(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=Rt("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var dc=["numFmtId","fillId","fontId","borderId","xfId"];var vc=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function pc(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Jr)||[]).forEach(function(e){var i=et(e),s=0;switch(rt(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=vt(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 mc(e){var r=[];r[r.length]=Rt("cellXfs",null);e.forEach(function(e){r[r.length]=Rt("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=Rt("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var gc=function yT(){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))hc(c,o,l);if(c=s.match(a))cc(c,o,f,l);if(c=s.match(t))oc(c,o,f,l);if(c=s.match(n))lc(c,o,f,l);if(c=s.match(r))pc(c,o,l);return o}}();function bc(e,r){var t=[jr,Rt("styleSheet",null,{xmlns:Lt[0],"xmlns:vt":Pt.vt})],a;if(e.SSF&&(a=uc(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=mc(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 wc(e,r){var t=e._R(2);var a=Qa(e,r-2);return[t,a]}function kc(e,r,t){if(!t)t=Aa(6+4*r.length);t._W(2,e);en(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 Tc(e,r,t){var a={};a.sz=e._R(2)/20;var n=On(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=Sn(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=Qa(e,r-21);return a}function Ac(e,r){if(!r)r=Aa(25+4*32);r._W(2,e.sz*20);Rn(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);xn(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);en(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var yc=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var Ec;var Cc=Ta;function _c(e,r){if(!r)r=Aa(4*3+8*7+16*1);if(!Ec)Ec=sr(yc);var t=Ec[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){xn({auto:1},r);xn({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 Sc(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 xc(e,r,t){if(!t)t=Aa(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 Oc(e,r){if(!r)r=Aa(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var Rc=Ta;function Ic(e,r){if(!r)r=Aa(51);r._W(1,0);Oc(null,r);Oc(null,r);Oc(null,r);Oc(null,r);Oc(null,r);return r.length>r.l?r.slice(0,r.l):r}function Nc(e,r){if(!r)r=Aa(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);pn(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function Fc(e,r,t){var a=Aa(4+256*2*4);a._W(4,e);pn(r,a);pn(t,a);return a.length>a.l?a.slice(0,a.l):a}function Dc(e,r,t){var a={};a.NumberFmt=[];for(var n in q)a.NumberFmt[n]=q[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;ya(e,function f(e,n,l){switch(l){case 44:a.NumberFmt[e[0]]=e[1];Ze(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=$o(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(l);s=true;break;case 38:i.pop();s=false;break;default:if(n.T>0)i.push(l);else if(n.T<0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=37)throw new Error("Unexpected record 0x"+l.toString(16));}});return a}function Pc(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;Ca(e,615,qa(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)Ca(e,44,kc(a,r[a]))});Ca(e,616)}function Lc(e){var r=1;if(r==0)return;Ca(e,611,qa(r));Ca(e,43,Ac({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));Ca(e,612)}function Mc(e){var r=2;if(r==0)return;Ca(e,603,qa(r));Ca(e,45,_c({patternType:"none"}));Ca(e,45,_c({patternType:"gray125"}));Ca(e,604)}function Uc(e){var r=1;if(r==0)return;Ca(e,613,qa(r));Ca(e,46,Ic({}));Ca(e,614)}function Bc(e){var r=1;Ca(e,626,qa(r));Ca(e,47,xc({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));Ca(e,627)}function Wc(e,r){Ca(e,617,qa(r.length));r.forEach(function(r){Ca(e,47,xc(r,0))});Ca(e,618)}function zc(e){var r=1;Ca(e,619,qa(r));Ca(e,48,Nc({xfId:0,builtinId:0,name:"Normal"}));Ca(e,620)}function Hc(e){var r=0;Ca(e,505,qa(r));Ca(e,506)}function Vc(e){var r=0;Ca(e,508,Fc(r,"TableStyleMedium9","PivotStyleMedium4"));Ca(e,509)}function Xc(){return}function Gc(e,r){var t=Ea();Ca(t,278);Pc(t,e.SSF);Lc(t,e);Mc(t,e);Uc(t,e);Bc(t,e);Wc(t,r.cellXfs);zc(t,e);Hc(t,e);Vc(t,e);Xc(t,e);Ca(t,279);return t.end()}var $c=["","","","","","","","","","","",""];function jc(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Jr)||[]).forEach(function(e){var n=et(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[$c.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 Kc(){}function Yc(){}var Zc=/]*)>[\s\S]*<\/a:clrScheme>/;var Jc=/]*)>[\s\S]*<\/a:fontScheme>/;var qc=/]*)>[\s\S]*<\/a:fmtScheme>/;function Qc(e,r,t){r.themeElements={};var a;[["clrScheme",Zc,jc],["fontScheme",Jc,Kc],["fmtScheme",qc,Yc]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var eh=/]*)>[\s\S]*<\/a:themeElements>/;function rh(e,r){if(!e||e.length===0)e=th();var t;var a={};if(!(t=e.match(eh)))throw new Error("themeElements not found in theme");Qc(t[0],a,r);a.raw=e;return a}function th(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[jr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";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 ah(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=Gr(i,{type:"array"})}catch(f){return}var l=Wr(s,"theme/theme/theme1.xml",true);if(!l)return;return rh(l,t)}function nh(e){return e._R(4)}function ih(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=sh(e,4);break;case 2:r.xclrValue=Is(e,4);break;case 3:r.xclrValue=nh(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function sh(e,r){return Ta(e,r)}function fh(e,r){return Ta(e,r)}function lh(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]=ih(e,t);break;case 6:a[1]=fh(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 oh(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(lh(e,t-e.l));return{ixfe:a,ext:i}}function ch(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 hh(e,r){return{flags:e._R(4),version:e._R(4),name:Qa(e,r-8)}}function uh(e){var r=Aa(12+2*e.name.length);r._W(4,e.flags);r._W(4,e.version);en(e.name,r);return r.slice(0,r.l)}function dh(e){var r=[];var t=e._R(4);while(t-- >0)r.push([e._R(4),e._R(4)]);return r}function vh(e){var r=Aa(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;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function Ah(e){var r=[];if(!e)return r;var t=1;(e.match(Jr)||[]).forEach(function(e){var a=et(e);switch(a[0]){case"":;case"":break;case"]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var xh=/<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g;function Oh(e,r,t){var a=0;(e.match(xh)||[]).forEach(function(e){var n="";var i=true;var s=-1;var f=-1,l=-1;e.replace(Jr,function(r,t){var a=et(r);switch(rt(a[0])){case"":i=false;break;case"":s=t+r.length;break;case"":f=+e.slice(s,t).trim();break;case"":s=t+r.length;break;case"":l=+e.slice(s,t).trim();break;}return""});switch(n){case"Note":var o=Hk(r,f>=0&&l>=0?Wa({r:f,c:l}):t[a].ref);if(o.c){o.c.hidden=i}++a;break;}})}function Rh(e,r,t){var a=[21600,21600];var n=["m0,0l0",a[1],a[0],a[1],a[0],"0xe"].join(",");var i=[Rt("xml",null,{"xmlns:v":Mt.v,"xmlns:o":Mt.o,"xmlns:x":Mt.x,"xmlns:mv":Mt.mv}).replace(/\/>/,">"),Rt("o:shapelayout",Rt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var s=65536*e;var f=r||[];if(f.length>0)i.push(Rt("v:shapetype",[Rt("v:stroke",null,{joinstyle:"miter"}),Rt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:a.join(","),"o:spt":202,path:n}));f.forEach(function(e){++s;i.push(Ih(e,s))});i.push("");return i.join("")}function Ih(e,r,t){var a=Ba(e[0]);var n={color2:"#BEFF82",type:"gradient"};if(n.type=="gradient")n.angle="-180";var i=n.type=="gradient"?Rt("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var s=Rt("v:fill",i,n);var f={on:"t",obscured:"t"};return["",s,Rt("v:shadow",null,f),Rt("v:path",null,{"o:connecttype":"none"}),'
','',"","",xt("x:Anchor",[a.c+1,0,a.r+1,0,a.c+3,20,a.r+5,20].join(",")),xt("x:AutoFill","False"),xt("x:Row",String(a.r)),xt("x:Column",String(a.c)),e[1].hidden?"":"","",""].join("")}function Nh(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=Ba(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var f=Ga(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=et(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var f=Ba(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]&&to(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}function Dh(e){var r=[jr,Rt("comments",null,{xmlns:Lt[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=ft(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=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(ft(e.a));if(e.T)++i;n.push(e.t==null?"":ft(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(xt("t",a.t==null?"":ft(a.t)));r.push("")})}else{if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);r.push('');var s="Comment:\n "+n[0]+"\n";for(var f=1;f")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Ph(e,r){var t=[];var a=false,n={},i=0;e.replace(Jr,function s(f,l){var o=et(f);switch(rt(o[0])){case"":break;case"":if(n.t!=null)t.push(n);break;case"":;case"": +n.t=e.slice(i,l).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 "+o[0]+" in threaded comments");}return f});return t}function Lh(e,r,t){var a=[jr,Rt("ThreadedComments",null,{xmlns:Pt.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(Rt("threadedComment",xt("text",i.t||""),f))})});a.push("");return a.join("")}function Mh(e,r){var t=[];var a=false;e.replace(Jr,function n(e){var n=et(e);switch(rt(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 Uh(e){var r=[jr,Rt("personList",null,{xmlns:Pt.TCMNT,"xmlns:x":Lt[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(Rt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}function Bh(e){var r={};r.iauthor=e._R(4);var t=yn(e,16);r.rfx=t.s;r.ref=Wa(t.s);e.l+=16;return r}function Wh(e,r){if(r==null)r=Aa(36);r._W(4,e[1].iauthor);En(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var zh=Qa;function Hh(e){return en(e.slice(0,54))}function Vh(e,r){var t=[];var a=[];var n={};var i=false;ya(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.T){}else if(!i||r.WTF)throw new Error("Unexpected record 0x"+l.toString(16));}});return t}function Xh(e){var r=Ea();var t=[];Ca(r,628);Ca(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));Ca(r,632,Hh(e.a));if(e.T&&e.ID&&t.indexOf("tc="+e.ID)==-1){t.push("tc="+e.ID);Ca(r,632,Hh("tc="+e.ID))}})});Ca(r,631);Ca(r,633);e.forEach(function(e){e[1].forEach(function(a){var n=-1;if(a.ID)n=t.indexOf("tc="+a.ID);if(n==-1&&e[1][0].T&&e[1][0].ID)n=t.indexOf("tc="+e[1][0].ID);if(n==-1)n=t.indexOf(a.a);a.iauthor=n;var i={s:Ba(e[0]),e:Ba(e[0])};Ca(r,635,Wh([i,a]));if(a.t&&a.t.length>0)Ca(r,637,fn(a));Ca(r,636);delete a.iauthor})});Ca(r,634);Ca(r,629);return r.end()}var Gh="application/vnd.ms-office.vbaProject";function $h(e){var r=qe.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*/,"");qe.utils.cfb_add(r,n,e.FileIndex[a].content)});return qe.write(r)}function jh(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")qe.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Kh=["xlsb","xlsm","xlam","biff8","xla"];function Yh(){return{"!type":"dialog"}}function Zh(){return{"!type":"dialog"}}function Jh(){return{"!type":"macro"}}function qh(){return{"!type":"macro"}}var Qh=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?"":"$")+Pa(l)+(s?"":"$")+Ia(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var eu=/(^|[^._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 ru=function(){return function e(r,t){return r.replace(eu,function(e,r,a,n,i,s){var f=Da(n)-(a?0:t.c);var l=Ra(s)-(i?0:t.r);var o=i=="$"?l+1:l==0?"":"["+l+"]";var c=a=="$"?f+1:f==0?"":"["+f+"]";return r+"R"+o+"C"+c})}}();function tu(e,r){return e.replace(eu,function(e,t,a,n,i,s){return t+(a=="$"?a+n:Pa(Da(n)+r.c))+(i=="$"?i+s:Ia(Ra(s)+r.r))})}function au(e,r,t){var a=za(r),n=a.s,i=Ba(t);var s={r:i.r-n.r,c:i.c-n.c};return tu(e,s)}function nu(e){if(e.length==1)return false;return true}function iu(e){return e.replace(/_xlfn\./g,"")}function su(e){e.l+=1;return}function fu(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function lu(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return ou(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=fu(e,2);var f=fu(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 ou(e){var r=fu(e,2),t=fu(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 cu(e,r,t){if(t.biff<8)return ou(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=fu(e,2);var s=fu(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 hu(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return uu(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=fu(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function uu(e){var r=fu(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function du(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 vu(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return pu(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 pu(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 mu(e,r,t){var a=(e[e.l++]&96)>>5;var n=lu(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function gu(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=lu(e,i,t);return[a,n,s]}function bu(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 wu(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 ku(e,r,t){var a=(e[e.l++]&96)>>5;var n=cu(e,r-1,t);return[a,n]}function Tu(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Au(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function yu(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 Eu(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 Cu(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 _u(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function Su(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function xu(e){var r=e._R(1),t=e._R(1);return[r,t]}function Ou(e){e._R(2);return xu(e,2)}function Ru(e){e._R(2);return xu(e,2)}function Iu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=hu(e,0,t);return[a,n]}function Nu(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=vu(e,0,t);return[a,n]}function Fu(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=hu(e,0,t);return[a,n,i]}function Du(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[lv[n],fv[n],a]}function Pu(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)]:Lu(e);return[n,(i[0]===0?fv:sv)[i[1]]]}function Lu(e){return[e[e.l+1]>>7,e._R(2)&32767]}function Mu(e,r,t){e.l+=t&&t.biff==2?3:4;return}function Uu(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 Bu(e){e.l++;return ei[e._R(1)]}function Wu(e){e.l++;return e._R(2)}function zu(e){e.l++;return e._R(1)!==0}function Hu(e){e.l++;return Cn(e,8)}function Vu(e,r,t){e.l++;return ms(e,r-1,t)}function Xu(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]=os(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=ei[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=Cn(e,8);break;case 2:t[1]=Ts(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0]);}return t}function Gu(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?yn:Ws)(e,8));return n}function $u(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]=Xu(e,t.biff);return s}function ju(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 Ku(e,r,t){if(t.biff==5)return Yu(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 Yu(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 Zu(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 Ju(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function qu(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 Qu(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 ed=Ta;var rd=Ta;var td=Ta;function ad(e,r,t){e.l+=2;return[du(e,4,t)]}function nd(e){e.l+=6;return[]}var id=ad;var sd=nd;var fd=nd;var ld=ad;function od(e){e.l+=2;return[hs(e),e._R(2)&1]}var cd=ad;var hd=od;var ud=nd;var dd=ad;var vd=ad;var pd=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];function md(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=pd[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function gd(e){e.l+=2;return[e._R(4)]}function bd(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return["PTGSHEET"]}function wd(e,r,t){e.l+=t.biff==2?4:5;return["PTGENDSHEET"]}function kd(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Td(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Ad(e){e.l+=4;return[0,0]}var yd={1:{n:"PtgExp",f:Uu},2:{n:"PtgTbl",f:td},3:{n:"PtgAdd",f:su},4:{n:"PtgSub",f:su},5:{n:"PtgMul",f:su},6:{n:"PtgDiv",f:su},7:{n:"PtgPower",f:su},8:{n:"PtgConcat",f:su},9:{n:"PtgLt",f:su},10:{n:"PtgLe",f:su},11:{n:"PtgEq",f:su},12:{n:"PtgGe",f:su},13:{n:"PtgGt",f:su},14:{n:"PtgNe",f:su},15:{n:"PtgIsect",f:su},16:{n:"PtgUnion",f:su},17:{n:"PtgRange",f:su},18:{n:"PtgUplus",f:su},19:{n:"PtgUminus",f:su},20:{n:"PtgPercent",f:su},21:{n:"PtgParen",f:su},22:{n:"PtgMissArg",f:su},23:{n:"PtgStr",f:Vu},26:{n:"PtgSheet",f:bd},27:{n:"PtgEndSheet",f:wd},28:{n:"PtgErr",f:Bu},29:{n:"PtgBool",f:zu},30:{n:"PtgInt",f:Wu},31:{n:"PtgNum",f:Hu},32:{n:"PtgArray",f:Tu},33:{n:"PtgFunc",f:Du},34:{n:"PtgFuncVar",f:Pu},35:{n:"PtgName",f:ju},36:{n:"PtgRef",f:Iu},37:{n:"PtgArea",f:mu},38:{n:"PtgMemArea",f:Zu},39:{n:"PtgMemErr",f:ed},40:{n:"PtgMemNoMem",f:rd},41:{n:"PtgMemFunc",f:Ju},42:{n:"PtgRefErr",f:qu},43:{n:"PtgAreaErr",f:bu},44:{n:"PtgRefN",f:Nu},45:{n:"PtgAreaN",f:ku},46:{n:"PtgMemAreaN",f:kd},47:{n:"PtgMemNoMemN",f:Td},57:{n:"PtgNameX",f:Ku},58:{n:"PtgRef3d",f:Fu},59:{n:"PtgArea3d",f:gu},60:{n:"PtgRefErr3d",f:Qu},61:{n:"PtgAreaErr3d",f:wu},255:{}};var Ed={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 Cd={1:{n:"PtgElfLel",f:od},2:{n:"PtgElfRw",f:dd},3:{n:"PtgElfCol",f:id},6:{n:"PtgElfRwV",f:vd},7:{n:"PtgElfColV",f:ld},10:{n:"PtgElfRadical",f:cd},11:{n:"PtgElfRadicalS",f:ud},13:{n:"PtgElfColS",f:sd},15:{n:"PtgElfColSV",f:fd},16:{n:"PtgElfRadicalLel",f:hd},25:{n:"PtgList",f:md},29:{n:"PtgSxName",f:gd},255:{}};var _d={0:{n:"PtgAttrNoop",f:Ad},1:{n:"PtgAttrSemi",f:Su},2:{n:"PtgAttrIf",f:Cu},4:{n:"PtgAttrChoose",f:yu},8:{n:"PtgAttrGoto",f:Eu},16:{n:"PtgAttrSum",f:Mu},32:{n:"PtgAttrBaxcel",f:Au},33:{n:"PtgAttrBaxcel",f:Au},64:{n:"PtgAttrSpace",f:Ou},65:{n:"PtgAttrSpaceSemi",f:Ru},128:{n:"PtgAttrIfError",f:_u},255:{}};function Sd(e,r,t,a){if(a.biff<8)return Ta(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]=$u(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=Gu(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(Ta(e,r));return i}function xd(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=yd[i]||yd[Ed[i]];if(i===24||i===25)n=(i===24?Cd:_d)[e[e.l+1]];if(!n||!n.f){Ta(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function Od(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Id(e,r){var t=e.lastIndexOf("!"),a=r.lastIndexOf("!");if(t==-1&&a==-1)return e+":"+r;if(t>0&&a>0&&e.slice(0,t).toLowerCase()==r.slice(0,a).toLowerCase())return e+":"+r.slice(a+1);console.error("Cannot hydrate range",e,r);return e+":"+r}function Nd(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 Fd(e,r,t){var a=Nd(e,r,t);return a=="#REF"?a:Xa(a,t)}function Dd(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,h=0,u=0,d,v="";if(!e[0]||!e[0][0])return"";var p=-1,m="";for(var g=0,b=e[0].length;g=0){switch(e[0][p][1][0]){case 0:m=Tr(" ",e[0][p][1][1]);break;case 1:m=Tr("\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+Rd[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(Id(o,l));break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":c=_a(w[1][1],s,n);f.push(xa(c,i));break;case"PtgRefN":c=t?_a(w[1][1],t,n):w[1][1];f.push(xa(c,i));break;case"PtgRef3d":h=w[1][1];c=_a(w[1][2],s,n);v=Fd(a,h,n);var k=v;f.push(v+"!"+xa(c,i));break;case"PtgFunc":;case"PtgFuncVar":var T=w[1][0],A=w[1][1];if(!T)T=0;T&=127;var y=T==0?[]:f.slice(-T);f.length-=T;if(A==="User")A=y.shift();f.push(A+"("+y.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=Sa(w[1][1],t?{s:t}:s,n);f.push(Oa(d,n));break;case"PtgArea":d=Sa(w[1][1],s,n);f.push(Oa(d,n));break;case"PtgArea3d":h=w[1][1];d=w[1][2];v=Fd(a,h,n);f.push(v+"!"+Oa(d,n));break;case"PtgAttrSum":f.push("SUM("+f.pop()+")");break;case"PtgAttrBaxcel":;case"PtgAttrSemi":break;case"PtgName":u=w[1][2];var E=(a.names||[])[u-1]||(a[0]||[])[u];var C=E?E.Name:"SH33TJSNAME"+String(u);if(C&&C.slice(0,6)=="_xlfn."&&!n.xlfn)C=C.slice(6);f.push(C);break;case"PtgNameX":var _=w[1][1];u=w[1][2];var S;if(n.biff<=5){if(_<0)_=-_;if(a[_])S=a[_][u]}else{var x="";if(((a[_]||[])[0]||[])[0]==14849){}else if(((a[_]||[])[0]||[])[0]==1025){if(a[_][u]&&a[_][u].itab>0){x=a.SheetNames[a[_][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[_]&&a[_][u])x+=a[_][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else{var O=(Nd(a,_,n)||"").split(";;");if(O[u-1])x=O[u-1];else x+="SH33TJSERRX"}f.push(x);break}if(!S)S={Name:"SH33TJSERRY"};f.push(S.Name);break;case"PtgParen":var R="(",I=")";if(p>=0){m="";switch(e[0][p][1][0]){case 2:R=Tr(" ",e[0][p][1][1])+R;break;case 3:R=Tr("\r",e[0][p][1][1])+R;break;case 4:I=Tr(" ",e[0][p][1][1])+I;break;case 5:I=Tr("\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[Wa(c)]){var F=a.sharedf[Wa(c)];f.push(Dd(F,s,N,a,n))}else{var D=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(Dd(o[1],s,N,a,n));D=true;break}if(!D)f.push(w[1])}break;case"PtgArray":f.push("{"+Od(w[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":p=g;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][g][0])==-1){w=e[0][p];var L=true;switch(w[1][0]){case 4:L=false;case 0:m=Tr(" ",w[1][1]);break;case 5:L=false;case 1:m=Tr("\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");if(f[0]=="TRUE")return true;if(f[0]=="FALSE")return false;return f[0]}function Pd(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ta(e,r-2)];var f=xd(e,s,t);if(r!==s+n)i=Sd(e,r-s-n,f,t);e.l=a;return[f,i]}function Ld(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ta(e,r-2)];var f=xd(e,s,t);if(r!==s+n)i=Sd(e,r-s-n,f,t);e.l=a;return[f,i]}function Md(e,r,t,a){var n=e.l+r;var i=xd(e,a,t);var s;if(n!==e.l)s=Sd(e,n-e.l,i,t);return[i,s]}function Ud(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=xd(e,i,t);if(i==65535)return[[],Ta(e,r-2)];if(r!==i+2)n=Sd(e,a-i-2,s,t);return[s,n]}function Bd(e){var r;if(oa(e,e.l+6)!==65535)return[Cn(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 Wd(e){if(e==null){var r=Aa(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 _n(e);return _n(0)}function zd(e,r,t){var a=e.l+r;var n=Fs(e,6,t);var i=Bd(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=Ld(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function Hd(e,r,t,a,n){var i=Ds(r,t,n);var s=Wd(e.v);var f=Aa(6);var l=1|32;f._W(2,l);f._W(4,0);var o=Aa(e.bf.length);for(var c=0;c0?Sd(e,i,n,t):null;return[n,s]}var Xd=Vd;var Gd=Vd;var $d=Vd;var jd=Vd;function Kd(e){if((e|0)==e&&e=0){var r=Aa(11);r._W(4,3);r._W(1,30);r._W(2,e);r._W(4,0);return r}var t=Aa(17);t._W(4,11);t._W(1,31);t._W(8,e);t._W(4,0);return t}function Yd(e){var r=Aa(10);r._W(4,2);r._W(1,28);r._W(1,e);r._W(4,0);return r}function Zd(e){var r=Aa(10);r._W(4,2);r._W(1,29);r._W(1,e?1:0);r._W(4,0);return r}function Jd(e){var r=Aa(7);r._W(4,3+2*e.length);r._W(1,23);r._W(2,e.length);var t=Aa(2*e.length);t._W(2*e.length,e,"utf16le");var a=Aa(4);a._W(4,0);return P([r,t,a])}function qd(e){var r=Ba(e);var t=Aa(15);t._W(4,7);t._W(1,4|1<<5);t._W(4,r.r);t._W(2,r.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);t._W(4,0);return t}function Qd(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);var n=Ba(e);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var i=Aa(17);i._W(4,9);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.r);i._W(2,n.c|(e.charAt(0)=="$"?0:1)<<14|(e.match(/\$\d/)?0:1)<<15);i._W(4,0);return i}function ev(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=Aa(17);n._W(4,9);n._W(1,28|1<<5);n._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));n._W(4,0);n._W(2,0);n._W(4,0);return n}function rv(e){var r=e.split(":"),t=r[0];var a=Aa(23);a._W(4,15);t=r[0];var n=Ba(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);t=r[1];n=Ba(t);a._W(1,4|1<<5);a._W(4,n.r);a._W(2,n.c|(t.charAt(0)=="$"?0:1)<<14|(t.match(/\$\d/)?0:1)<<15);a._W(4,0);a._W(1,17);a._W(4,0);return a}function tv(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=e.split(":");var i=Aa(27);i._W(4,19);var s=n[0],f=Ba(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);s=n[1];f=Ba(s);i._W(1,26|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,f.r);i._W(2,f.c|(s.charAt(0)=="$"?0:1)<<14|(s.match(/\$\d/)?0:1)<<15);i._W(1,17);i._W(4,0);return i}function av(e,r){var t=e.lastIndexOf("!");var a=e.slice(0,t);e=e.slice(t+1);if(a.charAt(0)=="'")a=a.slice(1,-1).replace(/''/g,"'");var n=za(e);var i=Aa(23);i._W(4,15);i._W(1,27|1<<5);i._W(2,2+r.SheetNames.map(function(e){return e.toLowerCase()}).indexOf(a.toLowerCase()));i._W(4,n.s.r);i._W(4,n.e.r);i._W(2,n.s.c);i._W(2,n.e.c);i._W(4,0);return i}function nv(e,r){if(typeof e=="number")return Kd(e);if(typeof e=="boolean")return Zd(e);if(/^#(DIV\/0!|GETTING_DATA|N\/A|NAME\?|NULL!|NUM!|REF!|VALUE!)$/.test(e))return Yd(+ri[e]);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return qd(e);if(e.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return rv(e);if(e.match(/^#REF!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return av(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return Qd(e,r);if(e.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?: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})$/))return tv(e,r);if(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!#REF!$/.test(e))return ev(e,r);if(/^".*"$/.test(e))return Jd(e);if(/^[+-]\d+$/.test(e))return Kd(parseInt(e,10));throw"Formula |"+e+"| not supported for XLSB"}var iv=nv;var sv={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 fv={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 lv={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 ov(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(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function cv(e){var r="of:="+e.replace(eu,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function hv(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});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 uv(e){return e.replace(/!/,".").replace(/:/,":.")}var dv={};var vv={};var pv=typeof Map!=="undefined";function mv(e,r,t){var a=0,n=e.length;if(t){if(pv?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=pv?t.get(r):t[r];for(;a-1){t.width=Qo(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 bv(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 wv(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){Ze(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 kv(e,r,t,a,n,i,s){try{if(a.cellNF)e.z=q[r]}catch(f){if(a.WTF)throw f}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=br(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(q[r]==null)Ze(Ge[r]||"General",r);if(e.t==="e")e.w=e.w||ei[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=fe(e.v)}else if(e.t==="d"){var l=ur(e.v,!!s);if((l|0)===l)e.w=l.toString(10);else e.w=fe(l)}else if(e.v===undefined)return"";else e.w=le(e.v,vv)}else if(e.t==="d")e.w=We(r,ur(e.v,!!s),vv);else e.w=We(r,e.v,vv)}catch(f){if(a.WTF)throw f}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=$o(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=$o(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(f){if(a.WTF&&i.Fills)throw f}}function Tv(e,r,t){if(e&&e["!ref"]){var a=Ga(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Ha(t)}var yv=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Ev=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Cv=/<(?:\w:)?hyperlink [^>]*>/gm;var _v=/"(\w*:\w*)"/;var Sv=/<(?:\w:)?col\b[^>]*[\/]?>/g;var xv=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Ov=/<(?:\w:)?pageMargins[^>]*\/>/g;var Rv=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var Iv=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var Nv=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Fv(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(b!=null&&r.dense==null)r.dense=b;var f={};if(r.dense)f["!data"]=[];var l={s:{r:2e6,c:2e6},e:{r:0,c:0}};var o="",c="";var h=e.match(Ev);if(h){o=e.slice(0,h.index);c=e.slice(h.index+h[0].length)}else o=c=e;var u=o.match(Rv);if(u)Pv(u[0],f,n,t);else if(u=o.match(Iv))Lv(u[0],u[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(_v);if(v&&!(r&&r.nodim))Av(f,v[1])}var p=o.match(Nv);if(p&&p[1])Yv(p[1],n);var m=[];if(r.cellStyles){var g=o.match(Sv);if(g)Xv(m,g)}if(h)qv(h[1],f,r,l,i,s,n);var w=c.match(xv);if(w)f["!autofilter"]=$v(w[0]);var k=[];var T=c.match(yv);if(T)for(d=0;d!=T.length;++d)k[d]=Ga(T[d].slice(T[d].indexOf('"')+1));var A=c.match(Cv);if(A)zv(f,A,a);var y=c.match(Ov);if(y)f["!margins"]=Hv(et(y[0]));var E;if(E=c.match(/legacyDrawing r:id="(.*?)"/))f["!legrel"]=E[1];if(r&&r.nodim)l.s.c=l.s.r=0;if(!f["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r)f["!ref"]=Ha(l);if(r.sheetRows>0&&f["!ref"]){var C=Ga(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"]=m;if(k.length>0)f["!merges"]=k;if(a["!id"][f["!legrel"]])f["!legdrawel"]=a["!id"][f["!legrel"]];return f}function Dv(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Pv(e,r,t,a){var n=et(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=nt(wt(n.codeName))}function Lv(e,r,t,a,n){Pv(e.slice(0,e.indexOf(">")),t,a,n)}function Mv(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=kt(ft(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||"")+Rt("outlinePr",null,c)}if(!i&&!f)return;n[n.length]=Rt("sheetPr",f,s)}var Uv=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var Bv=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function Wv(e){var r={sheet:1};Uv.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});Bv.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=Io(e.password).toString(16).toUpperCase();return Rt("sheetProtection",null,r)}function zv(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=et(wt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+nt(i.location)}else{i.Target="#"+nt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=Ga(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=Pa(o)+Ia(l);if(a){if(!e["!data"][l])e["!data"][l]=[];if(!e["!data"][l][o])e["!data"][l][o]={t:"z",v:undefined};e["!data"][l][o].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Hv(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Vv(e){bv(e);return Rt("pageMargins",null,e)}function Xv(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=et(r[a],true);if(n.hidden)n.hidden=vt(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;rc(n.width)}tc(n);while(i<=s)e[i++]=kr(n)}}function Gv(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=Rt("col",null,gv(n,a))}t[t.length]="";return t.join("")}function $v(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function jv(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Ha(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=za(n);if(s.s.r==s.e.r){s.e.r=za(r["!ref"]).e.r;n=Ha(s)}for(var f=0;fa-z][^>]*)?\/?>/g;function Yv(e,r){if(!r.Views)r.Views=[{}];(e.match(Kv)||[]).forEach(function(e,t){var a=et(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&vt(a.rightToLeft))r.Views[t].RTL=true})}function Zv(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return Rt("sheetViews",Rt("sheetView",null,n),{})}function Jv(e,r,t,a,n,i,s){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")return"";var f="";var l=e.t,o=e.v;if(e.t!=="z")switch(e.t){case"b":f=e.v?"1":"0";break;case"n":if(isNaN(e.v)){e.t="e";f=ei[e.v=36]}else if(!isFinite(e.v)){e.t="e";f=ei[e.v=7]}else f=""+e.v;break;case"e":f=ei[e.v];break;case"d":if(a&&a.cellDates){var c=br(e.v,s);f=c.toISOString();if(c.getUTCFullYear()<1900)f=f.slice(f.indexOf("T")+1).replace("Z","")}else{e=kr(e);e.t="n";f=""+(e.v=ur(br(e.v,s),s))}if(typeof e.z==="undefined")e.z=q[14];break;default:f=e.v;break;}var h=e.t=="z"||e.v==null?"":xt("v",ft(f)),u={r:r};var d=wv(a.cellXfs,e,a);if(d!==0)u.s=d;switch(e.t){case"n":break;case"d":u.t="d";break;case"b":u.t="b";break;case"e":u.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){h=xt("v",""+mv(a.Strings,e.v,a.revStrings));u.t="s";break}else u.t="str";break;}if(e.t!=l){e.t=l;e.v=o}if(typeof e.f=="string"&&e.f){var v=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;h=Rt("f",ft(e.f),v)+(e.v!=null?h:"")}if(e.l){e.l.display=ft(f);t["!links"].push([r,e.l])}if(e.D)u.cm=1;return Rt("c",h,u)}var qv=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=Tt("v"),s=Tt("f");return function f(l,o,c,h,u,d,v){var p=0,m="",g=[],b=[],w=0,k=0,T=0,A="",y;var E,C=0,_=0;var S,x;var O=0,R=0;var I=Array.isArray(d.CellXf),N;var F=[];var D=[];var P=o["!data"]!=null;var L=[],M={},U=false;var B=!!c.sheetStubs;var W=!!((v||{}).WBProps||{}).date1904;for(var z=l.split(r),H=0,V=z.length;H!=V;++H){m=z[H].trim();var X=m.length;if(X===0)continue;var G=0;e:for(p=0;p":if(m[p-1]!="/"){++p;break e}if(c&&c.cellStyles){E=et(m.slice(G,p),true);C=E.r!=null?parseInt(E.r,10):C+1;_=-1;if(c.sheetRows&&c.sheetRows=p)break;E=et(m.slice(G,p),true);C=E.r!=null?parseInt(E.r,10):C+1;_=-1;if(c.sheetRows&&c.sheetRowsC-1)h.s.r=C-1;if(h.e.r":"")+m;if(b!=null&&b.length===2){w=0;A=b[1];for(k=0;k!=A.length;++k){if((T=A.charCodeAt(k)-64)<1||T>26)break;w=26*w+T}--w;_=w}else++_;for(k=0;k!=m.length;++k)if(m.charCodeAt(k)===62)break;++k;E=et(m.slice(0,k),true);if(!E.r)E.r=Wa({r:C-1,c:_});A=m.slice(k);y={t:""};if((b=A.match(i))!=null&&b[1]!=="")y.v=nt(b[1]);if(c.cellFormula){if((b=A.match(s))!=null){if(b[1]==""){if(b[0].indexOf('t="shared"')>-1){x=et(b[0]);if(D[x.si])y.f=au(D[x.si][1],D[x.si][2],E.r)}}else{y.f=nt(wt(b[1]),true);if(!c.xlfn)y.f=iu(y.f);if(b[0].indexOf('t="array"')>-1){y.F=(A.match(n)||[])[1];if(y.F.indexOf(":")>-1)F.push([Ga(y.F),y.F])}else if(b[0].indexOf('t="shared"')>-1){x=et(b[0]);var j=nt(wt(b[1]));if(!c.xlfn)j=iu(j);D[parseInt(x.si,10)]=[x,j,E.r]}}}else if(b=A.match(/]*\/>/)){x=et(b[0]);if(D[x.si])y.f=au(D[x.si][1],D[x.si][2],E.r)}var K=Ba(E.r);for(k=0;k=F[k][0].s.r&&K.r<=F[k][0].e.r)if(K.c>=F[k][0].s.c&&K.c<=F[k][0].e.c)y.F=F[k][1]}if(E.t==null&&y.v===undefined){if(y.f||y.F){y.v=0;y.t="n"}else if(!B)continue;else y.t="z"}else y.t=E.t||"n";if(h.s.c>_)h.s.c=_;if(h.e.c<_)h.e.c=_;switch(y.t){case"n":if(y.v==""||y.v==null){if(!B)continue;y.t="z"}else y.v=parseFloat(y.v);break;case"s":if(typeof y.v=="undefined"){if(!B)continue;y.t="z"}else{S=dv[parseInt(y.v,10)];y.v=S.t;y.r=S.r;if(c.cellHTML)y.h=S.h}break;case"str":y.t="s";y.v=y.v!=null?nt(wt(y.v),true):"";if(c.cellHTML)y.h=ct(y.v);break;case"inlineStr":b=A.match(a);y.t="s";if(b!=null&&(S=to(b[1]))){y.v=S.t;if(c.cellHTML)y.h=S.h}else y.v="";break;case"b":y.v=vt(y.v);break;case"d":if(c.cellDates)y.v=br(y.v,W);else{y.v=ur(br(y.v,W),W);y.t="n"}break;case"e":if(!c||c.cellText!==false)y.w=y.v;y.v=ri[y.v];break;}O=R=0;N=null;if(I&&E.s!==undefined){N=d.CellXf[E.s];if(N!=null){if(N.numFmtId!=null)O=N.numFmtId;if(c.cellStyles){if(N.fillId!=null)R=N.fillId}}}kv(y,O,R,c,u,d,W);if(c.cellDates&&I&&y.t=="n"&&Pe(q[O])){y.v=dr(y.v+(W?1462:0));y.t=typeof y.v=="number"?"n":"d"}if(E.cm&&c.xlmeta){var Y=(c.xlmeta.Cell||[])[+E.cm-1];if(Y&&Y.type=="XLDAPR")y.D=true}var Z;if(c.nodim){Z=Ba(E.r);if(h.s.r>Z.r)h.s.r=Z.r;if(h.e.r0)o["!rows"]=L}}();function Qv(e,r,t,a){var n=[],i=[],s=Ga(e["!ref"]),f="",l,o="",c=[],h=0,u=0,d=e["!rows"];var v=e["!data"]!=null;var p={r:o},m,g=-1;var b=(((a||{}).Workbook||{}).WBProps||{}).date1904;for(u=s.s.c;u<=s.e.c;++u)c[u]=Pa(u);for(h=s.s.r;h<=s.e.r;++h){i=[];o=Ia(h);for(u=s.s.c;u<=s.e.c;++u){l=c[u]+o;var w=v?(e["!data"][h]||[])[u]:e[l];if(w===undefined)continue;if((f=Jv(w,l,e,r,t,a,b))!=null)i.push(f)}if(i.length>0||d&&d[h]){p={r:o};if(d&&d[h]){m=d[h];if(m.hidden)p.hidden=1;g=-1;if(m.hpx)g=ic(m.hpx);else if(m.hpt)g=m.hpt;if(g>-1){p.ht=g;p.customHeight=1}if(m.level){p.outlineLevel=m.level}}n[n.length]=Rt("row",i.join(""),p)}}if(d)for(;h-1){p.ht=g;p.customHeight=1}if(m.level){p.outlineLevel=m.level}n[n.length]=Rt("row","",p)}}return n.join("")}function ep(e,r,t,a){var n=[jr,Rt("worksheet",null,{xmlns:Lt[0],"xmlns:r":Pt.r})];var i=t.SheetNames[e],s=0,f="";var l=t.Sheets[i];if(l==null)l={};var o=l["!ref"]||"A1";var c=Ga(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=Ha(c)}if(!a)a={};l["!comments"]=[];var h=[];Mv(l,t,e,r,n);n[n.length]=Rt("dimension",null,{ref:o});n[n.length]=Zv(l,r,e,t);if(r.sheetFormat)n[n.length]=Rt("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]=Gv(l,l["!cols"]);n[s=n.length]="";l["!links"]=[];if(l["!ref"]!=null){f=Qv(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]=Wv(l["!protect"]);if(l["!autofilter"]!=null)n[n.length]=jv(l["!autofilter"],l,t,e);if(l["!merges"]!=null&&l["!merges"].length>0)n[n.length]=Dv(l["!merges"]);var u=-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=ui(a,-1,ft(e[1].Target).replace(/#.*$/,""),li.HLINK);d["r:id"]="rId"+v}if((u=e[1].Target.indexOf("#"))>-1)d.location=ft(e[1].Target.slice(u+1));if(e[1].Tooltip)d.tooltip=ft(e[1].Tooltip);d.display=e[1].display;n[n.length]=Rt("hyperlink",null,d)});n[n.length]=""}delete l["!links"];if(l["!margins"]!=null)n[n.length]=Vv(l["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=xt("ignoredErrors",Rt("ignoredError",null,{numberStoredAsText:1,sqref:o}));if(h.length>0){v=ui(a,-1,"../drawings/drawing"+(e+1)+".xml",li.DRAW);n[n.length]=Rt("drawing",null,{"r:id":"rId"+v});l["!drawing"]=h}if(l["!comments"].length>0){v=ui(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",li.VML);n[n.length]=Rt("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 rp(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 tp(e,r,t){var a=Aa(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=ic(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};var c=t["!data"]!=null;for(var h=0;h<16;++h){if(r.s.c>h+1<<10||r.e.ca.l?a.slice(0,a.l):a}function ap(e,r,t,a){var n=tp(a,t,r);if(n.length>17||(r["!rows"]||[])[a])Ca(e,0,n)}var np=yn;var ip=En;function sp(){}function fp(e,r){var t={};var a=e[e.l];++e.l;t.above=!(a&64);t.left=!(a&128);e.l+=18;t.name=un(e,r-19);return t}function lp(e,r,t){if(t==null)t=Aa(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);xn({auto:1},t);t._W(-4,-1);t._W(-4,-1);dn(e,t);return t.slice(0,t.l)}function op(e){var r=ln(e);return[r]}function cp(e,r,t){if(t==null)t=Aa(8);return on(r,t)}function hp(e){var r=cn(e);return[r]}function up(e,r,t){if(t==null)t=Aa(4);return hn(r,t)}function dp(e){var r=ln(e);var t=e._R(1);return[r,t,"b"]}function vp(e,r,t){if(t==null)t=Aa(9);on(r,t);t._W(1,e.v?1:0);return t}function pp(e){var r=cn(e);var t=e._R(1);return[r,t,"b"]}function mp(e,r,t){if(t==null)t=Aa(5);hn(r,t);t._W(1,e.v?1:0);return t}function gp(e){var r=ln(e);var t=e._R(1);return[r,t,"e"]}function bp(e,r,t){if(t==null)t=Aa(9);on(r,t);t._W(1,e.v);return t}function wp(e){var r=cn(e);var t=e._R(1);return[r,t,"e"]}function kp(e,r,t){if(t==null)t=Aa(8);hn(r,t);t._W(1,e.v);t._W(2,0);t._W(1,0);return t}function Tp(e){var r=ln(e);var t=e._R(4);return[r,t,"s"]}function Ap(e,r,t){if(t==null)t=Aa(12);on(r,t);t._W(4,r.v);return t}function yp(e){var r=cn(e);var t=e._R(4);return[r,t,"s"]}function Ep(e,r,t){if(t==null)t=Aa(8);hn(r,t);t._W(4,r.v);return t}function Cp(e){var r=ln(e);var t=Cn(e);return[r,t,"n"]}function _p(e,r,t){if(t==null)t=Aa(16);on(r,t);_n(e.v,t);return t}function Sp(e){var r=cn(e);var t=Cn(e);return[r,t,"n"]}function xp(e,r,t){if(t==null)t=Aa(12);hn(r,t);_n(e.v,t);return t}function Op(e){var r=ln(e);var t=wn(e);return[r,t,"n"]}function Rp(e,r,t){if(t==null)t=Aa(12);on(r,t);kn(e.v,t);return t}function Ip(e){var r=cn(e);var t=wn(e);return[r,t,"n"]}function Np(e,r,t){if(t==null)t=Aa(8);hn(r,t);kn(e.v,t);return t}function Fp(e){var r=ln(e);var t=an(e);return[r,t,"is"]}function Dp(e){var r=ln(e);var t=Qa(e);return[r,t,"str"]}function Pp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=Aa(12+4*e.v.length);on(r,t);en(a,t);return t.length>t.l?t.slice(0,t.l):t}function Lp(e){var r=cn(e);var t=Qa(e);return[r,t,"str"]}function Mp(e,r,t){var a=e.v==null?"":String(e.v);if(t==null)t=Aa(8+4*a.length);hn(r,t);en(a,t);return t.length>t.l?t.slice(0,t.l):t}function Up(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var f=Gd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Bp(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var f=Gd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}function Wp(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=Cn(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var f=Gd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a;return s}function zp(e,r,t){var a=e.l+r;var n=ln(e);n.r=t["!row"];var i=Qa(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var f=Gd(e,a-e.l,t);s[3]=Dd(f,null,n,t.supbooks,t)}else e.l=a; +return s}var Hp=yn;var Vp=En;function Xp(e,r){if(r==null)r=Aa(4);r._W(4,e);return r}function Gp(e,r){var t=e.l+r;var a=yn(e,16);var n=vn(e);var i=Qa(e);var s=Qa(e);var f=Qa(e);e.l=t;var l={rfx:a,relId:n,loc:i,display:f};if(s)l.Tooltip=s;return l}function $p(e,r){var t=Aa(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));En({s:Ba(e[0]),e:Ba(e[0])},t);bn("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);en(n||"",t);en(e[1].Tooltip||"",t);en("",t);return t.slice(0,t.l)}function jp(){}function Kp(e,r,t){var a=e.l+r;var n=Tn(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=Xd(e,a-e.l,t);s[1]=f}else e.l=a;return s}function Yp(e,r,t){var a=e.l+r;var n=yn(e,16);var i=[n];if(t.cellFormula){var s=jd(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function Zp(e,r,t){if(t==null)t=Aa(18);var a=gv(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 Jp=["left","right","top","bottom","header","footer"];function qp(e){var r={};Jp.forEach(function(t){r[t]=Cn(e,8)});return r}function Qp(e,r){if(r==null)r=Aa(6*8);bv(e);Jp.forEach(function(t){_n(e[t],r)});return r}function em(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function rm(e,r,t){if(t==null)t=Aa(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 tm(e){var r=Aa(24);r._W(4,4);r._W(4,1);En(e,r);return r}function am(e,r){if(r==null)r=Aa(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 nm(){}function im(){}function sm(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={"!id":{}};if(b!=null&&f.dense==null)f.dense=b;var l={};if(f.dense)l["!data"]=[];var o;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var h=[];var u=false,d=false;var v,p,m,g,w,k,T,A,y;var E=[];f.biff=12;f["!row"]=0;var C=0,_=false;var S=[];var x={};var O=f.supbooks||n.supbooks||[[]];O.sharedf=x;O.arrayf=S;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;R0);w=e[0].c==-1?w+1:e[0].c;if(f.dense){if(!l["!data"][g])l["!data"][g]=[];l["!data"][g][w]=p}else l[Pa(w)+A]=p;if(f.cellFormula){_=false;for(C=0;C=R[0].s.r&&v.r<=R[0].e.r)if(w>=R[0].s.c&&w<=R[0].e.c){p.F=Ha(R[0]);_=true}}if(!_&&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;rc(e.w/256)}tc(I[e.e+1])}break;case 551:if(e)l["!legrel"]=e;break;case 161:l["!autofilter"]={ref:Ha(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 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(b);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"+b.toString(16));}},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"]=Ha(o||c);if(f.sheetRows&&l["!ref"]){var M=Ga(l["!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)l["!merges"]=E;if(I.length>0)l["!cols"]=I;if(N.length>0)l["!rows"]=N;if(a["!id"][l["!legrel"]])l["!legdrawel"]=a["!id"][l["!legrel"]];return l}function fm(e,r,t,a,n,i,s,f){var l={r:t,c:a};if(r.c)i["!comments"].push([Wa(l),r.c]);if(r.v===undefined)return false;var o="";switch(r.t){case"b":o=r.v?"1":"0";break;case"d":r=kr(r);r.z=r.z||q[14];r.v=ur(br(r.v,f),f);r.t="n";break;case"n":;case"e":o=""+r.v;break;default:o=r.v;break;}l.s=wv(n.cellXfs,r,n);if(r.l)i["!links"].push([Wa(l),r.l]);switch(r.t){case"s":;case"str":if(n.bookSST){o=mv(n.Strings,r.v==null?"":String(r.v),n.revStrings);l.t="s";l.v=o;if(s)Ca(e,18,Ep(r,l));else Ca(e,7,Ap(r,l))}else{l.t="str";if(s)Ca(e,17,Mp(r,l));else Ca(e,6,Pp(r,l))}return true;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3){if(s)Ca(e,13,Np(r,l));else Ca(e,2,Rp(r,l))}else if(isNaN(r.v)){if(s)Ca(e,14,kp({t:"e",v:36},l));else Ca(e,3,bp({t:"e",v:36},l))}else if(!isFinite(r.v)){if(s)Ca(e,14,kp({t:"e",v:7},l));else Ca(e,3,bp({t:"e",v:7},l))}else{if(s)Ca(e,16,xp(r,l));else Ca(e,5,_p(r,l))}return true;case"b":l.t="b";if(s)Ca(e,15,mp(r,l));else Ca(e,4,vp(r,l));return true;case"e":l.t="e";if(s)Ca(e,14,kp(r,l));else Ca(e,3,bp(r,l));return true;}if(s)Ca(e,12,up(r,l));else Ca(e,1,cp(r,l));return true}function lm(e,r,t,a,n){var i=Ga(r["!ref"]||"A1"),s,f="",l=[];var o=(((n||{}).Workbook||{}).WBProps||{}).date1904;Ca(e,145);var c=r["!data"]!=null;var h=i.e.r;if(r["!rows"])h=Math.max(i.e.r,r["!rows"].length-1);for(var u=i.s.r;u<=h;++u){f=Ia(u);ap(e,r,i,u);var d=false;if(u<=i.e.r)for(var v=i.s.c;v<=i.e.c;++v){if(u===i.s.r)l[v]=Pa(v);s=l[v]+f;var p=c?(r["!data"][u]||[])[v]:r[s];if(!p){d=false;continue}d=fm(e,p,u,v,a,r,d,o)}}Ca(e,146)}function om(e,r){if(!r||!r["!merges"])return;Ca(e,177,Xp(r["!merges"].length));r["!merges"].forEach(function(r){Ca(e,176,Vp(r))});Ca(e,178)}function cm(e,r){if(!r||!r["!cols"])return;Ca(e,390);r["!cols"].forEach(function(r,t){if(r)Ca(e,60,Zp(t,r))});Ca(e,391)}function hm(e,r){if(!r||!r["!ref"])return;Ca(e,648);Ca(e,649,tm(Ga(r["!ref"])));Ca(e,650)}function um(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ui(t,-1,r[1].Target.replace(/#.*$/,""),li.HLINK);Ca(e,494,$p(r,a))});delete r["!links"]}function dm(e,r,t,a){if(r["!comments"].length>0){var n=ui(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",li.VML);Ca(e,551,bn("rId"+n));r["!legacy"]=n}}function vm(e,r,t,a){if(!r["!autofilter"])return;var n=r["!autofilter"];var i=typeof n.ref==="string"?n.ref:Ha(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=za(i);if(f.s.r==f.e.r){f.e.r=za(r["!ref"]).e.r;i=Ha(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"]=[];Ca(n,129);if(t.vbaraw||s["!outline"])Ca(n,147,lp(f,s["!outline"]));Ca(n,148,ip(o));pm(n,s,t.Workbook);mm(n,s);cm(n,s,e,r,t);lm(n,s,e,r,t);gm(n,s);vm(n,s,t,e);om(n,s);um(n,s,a);if(s["!margins"])Ca(n,476,Qp(s["!margins"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)hm(n,s);dm(n,s,e,a);Ca(n,130);return n.end()}function wm(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=nt((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 km(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=wm(e);c.s.r=c.s.c=0;c.e.c=f;o=Pa(f);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][f]={t:"n",v:e,z:r[1]}}else s[o+Ia(t)]={t:"n",v:e,z:r[1]};l=t});if(c.e.r0)s["!ref"]=Ha(c);return s}function Tm(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(Rv);if(f)Pv(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 Am(e,r){e.l+=10;var t=Qa(e,r-10);return{name:t}}function ym(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;ya(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(o);break;case 38:s.pop();break;default:if(a.T>0)s.push(o);else if(a.T<0)s.pop();else if(!f||r.WTF)throw new Error("Unexpected record 0x"+o.toString(16));}},r);if(a["!id"][i["!rel"]])i["!drawel"]=a["!id"][i["!rel"]];return i}var Em=[["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 Cm=[["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 _m=[];var Sm=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function xm(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]]=vt(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Om(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]]=vt(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Rm(e){Om(e.WBProps,Em);Om(e.CalcPr,Sm);xm(e.WBView,Cm);xm(e.Sheets,_m);vv.date1904=vt(e.WBProps.date1904)}function Im(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return vt(e.Workbook.WBProps.date1904)?"true":"false"}var Nm=":][*?/\\".split("");function Fm(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");Nm.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function Dm(e,r,t){e.forEach(function(a,n){Fm(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Pm(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||[];Dm(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Em.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=vt(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=wt(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=nt(wt(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){Em.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]=Rt("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:ft(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]=Rt("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]=Rt("definedName",ft(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Bm(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=gn(e,r-8);t.name=Qa(e);return t}function Wm(e,r){if(!r)r=Aa(127);r._W(4,e.Hidden);r._W(4,e.iTabID);bn(e.strRelID,r);en(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function zm(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?Qa(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 Hm(e,r){if(!r)r=Aa(72);var t=0;if(e){if(e.date1904)t|=1;if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);dn(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Vm(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Xm(e,r,t){var a=e.l+r;var n=e._R(4);e.l+=1;var i=e._R(4);var s=mn(e);var f=$d(e,0,t);var l=vn(e);if(n&32)s="_xlnm."+s;e.l=a;var o={Name:s,Ptg:f,Flags:n};if(i<268435455)o.Sheet=i;if(l)o.Comment=l;return o}function Gm(e,r){var t=Aa(9);var a=0;var n=e.Name;if(ti.indexOf(n)>-1){a|=32;n=n.slice(6)}t._W(4,a);t._W(1,0);t._W(4,e.Sheet==null?4294967295:e.Sheet);var i=[t,en(n),iv(e.Ref,r)];if(e.Comment)i.push(pn(e.Comment));else{var s=Aa(4);s._W(4,4294967295);i.push(s)}return P(i)}function $m(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=[];Zg[16]={n:"BrtFRTArchID$",f:Vm};ya(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=Dd(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(o);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(o);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if(l.T){}else if(!n||r.WTF&&a[a.length-1]!=37&&a[a.length-1]!=35)throw new Error("Unexpected record 0x"+o.toString(16));}},r);Rm(t);t.Names=i;t.supbooks=s;return t}function jm(e,r){Ca(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]};Ca(e,156,Wm(n))}Ca(e,144)}function Km(r,t){if(!t)t=Aa(127);for(var a=0;a!=4;++a)t._W(4,0);en("SheetJS",t);en(e.version,t);en(e.version,t);en("7262",t);return t.length>t.l?t.slice(0,t.l):t}function Ym(e,r){if(!r)r=Aa(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 Zm(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;Ca(e,135);Ca(e,158,Ym(n));Ca(e,136)}function Jm(e,r){if(!r.Workbook||!r.Workbook.Names)return;r.Workbook.Names.forEach(function(t){try{if(t.Flags&14)return;Ca(e,39,Gm(t,r))}catch(a){console.error("Could not serialize defined name "+JSON.stringify(t))}})}function qm(e){var r=e.SheetNames.length;var t=Aa(12*r+28);t._W(4,r+2);t._W(4,0);t._W(4,-2);t._W(4,-2);t._W(4,0);t._W(4,-1);t._W(4,-1);for(var a=0;a-1?nt(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=ur(br(e,c),c);if(a.v!==a.v)a.v=nt(e);if(!h||h=="General")h="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=ri[e];if(o.cellText!==false)a.w=e;break;default:if(e==""&&r==""){a.t="z"}else{a.t="s";a.v=ut(r||e)}break;}wg(a,h,o,c);if(o.cellFormula!==false){if(a.Formula){var m=nt(a.Formula);if(m.charCodeAt(0)==61)m=m.slice(1);a.f=Qh(m,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=Qh("RC:RC",n);else if(a.ArrayRange){a.F=Qh(a.ArrayRange,n);l.push([Ga(a.F),a.F])}}else{for(p=0;p=l[p][0].s.r&&n.r<=l[p][0].e.r)if(n.c>=l[p][0].s.c&&n.c<=l[p][0].e.c)a.F=l[p][1]}}if(o.cellStyles){v.forEach(function(e){if(!d.patternType&&e.patternType)d.patternType=e.patternType});a.s=d}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function Ag(e){return ti.indexOf("_xlnm."+e)>-1?"_xlnm."+e:e}function yg(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 Eg(e,r){var t=r||{};Ve();var n=v(Ft(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof a!=="undefined")n=a.utils.decode(65001,c(n));else n=wt(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=kr(t);f.type="string";return jl.to_workbook(n,f)}if(i.indexOf("=0)s=true});if(s)return Cb(n,t);mg={"General Number":"General","General Date":q[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":q[15],"Short Date":q[14],"Long Time":q[19],"Medium Time":q[18],"Short Time":q[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:q[2],Standard:q[4],Percent:q[10],Scientific:q[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var l;var o=[],h;if(b!=null&&t.dense==null)t.dense=b;var u={},d=[],p={},m="";if(t.dense)p["!data"]=[];var g={},w={};var k=vg(''),T=0;var A=0,y=0;var E={s:{r:2e6,c:2e6},e:{r:0,c:0}};var C={},_={};var S="",x=0;var O=[];var R={},I={},N=0,F=[];var D=[],P={};var L=[],M,U=false;var B=[];var W=[],z={},H=0,V=0;var X={Sheets:[],WBProps:{date1904:false}},G={};Dt.lastIndex=0;n=n.replace(//gm,"");var $="";while(l=Dt.exec(n))switch(l[3]=($=l[3]).toLowerCase()){case"data":if($=="data"){if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break}if(o[o.length-1][1])break;if(l[1]==="/")Tg(n.slice(T,l.index),S,k,o[o.length-1][0]=="comment"?P:g,{c:A,r:y},C,L[A],w,B,t,X.WBProps.date1904);else{S="";k=vg(l[0]);T=l.index+l[0].length}break;case"cell":if(l[1]==="/"){if(D.length>0)g.c=D;if((!t.sheetRows||t.sheetRows>y)&&g.v!==void 0){if(t.dense){if(!p["!data"][y])p["!data"][y]=[];p["!data"][y][A]=g}else p[Pa(A)+Ia(y)]=g}if(g.HRef){g.l={Target:nt(g.HRef)};if(g.HRefScreenTip)g.l.Tooltip=g.HRefScreenTip;delete g.HRef;delete g.HRefScreenTip}if(g.MergeAcross||g.MergeDown){H=A+(parseInt(g.MergeAcross,10)|0);V=y+(parseInt(g.MergeDown,10)|0);if(H>A||V>y)O.push({s:{c:A,r:y},e:{c:H,r:V}})}if(!t.sheetStubs){if(g.MergeAcross)A=H+1;else++A}else if(g.MergeAcross||g.MergeDown){for(var j=A;j<=H;++j){for(var K=y;K<=V;++K){if(j>A||K>y){if(t.dense){if(!p["!data"][K])p["!data"][K]=[];p["!data"][K][j]={t:"z"}}else p[Pa(j)+Ia(K)]={t:"z"}}}}A=H+1}else++A}else{g=pg(l[0]);if(g.Index)A=+g.Index-1;if(AE.e.c)E.e.c=A;if(l[0].slice(-2)==="/>")++A;D=[]}break;case"row":if(l[1]==="/"||l[0].slice(-2)==="/>"){if(yE.e.r)E.e.r=y;if(l[0].slice(-2)==="/>"){w=vg(l[0]);if(w.Index)y=+w.Index-1}A=0;++y}else{w=vg(l[0]);if(w.Index)y=+w.Index-1;z={};if(w.AutoFitHeight=="0"||w.Height){z.hpx=parseInt(w.Height,10);z.hpt=ic(z.hpx);W[y]=z}if(w.Hidden=="1"){z.hidden=true;W[y]=z}}break;case"worksheet":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"));d.push(m);if(E.s.r<=E.e.r&&E.s.c<=E.e.c){p["!ref"]=Ha(E);if(t.sheetRows&&t.sheetRows<=E.e.r){p["!fullref"]=p["!ref"];E.e.r=t.sheetRows-1;p["!ref"]=Ha(E)}}if(O.length)p["!merges"]=O;if(L.length>0)p["!cols"]=L;if(W.length>0)p["!rows"]=W;u[m]=p}else{E={s:{r:2e6,c:2e6},e:{r:0,c:0}};y=A=0;o.push([l[3],false]);h=vg(l[0]);m=nt(h.Name);p={};if(t.dense)p["!data"]=[];O=[];B=[];W=[];G={name:m,Hidden:0};X.Sheets.push(G)}break;case"table":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].slice(-2)=="/>")break;else{o.push([l[3],false]);L=[];U=false}break;case"style":if(l[1]==="/")kg(C,_,t);else _=vg(l[0]);break;case"numberformat":_.nf=nt(vg(l[0]).Format||"General");if(mg[_.nf])_.nf=mg[_.nf];for(var Y=0;Y!=392;++Y)if(q[Y]==_.nf)break;if(Y==392)for(Y=57;Y!=392;++Y)if(q[Y]==null){Ze(_.nf,Y);break}break;case"column":if(o[o.length-1][0]!=="table")break;if(l[1]==="/")break;M=vg(l[0]);if(M.Hidden){M.hidden=true;delete M.Hidden}if(M.Width)M.wpx=parseInt(M.Width,10);if(!U&&M.wpx>10){U=true;Zo=jo;for(var Z=0;Z0)ee.Sheet=X.Sheets.length-1;X.Names.push(ee);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(l[0].slice(-2)==="/>")break;else if(l[1]==="/")S+=n.slice(x,l.index);else x=l.index+l[0].length;break;case"interior":if(!t.cellStyles)break;_.Interior=vg(l[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(l[0].slice(-2)==="/>")break;else if(l[1]==="/")Pi(R,$,n.slice(N,l.index));else N=l.index+l[0].length;break;case"paragraphs":break;case"styles":;case"workbook":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else o.push([l[3],false]);break;case"comment":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"));yg(P);D.push(P)}else{o.push([l[3],false]);h=vg(l[0]);if(!vt(h["ShowAlways"]||"0"))D.hidden=true;P={a:h.Author}}break;case"autofilter":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/"){var re=vg(l[0]);p["!autofilter"]={ref:Qh(re.Range).replace(/\$/g,"")};o.push([l[3],true])}break;case"name":break;case"datavalidation":if(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else{if(l[0].charAt(l[0].length-2)!=="/")o.push([l[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(l[1]==="/"){if((h=o.pop())[0]!==l[3])throw new Error("Bad state: "+h.join("|"))}else if(l[0].charAt(l[0].length-2)!=="/")o.push([l[3],true]);break;case"null":break;default:if(o.length==0&&l[3]=="document")return Mb(n,t);if(o.length==0&&l[3]=="uof")return Mb(n,t);var te=true;switch(o[o.length-1][0]){case"officedocumentsettings":switch(l[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:te=false;}break;case"componentoptions":switch(l[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:te=false;}break;case"excelworkbook":switch(l[3]){case"date1904":X.WBProps.date1904=true;break;case"hidehorizontalscrollbar":break;case"hideverticalscrollbar":break;case"hideworkbooktabs":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:te=false;}break;case"workbookoptions":switch(l[3]){case"owcversion":break;case"height":break;case"width":break;default:te=false;}break;case"worksheetoptions":switch(l[3]){case"visible":if(l[0].slice(-2)==="/>"){}else if(l[1]==="/")switch(n.slice(N,l.index)){case"SheetHidden":G.Hidden=1;break;case"SheetVeryHidden":G.Hidden=2;break;}else N=l.index+l[0].length;break;case"header":if(!p["!margins"])bv(p["!margins"]={},"xlml");if(!isNaN(+et(l[0]).Margin))p["!margins"].header=+et(l[0]).Margin;break;case"footer":if(!p["!margins"])bv(p["!margins"]={},"xlml");if(!isNaN(+et(l[0]).Margin))p["!margins"].footer=+et(l[0]).Margin;break;case"pagemargins":var ae=et(l[0]);if(!p["!margins"])bv(p["!margins"]={},"xlml");if(!isNaN(+ae.Top))p["!margins"].top=+ae.Top;if(!isNaN(+ae.Left))p["!margins"].left=+ae.Left;if(!isNaN(+ae.Right))p["!margins"].right=+ae.Right;if(!isNaN(+ae.Bottom))p["!margins"].bottom=+ae.Bottom;break;case"displayrighttoleft":if(!X.Views)X.Views=[];if(!X.Views[0])X.Views[0]={};X.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:te=false;}break;case"pivottable":;case"pivotcache":switch(l[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:te=false;}break;case"pagebreaks":switch(l[3]){case"colbreaks":break;case"colbreak":break;case"rowbreaks":break;case"rowbreak":break;case"colstart":break;case"colend":break;case"rowend":break;default:te=false;}break;case"autofilter":switch(l[3]){case"autofiltercolumn":break;case"autofiltercondition":break;case"autofilterand":break;case"autofilteror":break;default:te=false;}break;case"querytable":switch(l[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:te=false;}break;case"datavalidation":switch(l[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:te=false;}break;case"sorting":;case"conditionalformatting":switch(l[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:te=false;}break;case"mapinfo":;case"schema":;case"data":switch(l[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:te=false;}break;case"smarttags":break;default:te=false;break;}if(te)break;if(l[3].match(/!\[CDATA/))break;if(!o[o.length-1][1])throw"Unrecognized tag: "+l[3]+"|"+o.join("|");if(o[o.length-1][0]==="customdocumentproperties"){if(l[0].slice(-2)==="/>")break;else if(l[1]==="/")bg(I,$,F,n.slice(N,l.index));else{F=l;N=l.index+l[0].length}break}if(t.WTF)throw"Unrecognized tag: "+l[3]+"|"+o.join("|");}var ne={};if(!t.bookSheets&&!t.bookProps)ne.Sheets=u;ne.SheetNames=d;ne.Workbook=X;ne.SSF=kr(q);ne.Props=R;ne.Custprops=I;ne.bookType="xlml";return ne}function Cg(e,r){Jw(r=r||{});switch(r.type||"base64"){case"base64":return Eg(E(e),r);case"binary":;case"buffer":;case"file":return Eg(e,r);case"array":return Eg(N(e),r);}}function _g(e,r){var t=[];if(e.Props)t.push(Li(e.Props,r));if(e.Custprops)t.push(Mi(e.Props,e.Custprops,r));return t.join("")}function Sg(e){if((((e||{}).Workbook||{}).WBProps||{}).date1904)return'';return""}function xg(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(Rt("NumberFormat",null,{"ss:Format":ft(q[e.numFmtId])}));var n={"ss:ID":"s"+(21+r)};t.push(Rt("Style",a.join(""),n))});return Rt("Styles",t.join(""))}function Og(e){return Rt("NamedRange",null,{"ss:Name":e.Name.slice(0,6)=="_xlnm."?e.Name.slice(6):e.Name,"ss:RefersTo":"="+ru(e.Ref,{r:0,c:0})})}function Rg(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(Rt("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(Rt("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(Rt("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(Rt("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(xt("ProtectContents","True"));if(e["!protect"].objects)n.push(xt("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(xt("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(xt("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(xt("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 Rt("WorksheetOptions",n.join(""),{xmlns:Mt.x})}function Fg(e){return e.map(function(r){var t=dt(r.t||"");var a=Rt("ss:Data",t,{xmlns:"http://www.w3.org/TR/REC-html40"});var n={};if(r.a)n["ss:Author"]=r.a;if(!e.hidden)n["ss:ShowAlways"]="1";return Rt("Comment",a,n)}).join("")}function Dg(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var f={};if(e.f)f["ss:Formula"]="="+ft(ru(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var l=Ba(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"]=ft(e.l.Target);if(e.l.Tooltip)f["x:HRefScreenTip"]=ft(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 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=ei[e.v];break;case"d":h="DateTime";u=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||q[14];break;case"s":h="String";u=ht(e.v||"");break;}var d=wv(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+=Fg(e.c);return Rt("Cell",p,f)}function Pg(e,r){var t='"}function Lg(e,r,t,a){if(!e["!ref"])return"";var n=Ga(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=gv(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Jo(a.width);if(e.hidden)n["ss:Hidden"]="1";f.push(Rt("Column",null,n))});var l=e["!data"]!=null;for(var o=n.s.r;o<=n.e.r;++o){var c=[Pg(o,(e["!rows"]||[])[o])];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>o)continue;if(i[s].e.c");if(c.length>2)f.push(c.join(""))}return f.join("")}function Mg(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?Ig(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?Lg(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Ng(i,r,e,t));if(i["!autofilter"])a.push('');return a.join("")}function Ug(e,r){if(!r)r={};if(!e.SSF)e.SSF=kr(q);if(e.SSF){Ve();He(e.SSF);r.revssf=fr(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];wv(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(_g(e,r));t.push(Sg(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=Fn(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}var Wg=[60,1084,2066,2165,2175];function zg(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 l=oa(t,t.l),o=Jg[l];var c=0;while(o!=null&&Wg.indexOf(l)>-1){i=oa(t,t.l+2);c=t.l+4;if(l==2066)c+=4;else if(l==2165||l==2175){c+=12}f=t.slice(c,t.l+4+i);s.push(f);t.l+=4+i;o=Jg[l=oa(t,t.l)]}var h=P(s);ka(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)O(e,r,t);delete r.ixfe;delete r.XF;u=e;d=Wa(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(Y.r==12){e.l+=10;K-=10}}var J={};if(j===10)J=Y.f(e,K,I);else J=zg(j,Y,e,K,I);if(W==0&&[9,521,1033,2057].indexOf(B)===-1)continue;switch(j){case 34:t.opts.Date1904=C.WBProps.date1904=J;break;case 134:t.opts.WriteProtect=true;break;case 47:if(!I.enc)e.l=0;I.enc=J;if(!r.password)throw new Error("File is password-protected");if(J.valid==null)throw new Error("Encryption scheme unsupported");if(!J.valid)throw new Error("Password is incorrect");break;case 92:I.lastuser=J;break;case 66:var Q=Number(J);switch(Q){case 21010:Q=1200;break;case 32768:Q=1e4;break;case 32769:Q=1252;break;}l(I.codepage=Q);G=true;break;case 317:I.rrtabid=J;break;case 25:I.winlocked=J;break;case 439:t.opts["RefreshAll"]=J;break;case 12:t.opts["CalcCount"]=J;break;case 16:t.opts["CalcDelta"]=J;break;case 17:t.opts["CalcIter"]=J;break;case 13:t.opts["CalcMode"]=J;break;case 14:t.opts["CalcPrecision"]=J;break;case 95:t.opts["CalcSaveRecalc"]=J;break;case 15:I.CalcRefMode=J;break;case 2211:t.opts.FullCalc=J;break;case 129:if(J.fDialog)n["!type"]="dialog";if(!J.fBelow)(n["!outline"]||(n["!outline"]={})).above=true;if(!J.fRight)(n["!outline"]||(n["!outline"]={})).left=true;break;case 67:;case 579:;case 1091:;case 224:y.push(J);break;case 430:U.push([J]);U[U.length-1].XTI=[];break;case 35:;case 547:U[U.length-1].push(J);break;case 24:;case 536:X={Name:J.Name,Ref:Dd(J.rgce,s,null,U,I)};if(J.itab>0)X.Sheet=J.itab-1;U.names.push(X);if(!U[0]){U[0]=[];U[0].XTI=[]}U[U.length-1].push(J);if(J.Name=="_xlnm._FilterDatabase"&&J.itab>0)if(J.rgce&&J.rgce[0]&&J.rgce[0][0]&&J.rgce[0][0][0]=="PtgArea3d")V[J.itab-1]={ref:Ha(J.rgce[0][0][1][2])};break;case 22:I.ExternCount=J;break;case 23:if(U.length==0){U[0]=[];U[0].XTI=[]}U[U.length-1].XTI=U[U.length-1].XTI.concat(J);U.XTI=U.XTI.concat(J);break;case 2196:if(I.biff<8)break;if(X!=null)X.Comment=J[1];break;case 18:n["!protect"]=J;break;case 19:if(J!==0&&I.WTF)console.error("Password verifier: "+J);break;case 133:{i[I.biff==4?I.snames.length:J.pos]=J;I.snames.push(J.name)}break;case 10:{if(--W?!S:S)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=Ha(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"]=Ha(s);s.e.r=ee}s.e.r++;s.e.c++}if(F.length>0)n["!merges"]=F;if(D.length>0)n["!objects"]=D;if(P.length>0)n["!cols"]=P;if(L.length>0)n["!rows"]=L;C.Sheets.push(_)}if(c==="")h=n;else a[c]=n;n={};if(r.dense)n["!data"]=[]}break;case 9:;case 521:;case 1033:;case 2057:{if(I.biff===8)I.biff={9:2,521:3,1033:4}[j]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[J.BIFFVer]||8;I.biffguess=J.BIFFVer==0;if(J.BIFFVer==0&&J.dt==4096){I.biff=5;G=true;l(I.codepage=28591)}if(I.biff==4&&J.dt&256)S=true;if(I.biff==8&&J.BIFFVer==0&&J.dt==16)I.biff=2;if(W++&&!S)break;n={};if(r.dense)n["!data"]=[];if(I.biff<8&&!G){G=true;l(I.codepage=r.codepage||1252)}if(I.biff==4&&S){c=(i[I.snames.indexOf(c)+1]||{name:""}).name}else if(I.biff<5||J.BIFFVer==0&&J.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;I.snames.push(c)}else c=(i[$]||{name:""}).name;if(J.dt==32)n["!type"]="chart";if(J.dt==64)n["!type"]="macro";F=[];D=[];I.arrayf=k=[];P=[];L=[];M=false;_={Hidden:(i[$]||{hs:0}).hs,name:c}}break;case 515:;case 3:;case 2:{if(n["!type"]=="chart")if(r.dense?(n["!data"][J.r]||[])[J.c]:n[Pa(J.c)+Ia(J.r)])++J.c;T={ixfe:J.ixfe,XF:y[J.ixfe]||{},v:J.val,t:"n"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:J.c,r:J.r},T,r)}break;case 5:;case 517:{T={ixfe:J.ixfe,XF:y[J.ixfe],v:J.val,t:J.t};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:J.c,r:J.r},T,r)}break;case 638:{T={ixfe:J.ixfe,XF:y[J.ixfe],v:J.rknum,t:"n"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:J.c,r:J.r},T,r)}break;case 189:{for(var te=J.c;te<=J.C;++te){var ae=J.rkrec[te-J.c][0];T={ixfe:ae,XF:y[ae],v:J.rkrec[te-J.c][1],t:"n"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:te,r:J.r},T,r)}}break;case 6:;case 518:;case 1030:{if(J.val=="String"){f=J;break}T=Vg(J.val,J.cell.ixfe,J.tt);T.XF=y[T.ixfe];if(r.cellFormula){var ne=J.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=Wa({r:ie,c:se});if(w[fe])T.f=""+Dd(J.formula,s,J.cell,U,I);else T.F=((r.dense?(n["!data"][ie]||[])[se]:n[fe])||{}).F}else T.f=""+Dd(J.formula,s,J.cell,U,I)}if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R(J.cell,T,r);f=J}break;case 7:;case 519:{if(f){f.val=J;T=Vg(J,f.cell.ixfe,"s");T.XF=y[T.ixfe];if(r.cellFormula){T.f=""+Dd(f.formula,s,f.cell,U,I)}if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(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(J);var le=Wa(J[0].s);v=r.dense?(n["!data"][J[0].s.r]||[])[J[0].s.c]:n[le];if(r.cellFormula&&v){if(!f)break;if(!le||!v)break;v.f=""+Dd(J[1],s,J[0],U,I);v.F=Ha(J[0])}}break;case 1212:{if(!r.cellFormula)break;if(d){if(!f)break;w[Wa(f.cell)]=J[0];v=r.dense?(n["!data"][f.cell.r]||[])[f.cell.c]:n[Wa(f.cell)];(v||{}).f=""+Dd(J[0],s,u,U,I)}}break;case 253:T=Vg(o[J.isst].t,J.ixfe,"s");if(o[J.isst].h)T.h=o[J.isst].h;T.XF=y[T.ixfe];if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:J.c,r:J.r},T,r);break;case 513:if(r.sheetStubs){T={ixfe:J.ixfe,XF:y[J.ixfe],t:"z"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:J.c,r:J.r},T,r)}break;case 190:if(r.sheetStubs){for(var oe=J.c;oe<=J.C;++oe){var ce=J.ixfe[oe-J.c];T={ixfe:ce,XF:y[ce],t:"z"};if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:oe,r:J.r},T,r)}}break;case 214:;case 516:;case 4:T=Vg(J.val,J.ixfe,"s");T.XF=y[T.ixfe];if(z>0)T.z=T.XF&&T.XF.numFmtId&&H[T.XF.numFmtId]||H[T.ixfe>>8&63];Hg(T,r,t.opts.Date1904);R({c:J.c,r:J.r},T,r);break;case 0:;case 512:{if(W===1)s=J}break;case 252:{o=J}break;case 1054:{if(I.biff>=3&&I.biff<=4){H[z++]=J[1];for(var he=0;he=163)Ze(J[1],z+163)}else Ze(J[1],J[0])}break;case 30:{H[z++]=J;for(var ue=0;ue=163)Ze(J,z+163)}break;case 229:F=F.concat(J);break;case 93:D[J.cmo[0]]=I.lastobj=J;break;case 438:I.lastobj.TxO=J;break;case 127:I.lastobj.ImData=J;break;case 440:{for(g=J[0].s.r;g<=J[0].e.r;++g)for(m=J[0].s.c;m<=J[0].e.c;++m){v=r.dense?(n["!data"][g]||[])[m]:n[Wa({c:m,r:g})];if(v)v.l=J[1]}}break;case 2048:{for(g=J[0].s.r;g<=J[0].e.r;++g)for(m=J[0].s.c;m<=J[0].e.c;++m){v=r.dense?(n["!data"][g]||[])[m]:n[Wa({c:m,r:g})];if(v&&v.l)v.l.Tooltip=J[1]}}break;case 28:{v=r.dense?(n["!data"][J[0].r]||[])[J[0].c]:n[Wa(J[0])];if(!v){if(r.dense){if(!n["!data"][J[0].r])n["!data"][J[0].r]=[];v=n["!data"][J[0].r][J[0].c]={t:"z"}}else{v=n[Wa(J[0])]={t:"z"}}s.e.r=Math.max(s.e.r,J[0].r);s.s.r=Math.min(s.s.r,J[0].r);s.e.c=Math.max(s.e.c,J[0].c);s.s.c=Math.min(s.s.c,J[0].c)}if(!v.c)v.c=[];if(I.biff<=5&&I.biff>=2)p={a:"SheetJ5",t:J[1]};else{var de=D[J[2]];p={a:J[1],t:de.TxO.t};if(J[3]!=null&&!(J[3]&2))v.c.hidden=true}v.c.push(p)}break;case 2173:ch(y[J.ixfe],J.ext);break;case 125:{if(!I.cellStyles)break;while(J.e>=J.s){P[J.e--]={width:J.w/256,level:J.level||0,hidden:!!(J.flags&1)};if(!M){M=true;rc(J.w/256)}tc(P[J.e+1])}}break;case 520:{var ve={};if(J.level!=null){L[J.r]=ve;ve.level=J.level}if(J.hidden){L[J.r]=ve;ve.hidden=true}if(J.hpt){L[J.r]=ve;ve.hpt=J.hpt;ve.hpx=sc(J.hpt)}}break;case 38:;case 39:;case 40:;case 41:if(!n["!margins"])bv(n["!margins"]={});n["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=J;break;case 161:if(!n["!margins"])bv(n["!margins"]={});n["!margins"].header=J.header;n["!margins"].footer=J.footer;break;case 574:if(J.RTL)C.Views[0].RTL=true;break;case 146:E=J;break;case 2198:N=J;break;case 140:A=J;break;case 442:{if(!c)C.WBProps.CodeName=J||"ThisWorkbook";else _.CodeName=J||_.name}break;}}else{if(!Y)console.error("Missing Info for XLS Record 0x"+j.toString(16));e.l+=K}}t.SheetNames=nr(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=o;t.SSF=kr(q);if(I.enc)t.Encryption=I.enc;if(N)t.Themes=N;t.Metadata={};if(A!==undefined)t.Metadata.Country=A;if(U.names.length>0)C.Names=U.names;t.Workbook=C;return t}var Gg={SI:"e0859ff2f94f6810ab9108002b27b3d9", +DSI:"02d5cdd59c2e1b10939708002b2cf9ae",UDI:"05d5cdd59c2e1b10939708002b2cf9ae"};function $g(e,r,t){var a=qe.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=ns(a,jn,Gg.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=qe.find(e,"/!SummaryInformation");if(f&&f.size>0)try{var l=ns(f,Kn,Gg.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){Si(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function jg(e,r){var t=[],a=[],n=[];var i=0,s;var f=ir(jn,"n");var l=ir(Kn,"n");if(e.Props){s=nr(e.Props);for(i=0;i-1||_i.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;o.push(n[i])}if(a.length)qe.utils.cfb_add(r,"/SummaryInformation",is(a,Gg.SI,l,Kn));if(t.length||o.length)qe.utils.cfb_add(r,"/DocumentSummaryInformation",is(t,Gg.DSI,f,jn,o.length?o:null,Gg.UDI))}function Kg(e,r){if(!r)r={};Jw(r);o();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(qe.find(e,"/encryption"))throw new Error("File is password-protected");t=qe.find(e,"!CompObj");a=qe.find(e,"/Workbook")||qe.find(e,"/Book")}else{switch(r.type){case"base64":e=R(E(e));break;case"binary":e=R(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}ka(e,0);a={content:e}}var n;var i;if(t)Bg(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=C?"buffer":"array";if(a&&a.content)n=Xg(a.content,r);else if((i=qe.find(e,"PerfectOffice_MAIN"))&&i.content)n=Yl.to_workbook(i.content,(r.type=f,r));else if((i=qe.find(e,"NativeContent_MAIN"))&&i.content)n=Yl.to_workbook(i.content,(r.type=f,r));else if((i=qe.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&&qe.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=$h(e)}var l={};if(e.FullPaths)$g(e,l,r);n.Props=n.Custprops=l;if(r.bookFiles)n.cfb=e;return n}function Yg(e,r){var t=r||{};var a=qe.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");}qe.utils.cfb_add(a,n,kb(e,t));if(t.biff==8&&(e.Props||e.Custprops))jg(e,a);if(t.biff==8&&e.vbaraw)jh(a,qe.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Zg={0:{f:rp},1:{f:op},2:{f:Op},3:{f:gp},4:{f:dp},5:{f:Cp},6:{f:Dp},7:{f:Tp},8:{f:zp},9:{f:Wp},10:{f:Up},11:{f:Bp},12:{f:hp},13:{f:Ip},14:{f:wp},15:{f:pp},16:{f:Sp},17:{f:Lp},18:{f:yp},19:{f:an},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:Xm},40:{},42:{},43:{f:Tc},44:{f:wc},45:{f:Cc},46:{f:Rc},47:{f:Sc},48:{},49:{f:Ja},50:{},51:{f:dh},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:Al},62:{f:Fp},63:{f:yh},64:{f:nm},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Ta,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:em},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:fp},148:{f:np,p:16},151:{f:jp},152:{},153:{f:zm},154:{},155:{},156:{f:Bm},157:{},158:{},159:{T:1,f:oo},160:{T:-1},161:{T:1,f:yn},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:Hp},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:hh},336:{T:-1},337:{f:mh,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:gn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:qf},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:Kp},427:{f:Yp},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:qp},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:sp},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:Gp},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:gn},551:{f:vn},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:zh},633:{T:1},634:{T:-1},635:{T:1,f:Bh},636:{T:-1},637:{f:sn},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:Am},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:im},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 Jg={6:{f:zd},10:{f:ss},12:{f:hs},13:{f:hs},14:{f:os},15:{f:os},16:{f:Cn},17:{f:os},18:{f:os},19:{f:hs},20:{f:Kf},21:{f:Kf},23:{f:qf},24:{f:Jf},25:{f:os},26:{},27:{},28:{f:il},29:{},34:{f:os},35:{f:Zf},38:{f:Cn},39:{f:Cn},40:{f:Cn},41:{f:Cn},42:{f:os},43:{f:os},47:{f:Mo},49:{f:gf},51:{f:hs},60:{},61:{f:uf},64:{f:os},65:{f:mf},66:{f:hs},77:{},80:{},81:{},82:{},85:{f:hs},89:{},90:{},91:{},92:{f:Qs},93:{f:ol},94:{},95:{f:os},96:{},97:{},99:{f:os},125:{f:Al},128:{f:Hf},129:{f:rf},130:{f:hs},131:{f:os},132:{f:os},133:{f:tf},134:{},140:{f:gl},141:{f:hs},144:{},146:{f:kl},151:{},152:{},153:{},154:{},155:{},156:{f:hs},157:{},158:{},160:{f:xl},161:{f:El},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:If},190:{f:Nf},193:{f:ss},197:{},198:{},199:{},200:{},201:{},202:{f:os},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:hs},220:{},221:{f:os},222:{},224:{f:Df},225:{f:qs},226:{f:ss},227:{},229:{f:fl},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:nf},253:{f:wf},255:{f:ff},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:ds},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:os},353:{f:ss},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Yf},431:{f:os},432:{},433:{},434:{},437:{},438:{f:ul},439:{f:os},440:{f:dl},441:{},442:{f:ks},443:{},444:{f:hs},445:{},446:{},448:{f:ss},449:{f:cf,r:2},450:{f:ss},512:{f:xf},513:{f:Sl},515:{f:$f},516:{f:Tf},517:{f:Xf},519:{f:Ol},520:{f:lf},523:{},545:{f:tl},549:{f:hf},566:{},574:{f:vf},638:{f:Rf},659:{},1048:{},1054:{f:yf},1084:{},1212:{f:rl},2048:{f:pl},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Zs},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:ss},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Tl,r:12},2173:{f:oh,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:os,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:el,r:12},2197:{},2198:{f:ah,r:12},2199:{},2200:{},2201:{},2202:{f:al,r:12},2203:{f:ss},2204:{},2205:{},2206:{},2207:{},2211:{f:of},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:hs},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:Cl},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:wl},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:xf},1:{},2:{f:Pl},3:{f:Fl},4:{f:Nl},5:{f:Ul},7:{f:Ml},8:{},9:{f:Zs},11:{},22:{f:hs},30:{f:Cf},31:{},32:{},33:{f:tl},36:{},37:{f:hf},50:{f:Bl},62:{},52:{},67:{f:Lf},68:{f:hs},69:{},86:{},126:{},127:{f:Rl},135:{},136:{},137:{},143:{f:zl},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:Wl},223:{},234:{},354:{},421:{},518:{f:zd},521:{f:Zs},536:{f:Jf},547:{f:Zf},561:{},579:{f:Wf},1030:{f:zd},1033:{f:Zs},1091:{f:zf},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},101:{},102:{},105:{},106:{},107:{},109:{},112:{},114:{},29282:{}};function qg(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&&sa(t))e.push(t)}function Qg(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return qg(e,r,t,n);var i=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&&l<65536)qg(e,2,Ll(t,a,l,f,s));else if(isNaN(l))qg(e,5,eb(t,a,36,"e"));else if(!isFinite(l))qg(e,5,eb(t,a,7,"e"));else qg(e,3,Dl(t,a,l,f,s));return;case"b":;case"e":qg(e,5,eb(t,a,r.v,r.t));return;case"s":;case"str":qg(e,4,rb(t,a,r.v==null?"":String(r.v).slice(0,255)));return;}qg(e,1,Il(null,t,a))}function nb(e,r,t,a,n){var i=r["!data"]!=null;var s=Ga(r["!ref"]||"A1"),f,l="",o=[];if(s.e.c>255||s.e.r>16383){if(a.WTF)throw new Error("Range "+(r["!ref"]||"A1")+" exceeds format limit A1:IV16384");s.e.c=Math.min(s.e.c,255);s.e.r=Math.min(s.e.c,16383)}var c=(((n||{}).Workbook||{}).WBProps||{}).date1904;var h=[],u=[];for(var d=s.s.c;d<=s.e.c;++d)o[d]=Pa(d);for(var v=s.s.r;v<=s.e.r;++v){if(i)h=r["!data"][v]||[];l=Ia(v);for(d=s.s.c;d<=s.e.c;++d){var p=i?h[d]:r[o[d]+l];if(!p)continue;ab(e,p,v,d,a,c);if(p.c)u.push([p.c,v,d])}}tb(e,u)}function ib(e,r){var t=r||{};var a=Ea();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)}qg(a,2057,Js(t,16,r));qg(a,13,us(1));qg(a,12,us(100));qg(a,15,cs(true));qg(a,17,cs(false));qg(a,16,_n(.001));qg(a,95,cs(true));qg(a,42,cs(false));qg(a,43,cs(false));qg(a,130,us(1));qg(a,128,Vf([0,0]));qg(a,131,cs(false));qg(a,132,cs(false));if(o)pb(a,i["!cols"]);qg(a,512,Of(d,r));var p=(((t||{}).Workbook||{}).WBProps||{}).date1904;if(o)i["!links"]=[];var m=[];var g=[];for(var b=d.s.c;b<=d.e.c;++b)u[b]=Pa(b);for(var w=d.s.r;w<=d.e.r;++w){if(l)g=i["!data"][w]||[];h=Ia(w);for(b=d.s.c;b<=d.e.c;++b){c=u[b]+h;var k=l?g[b]:i[c];if(!k)continue;mb(a,k,w,b,r,p);if(o&&k.l)i["!links"].push([c,k.l]);if(k.c)m.push([k.c,w,b])}}var T=f.CodeName||f.name||n;if(o)ob(a,m);else tb(a,m);if(o)qg(a,574,pf((s.Views||[])[0]));if(o&&(i["!merges"]||[]).length)qg(a,229,ll(i["!merges"]));if(o)vb(a,i);qg(a,442,As(T,r));if(o)ub(a,i);qg(a,10);return a.end()}function bb(e,r,t){var a=Ea();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,l=t.biff==5;qg(a,2057,Js(e,5,t));if(t.bookType=="xla")qg(a,135);qg(a,225,f?us(1200):null);qg(a,193,fs(2));if(l)qg(a,191);if(l)qg(a,192);qg(a,226);qg(a,92,ef("SheetJS",t));qg(a,66,us(f?1200:1252));if(f)qg(a,353,us(0));if(f)qg(a,448);qg(a,317,_l(e.SheetNames.length));if(f&&e.vbaraw)qg(a,211);if(f&&e.vbaraw){var o=s.CodeName||"ThisWorkbook";qg(a,442,As(o,t))}qg(a,156,us(17));qg(a,25,cs(false));qg(a,18,cs(false));qg(a,19,us(0));if(f)qg(a,431,cs(false));if(f)qg(a,444,us(0));qg(a,61,df(t));qg(a,64,cs(false));qg(a,141,us(0));qg(a,34,cs(Im(e)=="true"));qg(a,14,cs(true));if(f)qg(a,439,cs(false));qg(a,218,us(0));cb(a,e,t);hb(a,e.SSF,t);db(a,t);if(f)qg(a,352,cs(false));var c=a.end();var h=Ea();if(f)qg(h,140,bl());if(f&&fb.length)qg(h,235,lb());if(f&&t.Strings)Qg(h,252,sf(t.Strings,t));qg(h,10);var u=h.end();var d=Ea();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 wb(e,r);case 4:;case 3:;case 2:return ib(e,r);}throw new Error("invalid type "+i.bookType+" for BIFF")}function Tb(e,r){var t=r||{};var a=t.dense!=null?t.dense:b;var n={};if(a)n["!data"]=[];e=e.replace(//g,"");var i=e.match(/");var s=e.match(/<\/table/i);var f=i.index,l=s&&s.index||e.length;var o=Ir(e.slice(f,l),/(:?]*>)/i,"");var c=-1,h=0,u=0,d=0;var v={s:{r:1e7,c:1e7},e:{r:0,c:0}};var p=[];for(f=0;f/i);for(l=0;l"))>-1)T=T.slice(A+1);for(var y=0;y")));d=C.colspan?+C.colspan:1;if((u=+C.rowspan)>1||d>1)p.push({s:{r:c,c:h},e:{r:c+(u||1)-1,c:h+d-1}});var _=C.t||C["data-t"]||"";if(!T.length){h+=d;continue}T=At(T);if(v.s.r>c)v.s.r=c;if(v.e.rh)v.s.c=h;if(v.e.ct||n[h].s.c>l)continue;if(n[h].e.r1)s.rowspan=o;if(c>1)s.colspan=c;if(a.editable)v=''+v+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=d.v instanceof Date?d.v.toISOString():d.v;if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")v=''+v+""}s.id=(a.id||"sjs")+"-"+u;i.push(Rt("td",v,s))}var p="";return p+i.join("")+""}var yb='SheetJS Table Export';var Eb="";function Cb(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1){var a=Ka(Tb(t[0],r),r);a.bookType="html";return a}var n=Xk();t.forEach(function(e,t){Gk(n,Tb(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function _b(e,r,t){var a=[];return a.join("")+""}function Sb(e,r){var t=r||{};var a=t.header!=null?t.header:yb;var n=t.footer!=null?t.footer:Eb;var i=[a];var s=za(e["!ref"]);i.push(_b(e,s,t));for(var f=s.s.r;f<=s.e.r;++f)i.push(Ab(e,s,f,t));i.push("
"+n);return i.join("")}function xb(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,f=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var l=typeof n.origin=="string"?Ba(n.origin):n.origin;s=l.r;f=l.c}}var o=Math.min(n.sheetRows||1e7,a.length);var c={s:{r:0,c:0},e:{r:s,c:f}};if(e["!ref"]){var h=za(e["!ref"]);c.s.r=Math.min(c.s.r,h.s.r);c.s.c=Math.min(c.s.c,h.s.c);c.e.r=Math.max(c.e.r,h.e.r);c.e.c=Math.max(c.e.c,h.e.c);if(s==-1)c.e.r=s=h.e.r+1}var u=[],d=0;var v=e["!rows"]||(e["!rows"]=[]);var p=0,m=0,g=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;p1||k>1)u.push({s:{r:m+s,c:b+f},e:{r:m+s+(w||1)-1,c:b+f+(k||1)-1}});var S={t:"s",v:E};var x=y.getAttribute("data-t")||y.getAttribute("t")||"";if(E!=null){if(E.length==0)S.t=x||"z";else if(n.raw||E.trim().length==0||x=="s"){}else if(E==="TRUE")S={t:"b",v:true};else if(E==="FALSE")S={t:"b",v:false};else if(!isNaN(Ar(E)))S={t:"n",v:Ar(E)};else if(!isNaN(Rr(E).getDate())){S={t:"d",v:br(E)};if(n.UTC)S.v=Fr(S.v);if(!n.cellDates)S={t:"n",v:ur(S.v)};S.z=n.dateNF||q[14]}}if(S.z===undefined&&C!=null)S.z=C;var O="",R=y.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=o)e["!fullref"]=Ha((c.e.r=a.length-p+m-1+s,c));return e}function Ob(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return xb(a,e,r)}function Rb(e,r){var t=Ka(Ob(e,r),r);return t}function Ib(e){var r="";var t=Nb(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function Nb(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 Fb(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=nt(r.replace(/<[^>]*>/g,""));return[t]}function Db(e,r,t){var a=t||{};var n=Ft(e);Dt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");var i,s,f="",l="",o,c=0,h=-1,u=false,d="";while(i=Dt.exec(n)){switch(i[3]=i[3].replace(/_.*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){u=false;if(s["truncate-on-overflow"]=="false"){if(f.match(/h/))f=f.replace(/h+/,"[$&]");else if(f.match(/m/))f=f.replace(/m+/,"[$&]");else if(f.match(/s/))f=f.replace(/s+/,"[$&]")}a[s.name]=f;f=""}else if(i[0].charAt(i[0].length-2)!=="/"){u=true;f="";s=et(i[0],false)}break;case"boolean-style":if(i[1]==="/"){u=false;a[s.name]="General";f=""}else if(i[0].charAt(i[0].length-2)!=="/"){u=true;f="";s=et(i[0],false)}break;case"boolean":f+="General";break;case"text":if(i[1]==="/"){d=n.slice(h,Dt.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")f=a[o["apply-style-name"]]+";"+f;else console.error("ODS number format may be incorrect: "+o["condition"]);break;case"number":if(i[1]==="/")break;o=et(i[0],false);l="";l+=Tr("0",+o["min-integer-digits"]||1);if(vt(o["grouping"]))l=he(Tr("#",Math.max(0,4-l.length))+l);if(+o["min-decimal-places"]||+o["decimal-places"])l+=".";if(+o["min-decimal-places"])l+=Tr("0",+o["min-decimal-places"]||1);if(+o["decimal-places"]-(+o["min-decimal-places"]||0))l+=Tr("0",+o["decimal-places"]-(+o["min-decimal-places"]||0));f+=l;break;case"embedded-text":if(i[1]==="/"){if(c==0)f+='"'+n.slice(h,Dt.lastIndex-i[0].length).replace(/"/g,'""')+'"';else f=f.slice(0,c)+'"'+n.slice(h,Dt.lastIndex-i[0].length).replace(/"/g,'""')+'"'+f.slice(c)}else if(i[0].charAt(i[0].length-2)!=="/"){h=Dt.lastIndex;c=-+et(i[0],false)["position"]||0}break;}}return a}function Pb(e,r,t){var a=r||{};if(b!=null&&a.dense==null)a.dense=b;var n=Ft(e);var i=[],s;var f;var l,o="",c=0;var h;var u;var d={},v=[];var p={};if(a.dense)p["!data"]=[];var m,g;var w={value:""};var k="",T=0,A,y="",E=0;var C=[],_=[];var S=-1,x=-1,O={s:{r:1e6,c:1e7},e:{r:0,c:0}};var R=0;var I=t||{},N={};var F=[],D={},P=0,L=0;var M=[],U=1,B=1;var W=[];var z={Names:[],WBProps:{}};var H={};var V=["",""];var X=[],G={};var $="",j=0;var K=false,Y=false;var Z=0;Dt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");while(m=Dt.exec(n))switch(m[3]=m[3].replace(/_.*$/,"")){case"table":;case"工作表":if(m[1]==="/"){if(O.e.c>=O.s.c&&O.e.r>=O.s.r)p["!ref"]=Ha(O);else p["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=O.e.r){p["!fullref"]=p["!ref"];O.e.r=a.sheetRows-1;p["!ref"]=Ha(O)}if(F.length)p["!merges"]=F;if(M.length)p["!rows"]=M;h.name=h["名称"]||h.name;if(typeof JSON!=="undefined")JSON.stringify(h);v.push(h.name);d[h.name]=p;Y=false}else if(m[0].charAt(m[0].length-2)!=="/"){h=et(m[0],false);S=x=-1;O.s.r=O.s.c=1e7;O.e.r=O.e.c=0;p={};if(a.dense)p["!data"]=[];F=[];M=[];Y=true}break;case"table-row-group":if(m[1]==="/")--R;else++R;break;case"table-row":;case"行":if(m[1]==="/"){S+=U;U=1;break}u=et(m[0],false);if(u["行号"])S=u["行号"]-1;else if(S==-1)S=0;U=+u["number-rows-repeated"]||1;if(U<10)for(Z=0;Z0)M[S+Z]={level:R};x=-1;break;case"covered-table-cell":if(m[1]!=="/")++x;if(a.sheetStubs){if(a.dense){if(!p["!data"][S])p["!data"][S]=[];p["!data"][S][x]={t:"z"}}else p[Wa({r:S,c:x})]={t:"z"}}k="";C=[];break;case"table-cell":;case"数据":if(m[0].charAt(m[0].length-2)==="/"){++x;w=et(m[0],false);B=parseInt(w["number-columns-repeated"]||"1",10);g={t:"z",v:null};if(w.formula&&a.cellFormula!=false)g.f=ov(nt(w.formula));if(w["style-name"]&&N[w["style-name"]])g.z=N[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){g.t="s";g.v=nt(w["string-value"]||"");if(a.dense){if(!p["!data"][S])p["!data"][S]=[];p["!data"][S][x]=g}else{p[Pa(x)+Ia(S)]=g}}x+=B-1}else if(m[1]!=="/"){++x;k=y="";T=E=0;C=[];_=[];B=1;var J=U?S+U-1:S;if(x>O.e.c)O.e.c=x;if(xO.e.r)O.e.r=J;w=et(m[0],false);X=[];G={};g={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&N[w["style-name"]])g.z=N[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=nt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){P=parseInt(w["number-matrix-rows-spanned"],10)||0;L=parseInt(w["number-matrix-columns-spanned"],10)||0;D={s:{r:S,c:x},e:{r:S+P-1,c:x+L-1}};g.F=Ha(D);W.push([D,g.F])}if(w.formula)g.f=ov(w.formula);else for(Z=0;Z=W[Z][0].s.r&&S<=W[Z][0].e.r)if(x>=W[Z][0].s.c&&x<=W[Z][0].e.c)g.F=W[Z][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){P=parseInt(w["number-rows-spanned"],10)||0;L=parseInt(w["number-columns-spanned"],10)||0;D={s:{r:S,c:x},e:{r:S+P-1,c:x+L-1}};F.push(D)}if(w["number-columns-repeated"])B=parseInt(w["number-columns-repeated"],10);switch(g.t){case"boolean":g.t="b";g.v=vt(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":g.t="n";g.v=parseFloat(w.value);if(a.cellDates&&g.z&&Pe(g.z)){g.v=dr(g.v+(z.WBProps.date1904?1462:0));g.t=typeof g.v=="number"?"n":"d"}break;case"percentage":g.t="n";g.v=parseFloat(w.value);break;case"currency":g.t="n";g.v=parseFloat(w.value);break;case"date":g.t="d";g.v=br(w["date-value"],z.WBProps.date1904);if(!a.cellDates){g.t="n";g.v=ur(g.v,z.WBProps.date1904)}if(!g.z)g.z="m/d/yy";break;case"time":g.t="n";g.v=vr(w["time-value"])/86400;if(a.cellDates){g.v=dr(g.v);g.t=typeof g.v=="number"?"n":"d"}if(!g.z)g.z="HH:MM:SS";break;case"number":g.t="n";g.v=parseFloat(w["数据数值"]);break;default:if(g.t==="string"||g.t==="text"||!g.t){g.t="s";if(w["string-value"]!=null){k=nt(w["string-value"]);C=[]}}else throw new Error("Unsupported value type "+g.t);}}else{K=false;if(g.t==="s"){g.v=k||"";if(C.length)g.R=C;K=T==0}if(H.Target)g.l=H;if(X.length>0){g.c=X;X=[]}if(k&&a.cellText!==false)g.w=k;if(K){g.t="z";delete g.v}if(!K||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=S)){for(var q=0;q0)p["!data"][S+q][x+B]=kr(g)}else{p[Wa({r:S+q,c:x})]=g;while(--B>0)p[Wa({r:S+q,c:x+B})]=kr(g)}if(O.e.c<=x)O.e.c=x}}}B=parseInt(w["number-columns-repeated"]||"1",10);x+=B-1;B=0;g={};k="";C=[]}H={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":;case"master-styles":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],true]);break;case"annotation":if(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s;G.t=k;if(C.length)G.R=C;G.a=$;X.push(G);k=y;T=E;C=_}else if(m[0].charAt(m[0].length-2)!=="/"){i.push([m[3],false]);var Q=et(m[0],true);if(!(Q["display"]&&vt(Q["display"])))X.hidden=true;y=k;E=T;_=C;k="";T=0;C=[]}$="";j=0;break;case"creator":if(m[1]==="/"){$=n.slice(j,m.index)}else j=m.index+m[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(m[1]==="/"){if((s=i.pop())[0]!==m[3])throw"Bad state: "+s}else if(m[0].charAt(m[0].length-2)!=="/")i.push([m[3],false]);k="";T=0;C=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(m[1]==="/"){var ee=Dt.lastIndex;Db(n.slice(l,Dt.lastIndex),r,I);Dt.lastIndex=ee}else if(m[0].charAt(m[0].length-2)!=="/"){l=Dt.lastIndex-m[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var re=et(m[0],false);if(re["family"]=="table-cell"&&I[re["data-style-name"]])N[re["name"]]=I[re["data-style-name"]]}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":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":break;case"boolean":break;case"text":if(m[0].slice(-2)==="/>")break;else if(m[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":o+=n.slice(c,m.index);break;}else c=m.index+m[0].length;break;case"named-range":f=et(m[0],false);V=hv(f["cell-range-address"]);var te={Name:f.name,Ref:V[0]+"!"+V[1]};if(Y)te.Sheet=v.length;z.Names.push(te);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":f=et(m[0],false);switch(f["date-value"]){case"1904-01-01":z.WBProps.date1904=true;break;}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(i[i.length-1][0])>-1)break;if(m[1]==="/"&&(!w||!w["string-value"])){var ae=Fb(n.slice(T,m.index),A);k=(k.length>0?k+"\n":"")+ae[0]}else if(m[0].slice(-2)=="/>"){k+="\n"}else{A=et(m[0],false);T=m.index+m[0].length}break;case"s":break;case"database-range":if(m[1]==="/")break;try{V=hv(et(m[0])["target-range-address"]);d[V[0]]["!autofilter"]={ref:V[1]}}catch(ne){}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(m[1]!=="/"){H=et(m[0],false);if(!H.href)break;H.Target=nt(H.href);delete H.href;if(H.Target.charAt(0)=="#"&&H.Target.indexOf(".")>-1){V=hv(H.Target.slice(1));H.Target="#"+V[0]+"!"+V[1]}else if(H.Target.match(/^\.\.[\\\/]/))H.Target=H.Target.slice(3)}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(m[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(a.WTF)throw new Error(m);};}var ie={Sheets:d,SheetNames:v,Workbook:z};if(a.bookSheets)delete ie.Sheets;return ie}function Lb(e,r){r=r||{};if(Mr(e,"META-INF/manifest.xml"))vi(Br(e,"META-INF/manifest.xml"),r);var t=Wr(e,"styles.xml");var a=t&&Db(wt(t),r);var n=Wr(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=Pb(wt(n),r,a);if(Mr(e,"meta.xml"))i.Props=Ai(Br(e,"meta.xml"));i.bookType="ods";return i}function Mb(e,r){var t=Pb(e,r);t.bookType="fods";return t}var Ub=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return jr+r}}();function Bb(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+ft(i.replace(/""/g,'"'))+""}else{a+=""+ft(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/# (\?+)\/(\?+)/);if(f){a+=Rt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:max-denominator-value":Math.max(+f[1].replace(/./g,"9"),+f[2].replace(/./g,"9"))});break e}if(f=e.match(/# (\?+)\/(\d+)/)){a+=Rt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":f[1].length,"number:denominator-value":+f[2]});break e}if(f=e.match(/(\d+)(|\.\d+)%/)){t="percentage";a+=Rt("number:number",null,{"number:decimal-places":f[2]&&f.length-1||0,"number:min-decimal-places":f[2]&&f.length-1||0,"number:min-integer-digits":f[1].length})+"%";break e}var l=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+ft(i.slice(1).replace(/""/g,'"'))+"";break;case"\\":i=e[++s];a+=""+ft(i)+"";break;case"/":;case":":a+=""+ft(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!l)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+ft(i.slice(1).replace(/""/g,'"'))+"";break;case"/":;case":":a+=""+ft(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+ft(i.replace(/""/g,'"'))+""}else{a+=""+ft(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var c=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!c||!c[0])console.error("Could not find numeric part of "+e);else{var h=c[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(c[2]&&' number:decimal-places="'+(c[2].length-1)+'"'||' number:decimal-places="0"')+(c[3]&&c[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(c[3]?' number:min-exponent-digits="'+c[3].match(/0+/)[0].length+'"':"")+">"+"";s=c.index+c[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+ft(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return Rt("number:"+t+"-style",a,n)}function Wb(e,r,t){var a=[];for(var n=0;n\n"+a.map(function(e){var r=(t==-1?"$":"")+uv(e.Ref);return" "+Rt("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.]?[^\.]*$/,".$A$1")})}).join("\n")+"\n \n"}var zb=function(){var e=function(e){return ft(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=function(t,a,n,i,s,f){var l=[];l.push(' \n');var o=0,c=0,h=za(t["!ref"]||"A1");var u=t["!merges"]||[],d=0;var v=t["!data"]!=null;if(t["!cols"]){for(c=0;c<=h.e.c;++c)l.push(" \n")}var p="",m=t["!rows"]||[];for(o=0;o\n")}for(;o<=h.e.r;++o){p=m[o]?' table:style-name="ro'+m[o].ods+'"':"";l.push(" \n");for(c=0;cc)continue;if(u[d].s.r>o)continue;if(u[d].e.c\n");continue}var k=Wa({r:o,c:c}),T=v?(t["!data"][o]||[])[c]:t[k];if(T&&T.f){b["table:formula"]=ft(cv(T.f));if(T.F){if(T.F.slice(0,k.length)==k){var A=za(T.F);b["table:number-matrix-columns-spanned"]=A.e.c-A.s.c+1;b["table:number-matrix-rows-spanned"]=A.e.r-A.s.r+1}}}if(!T){l.push(r);continue}switch(T.t){case"b":w=T.v?"TRUE":"FALSE";b["office:value-type"]="boolean";b["office:boolean-value"]=T.v?"true":"false";break;case"n":w=T.w||String(T.v||0);b["office:value-type"]="float";b["office:value"]=T.v||0;break;case"s":;case"str":w=T.v==null?"":T.v;b["office:value-type"]="string";break;case"d":w=T.w||br(T.v,f).toISOString();b["office:value-type"]="date";b["office:date-value"]=br(T.v,f).toISOString();b["table:style-name"]="ce1";break;default:l.push(r);continue;}var y=e(w);if(T.l&&T.l.Target){var E=T.l.Target;E=E.charAt(0)=="#"?"#"+uv(E.slice(1)):E;if(E.charAt(0)!="#"&&!E.match(/^\w+:/))E="../"+E;y=Rt("text:a",y,{"xlink:href":E.replace(/&/g,"&")})}if(s[T.z])b["table:style-name"]="ce"+s[T.z].slice(1);var C=Rt("text:p",y,{});if(T.c){var _="",S="",x={};for(var O=0;O"+e(T.c[O].t)+""}if(!T.c.hidden)x["office:display"]=true;C=Rt("office:annotation",S,x)+C}l.push(" "+Rt("table:table-cell",C,b)+"\n")}l.push(" \n")}if((a.Workbook||{}).Names)l.push(Wb(a.Workbook.Names,a.SheetNames,n));l.push(" \n");return l.join("")};var a=function(e,r){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');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;var a=za(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var f=0;f<=a.e.c;++f){var l=t?(r["!data"][s]||[])[f]:r[Wa({r:s,c:f})];if(!l||!l.z||l.z.toLowerCase()=="general")continue;if(!n[l.z]){var o=Bb(l.z,"N"+i);if(o){n[l.z]="N"+i;++i;e.push(o+"\n")}}}});e.push(' \n');nr(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function n(e,r){var n=[jr];var i=Ot({"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=Ot({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){n.push("\n");n.push(wi().replace(//,"").replace(/<\/office:document-meta>/,"")+"\n")}else n.push("\n");var f=a(n,e);n.push(" \n");n.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)n.push(' \n \n \n');for(var l=0;l!=e.SheetNames.length;++l)n.push(t(e.Sheets[e.SheetNames[l]],e,l,r,f,((e.Workbook||{}).WBProps||{}).date1904));if((e.Workbook||{}).Names)n.push(Wb(e.Workbook.Names,e.SheetNames,-1));n.push(" \n");n.push(" \n");if(r.bookType=="fods")n.push("");else n.push("");return n.join("")}}();function Hb(e,r){if(r.bookType=="fods")return zb(e,r);var t=Xr();var a="";var n=[];var i=[];a="mimetype";Vr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Vr(t,a,zb(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Vr(t,a,Ub(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Vr(t,a,jr+wi());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Vr(t,a,bi(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Vr(t,a,pi(n));return t}var Vb=function(){try{if(typeof Uint8Array=="undefined")return"slice";if(typeof Uint8Array.prototype.subarray=="undefined")return"slice";if(typeof Buffer!=="undefined"){if(typeof Buffer.prototype.subarray=="undefined")return"slice";if((typeof Buffer.from=="function"?Buffer.from([72,62]):new Buffer([72,62]))instanceof Uint8Array)return"subarray";return"slice"}return"subarray"}catch(e){return"slice"}}();function Xb(e){return new DataView(e.buffer,e.byteOffset,e.byteLength); +}function Gb(e){return typeof TextDecoder!="undefined"?(new TextDecoder).decode(e):wt(N(e))}function $b(e){return typeof TextEncoder!="undefined"?(new TextEncoder).encode(e):R(kt(e))}function jb(e){var r=0;for(var t=0;t>1&1431655765;e=(e&858993459)+(e>>2&858993459);return(e+(e>>4)&252645135)*16843009>>>24}function Yb(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 Zb(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-16;var n=t/Math.pow(10,a-6176);e[r+15]|=a>>7;e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function Jb(e,r){var t=r.l;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}r.l=t;return a}function qb(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){r[t-1]|=128;r[t]=e>>7&127;++t;if(e<=16383)break e;r[t-1]|=128;r[t]=e>>14&127;++t;if(e<=2097151)break e;r[t-1]|=128;r[t]=e>>21&127;++t;if(e<=268435455)break e;r[t-1]|=128;r[t]=e/256>>>21&127;++t;if(e<=34359738367)break e;r[t-1]|=128;r[t]=e/65536>>>21&127;++t;if(e<=4398046511103)break e;r[t-1]|=128;r[t]=e/16777216>>>21&127;++t}return r[Vb](0,t)}function Qb(e){var r={l:0};var t=[];while(r.l=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;a=e[r]>>4&7;if(e[r++]<128)break e;a|=(e[r]&127)<<3;if(e[r++]<128)break e;a|=(e[r]&127)<<10;if(e[r++]<128)break e;a|=(e[r]&127)<<17;if(e[r++]<128)break e;a|=(e[r]&127)<<24;if(e[r++]<128)break e;a|=(e[r]&127)<<31}return[t>>>0,a>>>0]}function aw(e){var r=[],t={l:0};while(t.l=128);s=e[Vb](t.l,f);t.l=f}break;case 1:{s=e[Vb](f,f+8);t.l=f+8}break;case 2:{var l=Jb(e,t);s=e[Vb](t.l,t.l+l);t.l+=l}break;case 5:{s=e[Vb](f,f+4);t.l=f+4}break;default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a));}var o={data:s,type:i};if(r[n]==null)r[n]=[];r[n].push(o)}return r}function nw(e){var r=[];e.forEach(function(e,t){if(t==0)return;e.forEach(function(e){if(!e.data)return;r.push(qb(t*8+e.type));if(e.type==2)r.push(qb(e.data.length));r.push(e.data)})});return jb(r)}function iw(e,r){return(e==null?void 0:e.map(function(e){return r(e.data)}))||[]}function sw(e){var r;var t=[],a={l:0};while(a.l>>0>0;t.push(s)}return t}function fw(e){var r=[];e.forEach(function(e){var t=[[],[{data:qb(e.id),type:0}],[]];if(e.merge!=null)t[3]=[{data:qb(+!!e.merge),type:0}];var a=[];e.messages.forEach(function(e){a.push(e.data);e.meta[3]=[{type:0,data:qb(e.data.length)}];t[2].push({data:nw(e.meta),type:2})});var n=nw(t);r.push(qb(n.length));r.push(n);a.forEach(function(e){return r.push(e)})});return jb(r)}function lw(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));var t={l:0};var a=Jb(r,t);var n=[];var i=t.l;while(i>2;if(f<60)++f;else{var l=f-59;f=r[i];if(l>1)f|=r[i+1]<<8;if(l>2)f|=r[i+2]<<16;if(l>3)f|=r[i+3]<<24;f>>>=0;f++;i+=l}n.push(r[Vb](i,i+f));i+=f;continue}else{var o=0,c=0;if(s==1){c=(r[i]>>2&7)+4;o=(r[i++]&224)<<3;o|=r[i++]}else{c=(r[i++]>>2)+1;if(s==2){o=r[i]|r[i+1]<<8;i+=2}else{o=(r[i]|r[i+1]<<8|r[i+2]<<16|r[i+3]<<24)>>>0;i+=4}}if(o==0)throw new Error("Invalid offset 0");var h=n.length-1,u=o;while(h>=0&&u>=n[h].length){u-=n[h].length;--h}if(h<0){if(u==0)u=n[h=0].length;else throw new Error("Invalid offset beyond length")}if(c0){n.push(n[h][Vb](n[h].length-u));c-=u}++h;while(c>=n[h].length){n.push(n[h]);c-=n[h].length;++h}if(c)n.push(n[h][Vb](0,c))}if(n.length>25)n=[jb(n)]}}var d=0;for(var v=0;v>8&255]))}else if(a<=16777216){s+=4;r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))}else if(a<=4294967296){s+=5;r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))}r.push(e[Vb](t,t+a));s+=a;n[0]=0;n[1]=s&255;n[2]=s>>8&255;n[3]=s>>16&255;t+=a}return jb(r)}var hw=function(){return{sst:[],rsst:[],ofmt:[],nfmt:[],fmla:[],ferr:[],cmnt:[]}};function uw(e,r,t,a,n){var i,s,f,l;var o=r&255,c=r>>8;var h=c>=5?n:a;e:if(t&(c>4?8:4)&&e.t=="n"&&o==7){var u=((i=h[7])==null?void 0:i[0])?rw(h[7][0].data):-1;if(u==-1)break e;var d=((s=h[15])==null?void 0:s[0])?rw(h[15][0].data):-1;var v=((f=h[16])==null?void 0:f[0])?rw(h[16][0].data):-1;var p=((l=h[40])==null?void 0:l[0])?rw(h[40][0].data):-1;var m=e.v,g=m;r:if(p){if(m==0){d=v=2;break r}if(m>=604800)d=1;else if(m>=86400)d=2;else if(m>=3600)d=4;else if(m>=60)d=8;else if(m>=1)d=16;else d=32;if(Math.floor(m)!=m)v=32;else if(m%60)v=16;else if(m%3600)v=8;else if(m%86400)v=4;else if(m%604800)v=2;if(v=2){g=m/86400;if(v>2){g|=0;m-=86400*g}w.push('d"d"');b.push(g+(u==2?" day"+(g==1?"":"s"):u==1?"d":""))}if(d<=4&&v>=4){g=m/3600;if(v>4){g|=0;m-=3600*g}w.push((d>=4?"[h]":"h")+'"h"');b.push(g+(u==2?" hour"+(g==1?"":"s"):u==1?"h":""))}if(d<=8&&v>=8){g=m/60;if(v>8){g|=0;m-=60*g}w.push((d>=8?"[m]":"m")+'"m"');if(u==0)b.push((d==8&&v==8||g>=10?"":"0")+g);else b.push(g+(u==2?" minute"+(g==1?"":"s"):u==1?"m":""))}if(d<=16&&v>=16){g=m;if(v>16){g|=0;m-=g}w.push((d>=16?"[s]":"s")+'"s"');if(u==0)b.push((v==16&&d==16||g>=10?"":"0")+g);else b.push(g+(u==2?" second"+(g==1?"":"s"):u==1?"s":""))}if(v>=32){g=Math.round(1e3*m);if(d<32)w.push('.000"ms"');if(u==0)b.push((g>=100?"":g>=10?"0":"00")+g);else b.push(g+(u==2?" millisecond"+(g==1?"":"s"):u==1?"ms":""))}e.w=b.join(u==0?":":" ");e.z=w.join(u==0?'":"':" ");if(u==0)e.w=e.w.replace(/:(\d\d\d)$/,".$1")}}function dw(e,r,t,a){var n=Xb(e);var i=n.getUint32(4,true);var s=-1,f=-1,l=-1,o=NaN,c=0,h=new Date(Date.UTC(2001,0,1));var u=t>1?12:8;if(i&2){l=n.getUint32(u,true);u+=4}u+=Kb(i&(t>1?3468:396))*4;if(i&512){s=n.getUint32(u,true);u+=4}u+=Kb(i&(t>1?12288:4096))*4;if(i&16){f=n.getUint32(u,true);u+=4}if(i&32){o=n.getFloat64(u,true);u+=8}if(i&64){h.setTime(h.getTime()+(c=n.getFloat64(u,true))*1e3);u+=8}if(t>1){i=n.getUint32(8,true)>>>16;if(i&255){if(l==-1)l=n.getUint32(u,true);u+=4}}var d;var v=e[t>=4?1:2];switch(v){case 0:return void 0;case 2:d={t:"n",v:o};break;case 3:d={t:"s",v:r.sst[f]};break;case 5:{if(a==null?void 0:a.cellDates)d={t:"d",v:h};else d={t:"n",v:c/86400+35430,z:q[14]}}break;case 6:d={t:"b",v:o>0};break;case 7:d={t:"n",v:o};break;case 8:d={t:"e",v:0};break;case 9:{if(s>-1){var p=r.rsst[s];d={t:"s",v:p.v};if(p.l)d.l={Target:p.l}}else throw new Error("Unsupported cell type ".concat(e[Vb](0,4)))}break;default:throw new Error("Unsupported cell type ".concat(e[Vb](0,4)));}if(l>-1)uw(d,v|t<<8,i,r.ofmt[l],r.nfmt[l]);if(v==7)d.v/=86400;return d}function vw(e,r,t){var a=Xb(e);var n=a.getUint32(4,true);var i=a.getUint32(8,true);var s=12;var f=-1,l=-1,o=-1,c=NaN,h=NaN,u=0,d=new Date(Date.UTC(2001,0,1)),v=-1,p=-1;if(i&1){c=Yb(e,s);s+=16}if(i&2){h=a.getFloat64(s,true);s+=8}if(i&4){d.setTime(d.getTime()+(u=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}s+=Kb(i&480)*4;if(i&512){p=a.getUint32(s,true);s+=4}s+=Kb(i&1024)*4;if(i&2048){v=a.getUint32(s,true);s+=4}var m;var g=e[1];switch(g){case 0:m={t:"z"};break;case 2:m={t:"n",v:c};break;case 3:m={t:"s",v:r.sst[l]};break;case 5:{if(t==null?void 0:t.cellDates)m={t:"d",v:d};else m={t:"n",v:u/86400+35430,z:q[14]}}break;case 6:m={t:"b",v:h>0};break;case 7:m={t:"n",v:h};break;case 8:m={t:"e",v:0};break;case 9:{if(f>-1){var b=r.rsst[f];m={t:"s",v:b.v};if(b.l)m.l={Target:b.l}}else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(i&31," : ").concat(e[Vb](0,4)))}break;case 10:m={t:"n",v:c};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(i&31," : ").concat(e[Vb](0,4)));}s+=Kb(i&4096)*4;if(i&516096){if(o==-1)o=a.getUint32(s,true);s+=4}if(i&524288){var w=a.getUint32(s,true);s+=4;if(r.cmnt[w])m.c=_w(r.cmnt[w])}if(o>-1)uw(m,g|5<<8,i>>13,r.ofmt[o],r.nfmt[o]);if(g==7)m.v/=86400;return m}function pw(e,r){var t=new Uint8Array(32),a=Xb(t),n=12,i=0;t[0]=5;switch(e.t){case"n":if(e.z&&Pe(e.z)){t[1]=5;a.setFloat64(n,(dr(e.v+1462).getTime()-Date.UTC(2001,0,1))/1e3,true);i|=4;n+=8;break}else{t[1]=2;Zb(t,n,e.v);i|=1;n+=16}break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=2;n+=8;break;case"s":{var s=e.v==null?"":String(e.v);if(e.l){var f=r.rsst.findIndex(function(r){var t;return r.v==s&&r.l==((t=e.l)==null?void 0:t.Target)});if(f==-1)r.rsst[f=r.rsst.length]={v:s,l:e.l.Target};t[1]=9;a.setUint32(n,f,true);i|=16;n+=4}else{var l=r.sst.indexOf(s);if(l==-1)r.sst[l=r.sst.length]=s;t[1]=3;a.setUint32(n,l,true);i|=8;n+=4}}break;case"d":t[1]=5;a.setFloat64(n,(e.v.getTime()-Date.UTC(2001,0,1))/1e3,true);i|=4;n+=8;break;case"z":t[1]=0;break;default:throw"unsupported cell type "+e.t;}if(e.c){r.cmnt.push(Sw(e.c));a.setUint32(n,r.cmnt.length-1,true);i|=524288;n+=4}a.setUint32(8,i,true);return t[Vb](0,n)}function mw(e,r){var t=new Uint8Array(32),a=Xb(t),n=12,i=0,s="";t[0]=4;switch(e.t){case"n":break;case"b":break;case"s":{s=e.v==null?"":String(e.v);if(e.l){var f=r.rsst.findIndex(function(r){var t;return r.v==s&&r.l==((t=e.l)==null?void 0:t.Target)});if(f==-1)r.rsst[f=r.rsst.length]={v:s,l:e.l.Target};t[1]=9;a.setUint32(n,f,true);i|=512;n+=4}else{}}break;case"d":break;case"e":break;case"z":break;default:throw"unsupported cell type "+e.t;}if(e.c){a.setUint32(n,r.cmnt.length-1,true);i|=4096;n+=4}switch(e.t){case"n":t[1]=2;a.setFloat64(n,e.v,true);i|=32;n+=8;break;case"b":t[1]=6;a.setFloat64(n,e.v?1:0,true);i|=32;n+=8;break;case"s":{s=e.v==null?"":String(e.v);if(e.l){}else{var l=r.sst.indexOf(s);if(l==-1)r.sst[l=r.sst.length]=s;t[1]=3;a.setUint32(n,l,true);i|=16;n+=4}}break;case"d":t[1]=5;a.setFloat64(n,(e.v.getTime()-Date.UTC(2001,0,1))/1e3,true);i|=64;n+=8;break;case"z":t[1]=0;break;default:throw"unsupported cell type "+e.t;}a.setUint32(8,i,true);return t[Vb](0,n)}function gw(e,r,t){switch(e[0]){case 0:;case 1:;case 2:;case 3:;case 4:return dw(e,r,e[0],t);case 5:return vw(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]));}}function bw(e){var r=aw(e);return rw(r[1][0].data)}function ww(e){return nw([[],[{type:0,data:qb(e)}]])}function kw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Qb(e.messages[0].meta[5][0].data):[];var n=a.indexOf(r);if(n==-1){a.push(r);e.messages[0].meta[5]=[{type:2,data:ew(a)}]}}function Tw(e,r){var t;var a=((t=e.messages[0].meta[5])==null?void 0:t[0])?Qb(e.messages[0].meta[5][0].data):[];e.messages[0].meta[5]=[{type:2,data:ew(a.filter(function(e){return e!=r}))}]}function Aw(e,r){var t=aw(r.data);var a=rw(t[1][0].data);var n=t[3];var i=[];(n||[]).forEach(function(r){var t,n;var s=aw(r.data);if(!s[1])return;var f=rw(s[1][0].data)>>>0;switch(a){case 1:i[f]=Gb(s[3][0].data);break;case 8:{var l=e[bw(s[9][0].data)][0];var o=aw(l.data);var c=e[bw(o[1][0].data)][0];var h=rw(c.meta[1][0].data);if(h!=2001)throw new Error("2000 unexpected reference to ".concat(h));var u=aw(c.data);var d={v:u[3].map(function(e){return Gb(e.data)}).join("")};i[f]=d;e:if((t=u==null?void 0:u[11])==null?void 0:t[0]){var v=(n=aw(u[11][0].data))==null?void 0:n[1];if(!v)break e;v.forEach(function(r){var t,a,n;var i=aw(r.data);if((t=i[2])==null?void 0:t[0]){var s=e[bw((a=i[2])==null?void 0:a[0].data)][0];var f=rw(s.meta[1][0].data);switch(f){case 2032:var l=aw(s.data);if(((n=l==null?void 0:l[2])==null?void 0:n[0])&&!d.l)d.l=Gb(l[2][0].data);break;case 2039:break;default:console.log("unrecognized ObjectAttribute type ".concat(f));}}})}}break;case 2:i[f]=aw(s[6][0].data);break;case 3:i[f]=aw(s[5][0].data);break;case 10:{var p=e[bw(s[10][0].data)][0];i[f]=Cw(e,p.data)}break;default:throw a;}});return i}function yw(e,r){var t,a,n,i,s,f,l,o,c,h,u,d,v,p;var m=aw(e);var g=rw(m[1][0].data)>>>0;var b=rw(m[2][0].data)>>>0;var w=((a=(t=m[8])==null?void 0:t[0])==null?void 0:a.data)&&rw(m[8][0].data)>0||false;var k,T;if(((i=(n=m[7])==null?void 0:n[0])==null?void 0:i.data)&&r!=0){k=(f=(s=m[7])==null?void 0:s[0])==null?void 0:f.data;T=(o=(l=m[6])==null?void 0:l[0])==null?void 0:o.data}else if(((h=(c=m[4])==null?void 0:c[0])==null?void 0:h.data)&&r!=1){k=(d=(u=m[4])==null?void 0:u[0])==null?void 0:d.data;T=(p=(v=m[3])==null?void 0:v[0])==null?void 0:p.data}else throw"NUMBERS Tile missing ".concat(r," cell storage");var A=w?4:1;var y=Xb(k);var E=[];for(var C=0;C=1)S[E[E.length-1][0]]=T[Vb](E[E.length-1][1]*A);return{R:g,cells:S}}function Ew(e,r){var t;var a=aw(r.data);var n=-1;if((t=a==null?void 0:a[7])==null?void 0:t[0]){if(rw(a[7][0].data)>>>0)n=1;else n=0}var i=iw(a[5],function(e){return yw(e,n)});return{nrows:rw(a[4][0].data)>>>0,data:i.reduce(function(e,r){if(!e[r.R])e[r.R]=[];r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t});return e},[])}}function Cw(e,r){var t,a,n,i,s,f,l,o,c,h;var u={t:"",a:""};var d=aw(r);if((a=(t=d==null?void 0:d[1])==null?void 0:t[0])==null?void 0:a.data)u.t=Gb((i=(n=d==null?void 0:d[1])==null?void 0:n[0])==null?void 0:i.data)||"";if((f=(s=d==null?void 0:d[3])==null?void 0:s[0])==null?void 0:f.data){var v=e[bw((o=(l=d==null?void 0:d[3])==null?void 0:l[0])==null?void 0:o.data)][0];var p=aw(v.data);if((h=(c=p[1])==null?void 0:c[0])==null?void 0:h.data)u.a=Gb(p[1][0].data)}if(d==null?void 0:d[4]){u.replies=[];d[4].forEach(function(r){var t=e[bw(r.data)][0];u.replies.push(Cw(e,t.data))})}return u}function _w(e){var r=[];r.push({t:e.t||"",a:e.a,T:e.replies&&e.replies.length>0});if(e.replies)e.replies.forEach(function(e){r.push({t:e.t||"",a:e.a,T:true})});return r}function Sw(e){var r={a:"",t:"",replies:[]};for(var t=0;t>>0)-1;if(v.e.r<0)throw new Error("Invalid row varint ".concat(d[6][0].data));v.e.c=(rw(d[7][0].data)>>>0)-1;if(v.e.c<0)throw new Error("Invalid col varint ".concat(d[7][0].data));t["!ref"]=Ha(v);var p=t["!data"]!=null,m=t;var g=aw(d[4][0].data);var b=hw();if((n=g[4])==null?void 0:n[0])b.sst=Aw(e,e[bw(g[4][0].data)][0]);if((i=g[6])==null?void 0:i[0])b.fmla=Aw(e,e[bw(g[6][0].data)][0]);if((s=g[11])==null?void 0:s[0])b.ofmt=Aw(e,e[bw(g[11][0].data)][0]);if((f=g[12])==null?void 0:f[0])b.ferr=Aw(e,e[bw(g[12][0].data)][0]);if((l=g[17])==null?void 0:l[0])b.rsst=Aw(e,e[bw(g[17][0].data)][0]);if((o=g[19])==null?void 0:o[0])b.cmnt=Aw(e,e[bw(g[19][0].data)][0]);if((c=g[22])==null?void 0:c[0])b.nfmt=Aw(e,e[bw(g[22][0].data)][0]);var w=aw(g[3][0].data);var k=0;w[1].forEach(function(r){var n=aw(r.data);var i=e[bw(n[2][0].data)][0];var s=rw(i.meta[1][0].data);if(s!=6002)throw new Error("6001 unexpected reference to ".concat(s));var f=Ew(e,i);f.data.forEach(function(e,r){e.forEach(function(e,n){var i=gw(e,b,a);if(i){if(p){if(!m["!data"][k+r])m["!data"][k+r]=[];m["!data"][k+r][n]=i}else{t[Pa(n)+Ia(k+r)]=i}}})});k+=f.nrows});if((h=g[13])==null?void 0:h[0]){var T=e[bw(g[13][0].data)][0];var A=rw(T.meta[1][0].data);if(A!=6144)throw new Error("Expected merge type 6144, found ".concat(A));t["!merges"]=(u=aw(T.data))==null?void 0:u[1].map(function(e){var r=aw(e.data);var t=Xb(aw(r[1][0].data)[1][0].data),a=Xb(aw(r[2][0].data)[1][0].data);return{s:{r:t.getUint16(0,true),c:t.getUint16(2,true)},e:{r:t.getUint16(0,true)+a.getUint16(0,true)-1,c:t.getUint16(2,true)+a.getUint16(2,true)-1}}})}}function Ow(e,r,t){var a=aw(r.data);var n={"!ref":"A1"};if(t==null?void 0:t.dense)n["!data"]=[];var i=e[bw(a[2][0].data)];var s=rw(i[0].meta[1][0].data);if(s!=6001)throw new Error("6000 unexpected reference to ".concat(s));xw(e,i[0],n,t);return n}function Rw(e,r,t){var a;var n=aw(r.data);var i={name:((a=n[1])==null?void 0:a[0])?Gb(n[1][0].data):"",sheets:[]};var s=iw(n[2],bw);s.forEach(function(r){e[r].forEach(function(r){var a=rw(r.meta[1][0].data);if(a==6e3)i.sheets.push(Ow(e,r,t))})});return i}function Iw(e,r,t){var a;var n=Xk();n.Workbook={WBProps:{date1904:true}};var i=aw(r.data);if((a=i[2])==null?void 0:a[0])throw new Error("Keynote presentations are not supported");var s=iw(i[1],bw);s.forEach(function(r){e[r].forEach(function(r){var a=rw(r.meta[1][0].data);if(a==2){var i=Rw(e,r,t);i.sheets.forEach(function(e,r){Gk(n,e,r==0?i.name:i.name+"_"+r,true)})}})});if(n.SheetNames.length==0)throw new Error("Empty NUMBERS file");n.bookType="numbers";return n}function Nw(e,r){var t,a,n,i,s,f,l;var o={},c=[];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;if(e.content[0]!=0)return;var r;try{r=ow(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}var a;try{a=sw(r)}catch(t){return console.log("## "+(t.message||t))}a.forEach(function(e){o[e.id]=e.messages;c.push(e.id)})});if(!c.length)throw new Error("File has no messages");if(((n=(a=(t=o==null?void 0:o[1])==null?void 0:t[0].meta)==null?void 0:a[1])==null?void 0:n[0].data)&&rw(o[1][0].meta[1][0].data)==1e4)throw new Error("Pages documents are not supported");var h=((l=(f=(s=(i=o==null?void 0:o[1])==null?void 0:i[0])==null?void 0:s.meta)==null?void 0:f[1])==null?void 0:l[0].data)&&rw(o[1][0].meta[1][0].data)==1&&o[1][0];if(!h)c.forEach(function(e){o[e].forEach(function(e){var r=rw(e.meta[1][0].data)>>>0;if(r==1){if(!h)h=e;else throw new Error("Document has multiple roots")}})});if(!h)throw new Error("Cannot find Document root");return Iw(o,h,r)}function Fw(e,r,t){var a,n,i;var s=[[],[{type:0,data:qb(0)}],[{type:0,data:qb(0)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:qb(5)}],[{type:2,data:new Uint8Array([])}],[{type:2,data:new Uint8Array(Array.from({length:510},function(){return 255}))}],[{type:0,data:qb(1)}]];if(!((a=s[6])==null?void 0:a[0])||!((n=s[7])==null?void 0:n[0]))throw"Mutation only works on post-BNC storages!";var f=0;if(s[7][0].data.length<2*e.length){var l=new Uint8Array(2*e.length);l.set(s[7][0].data);s[7][0].data=l}if(s[4][0].data.length<2*e.length){var o=new Uint8Array(2*e.length);o.set(s[4][0].data);s[4][0].data=o}var c=Xb(s[7][0].data),h=0,u=[];var d=Xb(s[4][0].data),v=0,p=[];var m=t?4:1;for(var g=0;g1)throw new Error("Template NUMBERS file must have exactly one sheet");e.SheetNames.forEach(function(r,s){if(s>=1){$w(t,a,s+1);n=zw(t,a,1);i=iw(aw(n.messages[0].data)[1],bw)}jw(t,a,e.Sheets[r],r,s,i[s])});return t}function Ww(e,r,t,a){var n=qe.find(e,r[t].location);if(!n)throw"Could not find ".concat(r[t].location," in Numbers template");var i=sw(ow(n.content));var s=i.find(function(e){return e.id==t});a(s,i);n.content=cw(fw(i));n.size=n.content.length}function zw(e,r,t){var a=qe.find(e,r[t].location);if(!a)throw"Could not find ".concat(r[t].location," in Numbers template");var n=sw(ow(a.content));var i=n.find(function(e){return e.id==t});return i}function Hw(e,r,t){e[3].push({type:2,data:nw([[],[{type:0,data:qb(r)}],[{type:2,data:$b(t.replace(/-.*$/,""))}],[{type:2,data:$b(t)}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:qb(0)}],[],[{type:0,data:qb(0)}]])});e[1]=[{type:0,data:qb(Math.max(r+1,rw(e[1][0].data)))}]}function Vw(e,r,t,a,n,i){if(!i)i=Pw({deps:[],location:"",type:r},n);var s="".concat(a,"-").concat(i,".iwa");n[i].location="Root Entry"+s;qe.utils.cfb_add(e,s,cw(fw([{id:i,messages:[Dw(r,nw(t))]}])));var f=s.replace(/^[\/]/,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,n,2,function(e){var r=aw(e.messages[0].data);Hw(r,i||0,f);e.messages[0].data=nw(r)});return i}function Xw(e,r,t,a){var n=r[t].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");var i=e[3].findIndex(function(e){var r,t;var a=aw(e.data);if((r=a[3])==null?void 0:r[0])return Gb(a[3][0].data)==n;if(((t=a[2])==null?void 0:t[0])&&Gb(a[2][0].data)==n)return true;return false});var s=aw(e[3][i].data);if(!s[6])s[6]=[];(Array.isArray(a)?a:[a]).forEach(function(e){s[6].push({type:2,data:nw([[],[{type:0,data:qb(e)}]])})});e[3][i].data=nw(s)}function Gw(e,r,t,a){var n=r[t].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");var i=e[3].findIndex(function(e){var r,t;var a=aw(e.data);if((r=a[3])==null?void 0:r[0])return Gb(a[3][0].data)==n;if(((t=a[2])==null?void 0:t[0])&&Gb(a[2][0].data)==n)return true;return false});var s=aw(e[3][i].data);if(!s[6])s[6]=[];s[6]=s[6].filter(function(e){return rw(aw(e.data)[1][0].data)!=a});e[3][i].data=nw(s)}function $w(e,r,t){var a=-1,n=-1;var i={};Ww(e,r,1,function(t,s){var f=aw(t.messages[0].data);a=bw(aw(t.messages[0].data)[1][0].data);n=Pw({deps:[1],location:r[a].location,type:2},r);i[a]=n;kw(t,n);f[1].push({type:2,data:ww(n)});var l=zw(e,r,a);l.id=n;if(r[1].location==r[n].location)s.push(l);else Ww(e,r,n,function(e,r){return r.push(l)});t.messages[0].data=nw(f)});var s=-1;Ww(e,r,n,function(t,a){var f=aw(t.messages[0].data);for(var l=3;l<=69;++l)delete f[l];var o=iw(f[2],bw);o.forEach(function(e){return Tw(t,e)});s=Pw({deps:[n],location:r[o[0]].location,type:r[o[0]].type},r);kw(t,s);i[o[0]]=s;f[2]=[{type:2,data:ww(s)}];var c=zw(e,r,o[0]);c.id=s;if(r[o[0]].location==r[n].location)a.push(c);else{Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Xw(t,r,n,s);e.messages[0].data=nw(t)});Ww(e,r,s,function(e,r){return r.push(c)})}t.messages[0].data=nw(f)});var f=-1;Ww(e,r,s,function(t,a){var n=aw(t.messages[0].data);var l=aw(n[1][0].data);for(var o=3;o<=69;++o)delete l[o];var c=bw(l[2][0].data);l[2][0].data=ww(i[c]);n[1][0].data=nw(l);var h=bw(n[2][0].data);Tw(t,h);f=Pw({deps:[s],location:r[h].location,type:r[h].type},r);kw(t,f);i[h]=f;n[2][0].data=ww(f);var u=zw(e,r,h);u.id=f;if(r[s].location==r[f].location)a.push(u);else Ww(e,r,f,function(e,r){return r.push(u)});t.messages[0].data=nw(n)});Ww(e,r,f,function(a,n){var s,l;var o=aw(a.messages[0].data);var c=Gb(o[1][0].data),h=c.replace(/-[A-Z0-9]*/,"-".concat(("0000"+t.toString(16)).slice(-4)));o[1][0].data=$b(h);[12,13,29,31,32,33,39,44,47,81,82,84].forEach(function(e){return delete o[e]});if(o[45]){var u=aw(o[45][0].data);var d=bw(u[1][0].data);Tw(a,d);delete o[45]}if(o[70]){var v=aw(o[70][0].data);(s=v[2])==null?void 0:s.forEach(function(e){var r=aw(e.data);[2,3].map(function(e){return r[e][0]}).forEach(function(e){var r=aw(e.data);if(!r[8])return;var t=bw(r[8][0].data);Tw(a,t)})});delete o[70]}[46,30,34,35,36,38,48,49,60,61,62,63,64,71,72,73,74,75,85,86,87,88,89].forEach(function(e){if(!o[e])return;var r=bw(o[e][0].data);delete o[e];Tw(a,r)});var p=aw(o[4][0].data);{[2,4,5,6,11,12,13,15,16,17,18,19,20,21,22].forEach(function(t){var s;if(!((s=p[t])==null?void 0:s[0]))return;var l=bw(p[t][0].data);var o=Pw({deps:[f],location:r[l].location,type:r[l].type},r);Tw(a,l);kw(a,o);i[l]=o;var c=zw(e,r,l);c.id=o;if(r[l].location==r[f].location)n.push(c);else{r[o].location=r[l].location.replace(l.toString(),o.toString());if(r[o].location==r[l].location)r[o].location=r[o].location.replace(/\.iwa/,"-".concat(o,".iwa"));qe.utils.cfb_add(e,r[o].location,cw(fw([c])));var h=r[o].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Hw(t,o,h);Xw(t,r,f,o);e.messages[0].data=nw(t)})}p[t][0].data=ww(o)});var m=aw(p[1][0].data);{(l=m[2])==null?void 0:l.forEach(function(t){var s=bw(t.data);var l=Pw({deps:[f],location:r[s].location,type:r[s].type},r);Tw(a,s);kw(a,l);i[s]=l;var o=zw(e,r,s);o.id=l;if(r[s].location==r[f].location){n.push(o)}else{r[l].location=r[s].location.replace(s.toString(),l.toString());if(r[l].location==r[s].location)r[l].location=r[l].location.replace(/\.iwa/,"-".concat(l,".iwa"));qe.utils.cfb_add(e,r[l].location,cw(fw([o])));var c=r[l].location.replace(/^Root Entry\//,"").replace(/^Index\//,"").replace(/\.iwa$/,"");Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Hw(t,l,c);Xw(t,r,f,l);e.messages[0].data=nw(t)})}t.data=ww(l)})}p[1][0].data=nw(m);var g=aw(p[3][0].data);{g[1].forEach(function(t){var n=aw(t.data);var s=bw(n[2][0].data);var l=i[s];if(!i[s]){l=Pw({deps:[f],location:"",type:r[s].type},r);r[l].location="Root Entry/Index/Tables/Tile-".concat(l,".iwa");i[s]=l;var o=zw(e,r,s);o.id=l;Tw(a,s);kw(a,l);qe.utils.cfb_add(e,"/Index/Tables/Tile-".concat(l,".iwa"),cw(fw([o])));Ww(e,r,2,function(e){var t=aw(e.messages[0].data);t[3].push({type:2,data:nw([[],[{type:0,data:qb(l)}],[{type:2,data:$b("Tables/Tile")}],[{type:2,data:$b("Tables/Tile-".concat(l))}],[{type:2,data:new Uint8Array([2,0,0])}],[{type:2,data:new Uint8Array([2,0,0])}],[],[],[],[],[{type:0,data:qb(0)}],[],[{type:0,data:qb(0)}]])});t[1]=[{type:0,data:qb(Math.max(l+1,rw(t[1][0].data)))}];Xw(t,r,f,l);e.messages[0].data=nw(t)})}n[2][0].data=ww(l);t.data=nw(n)})}p[3][0].data=nw(g)}o[4][0].data=nw(p);a.messages[0].data=nw(o)})}function jw(e,r,t,a,n,i){var s=[];Ww(e,r,i,function(e){var r=aw(e.messages[0].data);{r[1]=[{type:2,data:$b(a)}];s=iw(r[2],bw)}e.messages[0].data=nw(r)});var f=zw(e,r,s[0]);var l=bw(aw(f.messages[0].data)[2][0].data);Ww(e,r,l,function(a,n){return Yw(e,r,t,a,n,l)})}var Kw=true;function Yw(e,r,t,a,n,i){var s=za(t["!ref"]);s.s.r=s.s.c=0;var f=false;if(s.e.c>999){f=true;s.e.c=999}if(s.e.r>999999){f=true;s.e.r=999999}if(f)console.error("Truncating to ".concat(Ha(s)));var l=[];if(t["!data"])l=t["!data"];else{var o=[];for(var c=0;c<=s.e.c;++c)o[c]=Pa(c);for(var h=0;h<=s.e.r;++h){l[h]=[];var u=""+(h+1);for(c=0;c<=s.e.c;++c){var d=t[o[c]+u];if(!d)continue;l[h][c]=d}}}var v={cmnt:[{a:"~54ee77S~",t:"... the people who are crazy enough to think they can change the world, are the ones who do."}],ferr:[],fmla:[],nfmt:[],ofmt:[],rsst:[{v:"~54ee77S~",l:"https://sheetjs.com/"}],sst:["~Sh33tJ5~"]};var p=aw(a.messages[0].data);{p[6][0].data=qb(s.e.r+1);p[7][0].data=qb(s.e.c+1);delete p[46];var m=aw(p[4][0].data);{var g=bw(aw(m[1][0].data)[2][0].data);Ww(e,r,g,function(e,r){var t;var a=aw(e.messages[0].data);if((t=a==null?void 0:a[2])==null?void 0:t[0])for(var n=0;n1){var P=bw(m[19][0].data);var L={},M=0;Ww(e,r,P,function(t){var a=aw(t.messages[0].data);{a[3]=[];v.cmnt.forEach(function(n,i){if(i==0)return;var s=[];if(n.replies)n.replies.forEach(function(t){if(!L[t.a||""])L[t.a||""]=Vw(e,212,[[],[{type:2,data:$b(t.a||"")}],[{type:2,data:Uw(++M)}],[],[{type:0,data:qb(0)}]],"/Index/Tables/DataList",r);var a=L[t.a||""];var n=Vw(e,3056,[[],[{type:2,data:$b(t.t||"")}],[{type:2,data:nw([[],[{type:1,data:new Uint8Array([0,0,0,128,116,109,182,65])}]])}],[{type:2,data:ww(a)}]],"/Index/Tables/DataList",r);Ww(e,r,n,function(e){return kw(e,a)});s.push(n);Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Xw(t,r,n,a);e.messages[0].data=nw(t)})});if(!L[n.a||""])L[n.a||""]=Vw(e,212,[[],[{type:2,data:$b(n.a||"")}],[{type:2,data:Uw(++M)}],[],[{type:0,data:qb(0)}]],"/Index/Tables/DataList",r);var f=L[n.a||""];var l=Vw(e,3056,[[],[{type:2,data:$b(n.t||"")}],[{type:2,data:nw([[],[{type:1,data:new Uint8Array([0,0,0,128,116,109,182,65])}]])}],[{type:2,data:ww(f)}],s.map(function(e){return{type:2,data:ww(e)}}),[{type:2,data:nw([[],[{type:0,data:qb(i)}],[{type:0,data:qb(0)}]])}]],"/Index/Tables/DataList",r);Ww(e,r,l,function(e){kw(e,f);s.forEach(function(r){return kw(e,r)})});a[3].push({type:2,data:nw([[],[{type:0,data:qb(i)}],[{type:0,data:qb(1)}],[],[],[],[],[],[],[],[{type:2,data:ww(l)}]])});kw(t,l);Ww(e,r,2,function(e){var t=aw(e.messages[0].data);Xw(t,r,P,l);Xw(t,r,l,f);if(s.length)Xw(t,r,l,s);e.messages[0].data=nw(t)})})}a[2][0].data=qb(v.cmnt.length+1);t.messages[0].data=nw(a)})}}p[4][0].data=nw(m)}a.messages[0].data=nw(p)}function Zw(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 Jw(e){Zw([["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 qw(e){Zw([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function Qw(e){if(li.WS.indexOf(e)>-1)return"sheet";if(li.CS&&e==li.CS)return"chart";if(li.DS&&e==li.DS)return"dialog";if(li.MS&&e==li.MS)return"macro";return e&&e.length?e:"sheet"}function ek(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,Qw(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function rk(e,r,t,a,n,i,s,f){if(!e||!e["!legdrawel"])return;var l=$r(e["!legdrawel"].Target,a);var o=Wr(t,l,true);if(o)Oh(wt(o),e,f||[])}function tk(e,r,t,a,n,i,s,f,l,o,c,h){try{i[a]=ci(Wr(e,t,true),r);var u=Br(e,r);var d;switch(f){case"sheet":d=tg(u,r,n,l,i[a],o,c,h);break;case"chart":d=ag(u,r,n,l,i[a],o,c,h);if(!d||!d["!drawel"])break;var v=$r(d["!drawel"].Target,r);var p=oi(v);var m=Sh(Wr(e,v,true),ci(Wr(e,p,true),v));var g=$r(m,v);var b=oi(g);d=km(Wr(e,g,true),g,l,ci(Wr(e,b,true),g),o,d);break;case"macro":d=ng(u,r,n,l,i[a],o,c,h);break;case"dialog":d=ig(u,r,n,l,i[a],o,c,h);break;default:throw new Error("Unrecognized sheet type "+f);}s[a]=d;var w=[],k=[];if(i&&i[a])nr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==li.CMNT){n=$r(i[a][t].Target,r);w=lg(Br(e,n,true),n,l);if(!w||!w.length)return;Nh(d,w,false)}if(i[a][t].Type==li.TCMNT){n=$r(i[a][t].Target,r);k=k.concat(Ph(Br(e,n,true),l))}});if(k&&k.length)Nh(d,k,true,l.people||[]);rk(d,f,e,r,n,l,o,w)}catch(T){if(l.WTF)throw T}}function ak(e){return e.charAt(0)=="/"?e.slice(1):e}function nk(e,r){Ve();r=r||{};Jw(r);if(Mr(e,"META-INF/manifest.xml"))return Lb(e,r);if(Mr(e,"objectdata.xml"))return Lb(e,r);if(Mr(e,"Index/Document.iwa")){if(typeof Uint8Array=="undefined")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Nw!="undefined"){if(e.FileIndex)return Nw(e,r);var t=qe.utils.cfb_new();Hr(e).forEach(function(r){Vr(t,r,zr(e,r))});return Nw(t,r)}throw new Error("Unsupported NUMBERS file")}if(!Mr(e,"[Content_Types].xml")){if(Mr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Mr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=qe.find(e,"Index.zip");if(a){r=kr(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return mk(new Uint8Array(a.content),r);return mk(a.content,r)}throw new Error("Unsupported ZIP file")}var n=Hr(e);var i=si(Wr(e,"[Content_Types].xml"));var s=false;var f,l;if(i.workbooks.length===0){l="xl/workbook.xml";if(Br(e,l,true))i.workbooks.push(l)}if(i.workbooks.length===0){l="xl/workbook.bin";if(!Br(e,l,true))throw new Error("Could not find workbook");i.workbooks.push(l);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var o={};var c={};if(!r.bookSheets&&!r.bookProps){dv=[];if(i.sst)try{dv=fg(Br(e,ak(i.sst)),i.sst,r)}catch(h){if(r.WTF)throw h}if(r.cellStyles&&i.themes.length)o=rh(Wr(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)c=sg(Br(e,ak(i.style)),i.style,o,r)}i.links.map(function(t){try{var a=ci(Wr(e,oi(ak(t))),t);return cg(Br(e,ak(t)),a,t,r)}catch(n){}});var u=rg(Br(e,ak(i.workbooks[0])),i.workbooks[0],r);var d={},v="";if(i.coreprops.length){v=Br(e,ak(i.coreprops[0]),true);if(v)d=Ai(v);if(i.extprops.length!==0){v=Br(e,ak(i.extprops[0]),true);if(v)xi(v,d,r)}}var p={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){v=Wr(e,ak(i.custprops[0]),true);if(v)p=Ii(v,r)}}var m={};if(r.bookSheets||r.bookProps){if(u.Sheets)f=u.Sheets.map(function N(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)f=d.SheetNames;if(r.bookProps){m.Props=d;m.Custprops=p}if(r.bookSheets&&typeof f!=="undefined")m.SheetNames=f;if(r.bookSheets?m.SheetNames:r.bookProps)return m}f={};var g={};if(r.bookDeps&&i.calcchain)g=og(Br(e,ak(i.calcchain)),i.calcchain,r);var b=0;var w={};var k,T;{var A=u.Sheets;d.Worksheets=A.length;d.SheetNames=[];for(var y=0;y!=A.length;++y){d.SheetNames[y]=A[y].name}}var E=s?"bin":"xml";var C=i.workbooks[0].lastIndexOf("/");var _=(i.workbooks[0].slice(0,C+1)+"_rels/"+i.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");if(!Mr(e,_))_="xl/_rels/workbook."+E+".rels";var S=ci(Wr(e,_,true),_.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=hg(Br(e,ak(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=Mh(Br(e,ak(i.people[0])),r)}if(S)S=ek(S,u.Sheets);var x=Br(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=d.Worksheets;++b){var O="sheet";if(S&&S[b]){k="xl/"+S[b][1].replace(/[\/]?xl\//,"");if(!Mr(e,k))k=S[b][1];if(!Mr(e,k))k=_.replace(/_rels\/.*$/,"")+S[b][1];O=S[b][2]}else{k="xl/worksheets/sheet"+(b+1-x)+"."+E;k=k.replace(/sheet0\./,"sheet.")}T=k.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(d.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var R=false;for(var I=0;I!=r.sheets.length;++I){if(typeof r.sheets[I]=="number"&&r.sheets[I]==b)R=1;if(typeof r.sheets[I]=="string"&&r.sheets[I].toLowerCase()==d.SheetNames[b].toLowerCase())R=1}if(!R)continue e};}tk(e,k,T,d.SheetNames[b],b,w,f,O,r,u,o,c)}m={Directory:i,Workbook:u,Props:d,Custprops:p,Deps:g,Sheets:f,SheetNames:d.SheetNames,Strings:dv,Styles:c,Themes:o,SSF:kr(q)};if(r&&r.bookFiles){if(e.files){m.keys=n;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(i.vba.length>0)m.vbaraw=Br(e,ak(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===Gh)m.vbaraw=Br(e,"xl/vbaProject.bin",true)}m.bookType=s?"xlsb":"xlsx";return m}function ik(e,r){var t=r||{};var a="Workbook",n=qe.find(e,a);try{a="/!DataSpaces/Version";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);go(n.content);a="/!DataSpaces/DataSpaceMap";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=wo(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=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=ko(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Ao(n.content)}catch(f){}a="/EncryptionInfo";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=Co(n.content);a="/EncryptedPackage";n=qe.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 sk(e,r){if(e&&!e.SSF){e.SSF=kr(q)}if(e&&e.SSF){Ve();He(e.SSF);r.revssf=fr(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(pv)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=ii();qw(r=r||{});var i=Xr();var s="",f=0;r.cellXfs=[];wv(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Vr(i,s,Ei(e.Props,r));n.coreprops.push(s);ui(r.rels,2,s,li.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";Vr(i,s,Ni(e.Custprops,r));n.custprops.push(s);ui(r.rels,4,s,li.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;Vr(i,s,bm(f-1,r,e,h));n.sheets.push(s);ui(r.wbrels,-1,"worksheets/sheet"+f+"."+t,li.WS[0]);}if(u){var v=u["!comments"];var p=false;var m="";if(v&&v.length>0){var g=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){m="xl/threadedComments/threadedComment"+f+".xml";Vr(i,m,Lh(v,c,r));n.threadedcomments.push(m);ui(h,-1,"../threadedComments/threadedComment"+f+".xml",li.TCMNT)}m="xl/comments"+f+"."+t;Vr(i,m,Xh(v,r));n.comments.push(m);ui(h,-1,"../comments"+f+"."+t,li.CMNT);p=true}if(u["!legacy"]){if(p)Vr(i,"xl/drawings/vmlDrawing"+f+".vml",Rh(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Vr(i,oi(s),hi(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Vr(i,s,vo(r.Strings,r));n.strs.push(s);ui(r.wbrels,-1,"sharedStrings."+t,li.SST)}s="xl/workbook."+t;Vr(i,s,eg(e,r));n.workbooks.push(s);ui(r.rels,1,s,li.WB);s="xl/theme/theme1.xml";var b=th(e.Themes,r);Vr(i,s,b);n.themes.push(s);ui(r.wbrels,-1,"theme/theme1.xml",li.THEME);s="xl/styles."+t;Vr(i,s,Gc(e,r));n.styles.push(s);ui(r.wbrels,-1,"styles."+t,li.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Vr(i,s,e.vbaraw);n.vba.push(s);ui(r.wbrels,-1,"vbaProject.bin",li.VBA)}s="xl/metadata."+t;Vr(i,s,wh());n.metadata.push(s);ui(r.wbrels,-1,"metadata."+t,li.XLMETA);if(c.length>1){s="xl/persons/person.xml";Vr(i,s,Uh(c,r));n.people.push(s);ui(r.wbrels,-1,"persons/person.xml",li.PEOPLE)}Vr(i,"[Content_Types].xml",fi(n,r));Vr(i,"_rels/.rels",hi(r.rels));Vr(i,"xl/_rels/workbook."+t+".rels",hi(r.wbrels));delete r.revssf;delete r.ssf;return i}function fk(e,r){if(e&&!e.SSF){e.SSF=kr(q)}if(e&&e.SSF){Ve();He(e.SSF);r.revssf=fr(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(pv)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Kh.indexOf(r.bookType)>-1;var n=ii();qw(r=r||{});var i=Xr();var s="",f=0;r.cellXfs=[];wv(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Vr(i,s,Ei(e.Props,r));n.coreprops.push(s);ui(r.rels,2,s,li.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";Vr(i,s,Ni(e.Custprops,r));n.custprops.push(s);ui(r.rels,4,s,li.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;Vr(i,s,ep(f-1,r,e,h));n.sheets.push(s);ui(r.wbrels,-1,"worksheets/sheet"+f+"."+t,li.WS[0]);}if(u){var v=u["!comments"];var p=false;var m="";if(v&&v.length>0){var g=false;v.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){m="xl/threadedComments/threadedComment"+f+".xml";Vr(i,m,Lh(v,c,r));n.threadedcomments.push(m);ui(h,-1,"../threadedComments/threadedComment"+f+".xml",li.TCMNT)}m="xl/comments"+f+"."+t;Vr(i,m,Dh(v,r));n.comments.push(m);ui(h,-1,"../comments"+f+"."+t,li.CMNT);p=true}if(u["!legacy"]){if(p)Vr(i,"xl/drawings/vmlDrawing"+f+".vml",Rh(f,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(h["!id"].rId1)Vr(i,oi(s),hi(h))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Vr(i,s,lo(r.Strings,r));n.strs.push(s);ui(r.wbrels,-1,"sharedStrings."+t,li.SST)}s="xl/workbook."+t;Vr(i,s,Um(e,r));n.workbooks.push(s);ui(r.rels,1,s,li.WB);s="xl/theme/theme1.xml";Vr(i,s,th(e.Themes,r));n.themes.push(s);ui(r.wbrels,-1,"theme/theme1.xml",li.THEME);s="xl/styles."+t;Vr(i,s,bc(e,r));n.styles.push(s);ui(r.wbrels,-1,"styles."+t,li.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Vr(i,s,e.vbaraw);n.vba.push(s);ui(r.wbrels,-1,"vbaProject.bin",li.VBA)}s="xl/metadata."+t;Vr(i,s,Th());n.metadata.push(s);ui(r.wbrels,-1,"metadata."+t,li.XLMETA);if(c.length>1){s="xl/persons/person.xml";Vr(i,s,Uh(c,r));n.people.push(s);ui(r.wbrels,-1,"persons/person.xml",li.PEOPLE)}Vr(i,"[Content_Types].xml",fi(n,r));Vr(i,"_rels/.rels",hi(r.rels));Vr(i,"xl/_rels/workbook."+t+".rels",hi(r.wbrels));delete r.revssf;delete r.ssf;return i}function lk(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=E(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 ok(e,r){if(qe.find(e,"EncryptedPackage"))return ik(e,r);return Kg(e,r)}function ck(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=C&&Buffer.isBuffer(e)?"buffer":"base64";t=Gr(a,n);return nk(t,n)}function hk(e,r){var t=0;e:while(t=2&&i[3]===0)return Yl.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return Yl.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return Vl.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return Wo(n,t);break;case 10:;case 13:;case 32:return uk(n,t);case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Hl.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return Vl.to_workbook(n,t);return pk(e,n,t,s)}function gk(e,r){var t=r||{};t.type="file";return mk(e,t)}function bk(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return tr(r.file,qe.write(e,{type:C?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return qe.write(e,r)}function wk(e,r){switch(r.bookType){case"ods":return Hb(e,r);case"numbers":return Bw(e,r);case"xlsb":return sk(e,r);default:return fk(e,r);}}function kk(e,r){var t=kr(r||{});var a=wk(e,t);return Ak(a,t)}function Tk(e,r){var t=kr(r||{});var a=fk(e,t);return Ak(a,t)}function Ak(e,r){var t={};var a=C?"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?qe.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(I(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return bk(encrypt_agile(n,r.password),r);if(r.type==="file")return tr(r.file,n);return r.type=="string"?wt(n):n}function yk(e,r){var t=r||{};var a=Yg(e,t);return bk(a,t)}function Ek(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return T(kt(a));case"binary":return kt(a);case"string":return e;case"file":return tr(r.file,a,"utf8");case"buffer":{if(C)return _(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Ek(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Ck(e,r){switch(r.type){case"base64":return A(e);case"binary":return e;case"string":return e;case"file":return tr(r.file,e,"binary");case"buffer":{if(C)return _(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function _k(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var h=Ia(l.s.r);var u=[];var d=[];var v=0,p=0;var m=e["!data"]!=null;var g=l.s.r,b=0;var w={};if(m&&!e["!data"][g])e["!data"][g]=[];var k=o.skipHidden&&e["!cols"]||[];var T=o.skipHidden&&e["!rows"]||[];for(b=l.s.c;b<=l.e.c;++b){if((k[b]||{}).hidden)continue;u[b]=Pa(b);t=m?e["!data"][g][b]:e[u[b]+h];switch(a){case 1:i[b]=b-l.s.c;break;case 2:i[b]=u[b];break;case 3:i[b]=o.header[b-l.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=s=ja(t,null,o);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(g=l.s.r+n;g<=l.e.r;++g){if((T[g]||{}).hidden)continue;var A=Fk(e,l,g,u,a,i,o);if(A.isempty===false||(a===1?o.blankrows!==false:!!o.blankrows))d[v++]=A.row}d.length=v;return d}var Pk=/"/g;function Lk(e,r,t,a,n,i,s,f){var l=true;var o=[],c="",h=Ia(t);var u=e["!data"]!=null;var d=u&&e["!data"][t]||[];for(var v=r.s.c;v<=r.e.c;++v){if(!a[v])continue;var p=u?d[v]:e[a[v]+h];if(p==null)c="";else if(p.v!=null){l=false;c=""+(f.rawNumbers&&p.t=="n"?p.v:ja(p,null,f));for(var m=0,g=0;m!==c.length;++m)if((g=c.charCodeAt(m))===n||g===i||g===34||f.forceQuotes){c='"'+c.replace(Pk,'""')+'"';break}if(c=="ID")c='"ID"'}else if(p.f!=null&&!p.F){l=false;c="="+p.f;if(c.indexOf(",")>=0)c='"'+c.replace(Pk,'""')+'"'}else c="";o.push(c)}if(f.blankrows===false&&l)return null;return o.join(s)}function Mk(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Ga(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="",h=[];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]=Pa(v);var p=0;for(var m=n.s.r;m<=n.e.r;++m){if((d[m]||{}).hidden)continue;c=Lk(e,n,m,h,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)}return t.join("")}function Uk(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=Mk(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 Bk(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Ga(e["!ref"]),i="",s=[],f;var l=[];var o=e["!data"]!=null;for(f=n.s.c;f<=n.e.c;++f)s[f]=Pa(f);for(var c=n.s.r;c<=n.e.r;++c){i=Ia(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=o?(e["!data"][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 Wk(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var f=0,l=0;if(s&&a.origin!=null){if(typeof a.origin=="number")f=a.origin;else{var o=typeof a.origin=="string"?Ba(a.origin):a.origin;f=o.r;l=o.c}}var c={s:{c:0,r:0},e:{c:l,r:f+r.length-1+i}};if(s["!ref"]){var h=Ga(s["!ref"]);c.e.c=Math.max(c.e.c,h.e.c);c.e.r=Math.max(c.e.r,h.e.r);if(f==-1){f=h.e.r+1;c.e.r=f+r.length-1+i}}else{if(f==-1){f=0;c.e.r=r.length-1+i}}var u=a.header||[],d=0;var v=[];r.forEach(function(e,r){if(n&&!s["!data"][f+r+i])s["!data"][f+r+i]=[];if(n)v=s["!data"][f+r+i];nr(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 p=n?"":Pa(l+d)+Ia(f+r+i);var m=n?v[l+d]:s[p];if(o&&typeof o==="object"&&!(o instanceof Date)){if(n)v[l+d]=o;else s[p]=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.UTC)o=Fr(o);if(!a.cellDates){c="n";o=ur(o)}h=m!=null&&m.z&&Pe(m.z)?m.z:a.dateNF||q[14]}else if(o===null&&a.nullError){c="e";o=0}if(!m){if(!n)s[p]=m={t:c,v:o};else v[l+d]=m={t:c,v:o}}else{m.t=c;m.v=o;delete m.w;delete m.R;if(h)m.z=h}if(h)m.z=h}})});c.e.c=Math.max(c.e.c,l+u.length-1);var p=Ia(f);if(n&&!s["!data"][f])s["!data"][f]=[];if(i)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 Xk(){return{SheetNames:[],Sheets:{}}}function Gk(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}Fm(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function $k(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=Vk(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 jk(e,r){e.z=r;return e}function Kk(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function Yk(e,r,t){return Kk(e,"#"+r,t)}function Zk(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Jk(e,r,t,a){var n=typeof r!="string"?r:Ga(r);var i=typeof r=="string"?r:Ha(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var l=Hk(e,s,f);l.t="n";l.F=i;delete l.v;if(s==n.s.r&&f==n.s.c){l.f=t;if(a)l.D=true}}var o=za(e["!ref"]);if(o.s.r>n.s.r)o.s.r=n.s.r;if(o.s.c>n.s.c)o.s.c=n.s.c;if(o.e.rs.e.r){if(!l){l=true;t.push(""+i)}return t.push(null)}while(f<=s.e.r){t.push(Ab(e,s,f,a));++f;break}};return t}function aT(e,r){var t=Qk({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 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":o=Ga(h);break;case"number":o=Ga(e["!ref"]);o.s.r=h;break;default:o=h;}if(n>0)i=0;var u=Ia(o.s.r);var d=[];var v=0;var p=e["!data"]!=null;var m=o.s.r,g=0;var b={};if(p&&!e["!data"][m])e["!data"][m]=[];var w=c.skipHidden&&e["!cols"]||[];var k=c.skipHidden&&e["!rows"]||[];for(g=o.s.c;g<=o.e.c;++g){if((w[g]||{}).hidden)continue;d[g]=Pa(g);a=p?e["!data"][m][g]:e[d[g]+u];switch(n){case 1:s[g]=g-o.s.c;break;case 2:s[g]=d[g];break;case 3:s[g]=c.header[g-o.s.c];break;default:if(a==null)a={w:"__EMPTY",t:"s"};l=f=ja(a,null,c);v=b[f]||0;if(!v)b[f]=1;else{do{l=f+"_"+v++}while(b[l]);b[f]=v;b[l]=1}s[g]=l;}}m=o.s.r+i;t._read=function(){while(m<=o.e.r){if((k[m-1]||{}).hidden)continue;var r=Fk(e,o,m,d,n,s,c);++m;if(r.isempty===false||(n===1?c.blankrows!==false:!!c.blankrows)){t.push(r.row);return}}return t.push(null)};return t}var nT={to_json:aT,to_html:tT,to_csv:rT,set_readable:eT};if(typeof Kg!=="undefined")e.parse_xlscfb=Kg;e.parse_zip=nk;e.read=mk;e.readFile=gk;e.readFileSync=gk;e.write=xk;e.writeFile=Rk;e.writeFileSync=Rk;e.writeFileAsync=Nk;e.utils=qk;e.writeXLSX=Sk;e.writeFileXLSX=Ik;e.set_fs=er;e.set_cptable=g;e.SSF=Xe;if(typeof nT!=="undefined")e.stream=nT;if(typeof qe!=="undefined")e.CFB=qe;if(typeof require!=="undefined"){var iT=undefined;if((iT||{}).Readable)eT(iT.Readable);try{Qe=undefined}catch(sT){}}}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 d029cea..7b53b51 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","$cptable","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","utf16lereadu","utf16beread","debom","_getchar","_gc1","_getansi","_ga1","set_cptable","_gc2","_ga2","cpdoit","DENSE","DIF_XL","Base64_map","Base64_encode","input","isNaN","Base64_encode_pass","Base64_decode","replace","undefined","node","buf_utf16le","new_raw_buf","alloc","Uint8Array","new_unsafe_buf","s2a","s2ab","ArrayBuffer","view","a2s","isArray","a2u","ab2a","bconcat","bufs","concat","maxlen","set","apply","utf8decode","content","widx","L","ridx","chr0","chr1","_strrev","pad0","v","t","fill","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","SSF_isgeneral","days","months","SSF_init_table","table_fmt","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","SSF_default_map","5","6","7","8","23","24","25","26","27","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSFbasedate","SSFdnthresh","getTime","SSFbase1904","datenum_local","epoch","getTimezoneOffset","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","toFixed","toPrecision","toExponential","SSF_large_exp","SSF_general_num","V","log","LOG10E","substr","toUpperCase","SSF_general","SSF_format","SSF_write_date","type","fmt","val","ss0","ss","outl","outstr","commaify","pct1","write_num_pct","sfmt","mul","write_num","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","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","table","SSF_load","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","32","33","34","35","36","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","datestr","timestr","bad_formats","d.m","SSF__load","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","sz1","sz2","usz","csz","fs","get_fs","_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","console","error","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","message","_inflateRawSync","_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","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","set_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","basedate","datenum","dnthresh","refdate","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date_1","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","TextDecoder","€","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž","‘","’","“","”","•","–","—","˜","™","š","›","œ","ž","Ÿ","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","FDRE1","fuzzytime1","lower_months","fuzzydate","lower","lnos","getYear","split_regex","safe_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","tagregex1","tagregex2","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","raw_unescapexml","xlsx","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8reada","orig","utf8readb","utf8readc","utf8corpus","utf8read","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","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","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","utf8_b","___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","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cpp","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","fix_range","a1","formula_quote_sheet_name","sname","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","__Rstr","__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","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR_VARIANT","VT_VECTOR_LPSTR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","2147483648","2147483651","1919054434","SummaryPIDSI","CountryEnum","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","#NULL!","#DIV/0!","#VALUE!","#REF!","#NAME?","#NUM!","#N/A","#GETTING_DATA","#WTF?","XLSLblBuiltIn","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","write_ct","type2ct","xmlns:xsd","xmlns:xsi","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","CONN","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","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","wb","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","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","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","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","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","old_cp","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_l","_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","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cellText","shrbase","shift_formula_str","F_seen","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","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","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","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","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","sdata","refguess","qpw_to_workbook_buf","vers","qpro","works","works2","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_STRING","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","109","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","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","formulae","book_append_sheet","CC","delta","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_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","_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","lastmeta","offsets","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","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","tcnt","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","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","make_3d_range","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","write_XLSBFormulaNum","oint","write_XLSBFormulaErr","write_XLSBFormulaBool","write_XLSBFormulaStr","postamble","write_XLSBFormulaRef","write_XLSBFormulaRef3D","lastbang","write_XLSBFormulaRefErr3D","write_XLSBFormulaRange","_str","write_XLSBFormulaRangeWS","write_XLSBFormulaArea3D","write_XLSBFormula","write_XLSBNameParsedFormula","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","nodim","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","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","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","display","cellregex","rowregex","isregex","refregex","match_v","match_f","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","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","parse_BrtCsProp","parse_cs_bin","cs_parse","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","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","write_BrtName","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BRTNAMES","write_SELF_EXTERNS_xlsb","write_EXTERNALS_xlsb","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","XLMLFormatMap","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_prefix_dname","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","html_to_workbook","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","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","make_html_row","editable","HTML_BEGIN","HTML_END","book_new","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","baddate","rptR","rpt","xlmlidx","styletag","nrange","ptp","parse_ods","Styles","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_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","write_ws","nfs","ods","ROWS","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","nfi","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","stru8","u8concat","u8a","popcnt","readDecimal128LE","exp","mantissa","writeDecimal128LE","parse_varint49","ptr","varint","write_varint49","parse_packed_varints","write_packed_varints","nums","varint_to_i32","i32","varint_to_u64","lo","hi","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","clen","u8i","decompress_iwa_file","compress_iwa_file","frame","numbers_lut_new","rsst","nfmt","numbers_format_cell","_b","_c","ver","dur","dstyle","dmin","dmax","autodur","dstr","zstr","parse_old_storage","lut","dv","getUint32","zidx","ieee","doff","getFloat64","parse_new_storage","d128","write_new_storage","setFloat64","setUint32","write_old_storage","parse_cell_storage","parse_TSP_Reference","pb","write_TSP_Reference","numbers_add_oref","iwa","orefs","orefidx","numbers_del_oref","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","parse_TST_TileRowInfo","_e","_g","_h","_i","_k","_m","wide_offsets","used_storage_u8","used_storage","used_storage_offsets","getUint16","parse_TST_Tile","nrows","reduce","acc","parse_TST_TableModelArchive","dws","store","tile","tl","ref2","mtype2","_tile","pi","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","indices","packets","packet","docroot","iwam","write_TST_TileRowInfo","wide","tri","new_7","new_4","last_offset","cell_storage","_dv","_last_offset","_cell_storage","setUint16","celload","_celload","write_iwam","get_unique_msgid","dep","dependents","build_numbers_deps","deps","mess","write_numbers_iwa","numbers","numbers_iwa_find","sheetrefs","numbers_add_ws","write_numbers_ws","numbers_iwa_doit","ainfo","sheetref","newsheetref","remap","arch","doc","tiaref","sheetroot","sa","drawables","tia","loc2","mlist","parentidx","findIndex","mm","parent","tmaref","tiaroot","da","dap","oldtmaref","tma","tmaroot","uuid","new_uuid","padStart","srrta","hsoa","hsa","hseadata","hsea","_a2","oldref","newref","newloc","_a3","_b2","row_headers","tspref","tiles","tst","oldtileref","newtileref","oldtile","wsname","sheetidx","rootref","write_numbers_tma","USE_WIDE_ROWS","tmafile","trunc","row_header_ref","rowhead","_x","base_bucket","R2","_bucket","col_header_ref","colhead","rbtree","tilestore","tstride","tileref","save_token","mlst","ntiles","newtileid","tiledata","tilerow","newtile","tilecontent","mergeid","sstref","sstroot","sstdata","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","index_zip","Bun","readSync","dir","binname","link","propdata","pluck","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsb","foo","vbafmt","_sn","wsrels","_type","need_vml","rId1","write_zip_xlsx","needtc","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","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","datarow","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","ws_get_cell_stub","RC","wb_sheet_idx","sh","roll","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","wsr","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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,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRkB,GAAQ,KACRG,GAAQ,KACRK,GAAQ,KACRkB,GAAQ,KACRE,GAAQ,KACRN,GAAQ,KACRC,GAAQ,KACR09B,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,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,IAAO9Z,GAAO,MAAOA,GAAInyB,IAAI,SAASjD,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAIrF,GAAImvC,IAAWD,IAEd,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,EACA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAED,IAAIvE,IAASzT,GAAIiY,GAGjB,IAAIjJ,KACJjgC,EAAM,SACN2H,EAAM,UACNrB,GAAM,UACNuB,GAAM,QACNM,GAAM,SACNyM,GAAM,QACNtK,GAAM,OACNC,GAAM,gBACNrJ,IAAM,QAGN,IAAIioC,KACHC,SAAiB,EACjBC,UAAiB,EACjBC,UAAiB,GACj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ACLC,IAAK,iBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,eACL24B,IAAK,eACL14B,IAAK,cACLC,IAAK,aACLC,IAAK,cACLC,IAAK,eACLgsB,IAAK,SACL/rB,IAAK,WACLC,IAAK,UACL+rB,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;AACLvL,IAAK,WACLC,IAAK,UACLC,IAAK,SACLC,IAAK,QACLC,IAAK,WACLC,IAAK,QACLC,IAAK,YACLC,IAAK,UACLC,IAAK,MACLC,IAAK,QACLC,IAAK,QACLC,IAAK,QACL6K,IAAK,OACL5K,IAAK,QACLC,IAAK,UACLC,IAAK,UACLC,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,QACLC,IAAK,QACLsK,IAAK,QACLC,IAAK,WACLtK,IAAK,aACLuK,IAAK,cACLtK,IAAK,OACLuK,IAAK,WACLC,IAAK,OACLC,IAAK,gBACLC,IAAK,YACLzK,IAAK,cACL0K,IAAK,QACLzK,IAAK,iBACLC,IAAK,kBACLyK,IAAK,kBACLC,IAAK,iBACLzK,IAAK,UACLC,IAAK,UACLC,IAAK,WACLwK,IAAK,QACLC,IAAK,UACLC,IAAK,aACLC,IAAK,eACLC,IAAK,oBACL3K,IAAK,QACLjtD,IAAK,UACLktD,IAAK,aACL2K,IAAK,eACL53D,IAAK,QACLktD,IAAK,cACLC,IAAK,cACL0K,IAAK,WACL53D,IAAK,eACL63D,IAAK,YACLC,IAAK,WACLC,IAAK,WACLC,IAAK,OACLC,IAAK,OACLC,IAAK,UA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+rD,IAChCunC,KAAyBtzF,EAAEshD,IAC3BmyC,OACAC,OACAC,OACA99B,OACAC,OACAC,KAA4B/1D,EAAEy/C,IAC9BuW,OACAzxD,OACAgkE,OACAC,OACAC,OACAC,OACAkrB,OACAC,OACAC,OACAzoD,OACA4oD,OACA3oD,OACA4oD,OACA3oD,KAA8BvrC,EAAE0hD,IAChC0yC,OACAoM,KAAqCxgG,EAAEy/C,IACvCj7C,OACA8vF,KAAwBt0F,EAAEguD,IAC1BumC,KAAkCv0F,EAAEinD,IACpCutC,KAAkCx0F,EAAEshD,IACpCmzC,OACAE,KAAgC30F,EAAEqxD,IAClCuvC,OACAE,OACAC,OACAC,OACAC,OACArM,OACAsM,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA1M,OACAE,OACAC,KAAyBj1F,EAAE8nD,IAC3BotC,KAA8Bl1F,EAAE4qD,IAChClmD,KAA4B1E,EAAEmoD,IAC9BwgB,OACAC,OACAwtB,OACAe,OACAC,OACAG,OACA8K,KAA6BriG,EAAE4hD,IAC/B61C,OACAC,OACAC,OACAO,OACAuK,OACAklB,OACAhlB,OACAC,OACAzK,OACA0K,OACAzK,OACAC,OACAyK,OACAt3D,OACAktD,KAA8B14F,EAAEy/C,IAChC4jD,KAAyBrjG,EAAEshD,IAC3B+iD,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACA9J,OACAoK,OACAC,OACAC,OACAC,OACAtK,KAA6B/6F,EAAE6uD,IAC/BmsC,KAA8Bh7F,EAAEy/C,IAChCw7C,OACAC,OACAC,OACAG,OACAC,KAAyBv7F,EAAE6xD,IAC3B2pC,KAAgCx7F,EAAEy/C,IAClCg8C,KAA2Bz7F,EAAEkyD,IAC7BwpC,OACAC,KAA8B37F,EAAE6iD,IAChC+4C,OACAC,KAAkC77F,EAAE0hD,IACpCo6C,OACAC,OACAE,KAAgCj8F,EAAEshD,IAClC46C,KAA8Bl8F,EAAE4oD,GAAgBz1C,EAAE,GAClDgpF,KAA6Bn8F,EAAEshD,IAC/BsoB,KAAgC5pE,EAAEurD,IAClCue,KAA2B9pE,EAAEyzD,IAC7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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","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","utf16lereadu","utf16beread","debom","_getchar","_gc1","_getansi","_ga1","set_cptable","_gc2","_ga2","cpdoit","DENSE","DIF_XL","Base64_map","Base64_encode","input","isNaN","Base64_encode_pass","Base64_encode_arr","Base64_decode","replace","undefined","node","buf_utf16le","new_raw_buf","alloc","Uint8Array","new_unsafe_buf","s2a","s2ab","ArrayBuffer","view","a2s","isArray","a2u","ab2a","bconcat","bufs","concat","maxlen","set","apply","utf8decode","content","widx","L","ridx","chr0","chr1","_strrev","pad0","v","t","fill","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","SSF_isgeneral","days","months","SSF_init_table","table_fmt","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","SSF_default_map","5","6","7","8","23","24","25","26","27","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","toFixed","toPrecision","toExponential","SSF_large_exp","SSF_general_num","V","log","LOG10E","substr","toUpperCase","SSF_general","SSF_format","datenum","SSF_write_date","type","fmt","val","ss0","ss","outl","outstr","commaify","pct1","write_num_pct","sfmt","mul","write_num","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","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","table","SSF_load","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","32","33","34","35","36","dateNFregex","dateNF_regex","lastIndex","RegExp","dateNF_fix","Y","datestr","timestr","bad_formats","d.m","SSF__load","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","sz1","sz2","usz","csz","fs","get_fs","_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","console","error","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","message","_inflateRawSync","_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","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","set_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","b64","$","File","Folder","open","encoding","close","read_binary","infile","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","dnthresh","UTC","dnthresh1","dnthresh2","epoch","getTime","res","numdate","setTime","parse_isodur","sec","pdre1","pdre2","pdre3","parseDate","cc2str","arr","debomit","TextDecoder","€","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž","‘","’","“","”","•","–","—","˜","™","š","›","œ","ž","Ÿ","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","FDRE1","FDRE2","FDISO","utc_append_works","valueOf","fuzzytime1","fuzzytime2","lower_months","fuzzydate","local_to_utc","lower","lnos","getYear","split_regex","safe_split_regex","re","def","utc_to_local","utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","local","getMilliseconds","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex2","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","raw_unescapexml","xlsx","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8reada","orig","utf8readb","utf8readc","utf8corpus","utf8read","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","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","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","utf8_b","___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","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cpp","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","fix_range","a1","formula_quote_sheet_name","sname","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","__Rstr","__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","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR_VARIANT","VT_VECTOR_LPSTR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","2147483648","2147483651","1919054434","SummaryPIDSI","CountryEnum","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","#NULL!","#DIV/0!","#VALUE!","#REF!","#NAME?","#NUM!","#N/A","#GETTING_DATA","#WTF?","XLSLblBuiltIn","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","write_ct","type2ct","xmlns:xsd","xmlns:xsi","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","CONN","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","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","wb","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","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","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","write_BIFF2Format","write_BIFF4Format","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_BIFF2XF","write_BIFF2XF","xf","write_BIFF3XF","write_BIFF4XF","parse_BIFF3XF","parse_BIFF4XF","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","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","cmnt","write_NOTE_BIFF2","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","write_BIFF2Cell","ifmt","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2BOOLERR","bestart","parse_BIFF2FONTXTRA","parse_RString","parse_BIFF4SheetInfo","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","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","hi","lo","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","old_cp","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_l","_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","encode_sylk_str","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cellText","shrbase","shift_formula_str","F_seen","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","write_ws_cell_sylk","a1_to_rc","write_ws_cmnt_sylk","write_ws_cols_sylk","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","_formats","RS","_lastfmt","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","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","news","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","LOTUS_DATE_FMTS","next_n","sidx","snames","realnames","sdata","refguess","lastcell","qpw_to_workbook_buf","vers","qpro","works","works2","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","get_wk1_fmt","parse_LABEL","parse_STRING","parse_INTEGER","parse_NUMBER","parse_FORMULA","wk1_fmla_to_csf","wk1_parse_rc","FuncTab","83","109","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","21506","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","QPWNFTable","formulae","FMTS","book_append_sheet","CC","fmtidx","delta","newcell","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_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","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","_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","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","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","lastmeta","offsets","write_xlmeta_xml","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","shapevmlregex","parse_vml","cidx","aidx","ObjectType","ws_get_cell_stub","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","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","tcnt","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","_ia","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","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","make_3d_range","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","write_XLSBFormulaNum","oint","write_XLSBFormulaErr","write_XLSBFormulaBool","write_XLSBFormulaStr","postamble","write_XLSBFormulaRef","write_XLSBFormulaRef3D","lastbang","write_XLSBFormulaRefErr3D","write_XLSBFormulaRange","_str","write_XLSBFormulaRangeWS","write_XLSBFormulaArea3D","write_XLSBFormula","write_XLSBNameParsedFormula","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","nodim","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","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","sviewregex","Views","zoomScale","zoom","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","_vv","Strings","revStrings","display","cellregex","rowregex","isregex","refregex","match_v","match_f","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","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","parse_BrtCsProp","parse_cs_bin","cs_parse","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","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","write_BrtName","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_BRTNAMES","write_SELF_EXTERNS_xlsb","write_EXTERNALS_xlsb","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_sst","parse_cmnt","parse_cc","parse_xlink","parse_xlmeta","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","XLMLFormatMap","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","sid","StyleID","interiors","Parent","Formula","ArrayRange","xlml_prefix_dname","xlml_clean_comment","parse_xlml_xml","opening","ishtml","_o","html_to_workbook","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","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","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","last_cell","rngC","rngR","temp_val","country","XFs","palette","biff4w","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_comments_biff2","write_ws_biff2_cell","_BIFF2FmtTable","write_ws_biff2","write_biff2_buf","_Fonts","b8oid","b8ocnts","write_MsoDrawingGroup","acc","write_comments_biff8","notes","baseid","_oasc","ci","oasc","oact","txo","cont","conf","notesh","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","make_html_row","editable","HTML_BEGIN","HTML_END","book_new","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","sheetag","rowtag","ctag","textp","textpidx","textptag","oldtextp","oldtextpidx","textR","oldtextR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","annotag","xlmlidx","styletag","nrange","ptp","parse_ods","Styles","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_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","namei","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","null_cell_xml","write_ws","nfs","ods","ROWS","_Fref","text_p","_tgt","xlink:href","acreator","apayload","aprops","write_automatic_styles_ods","colobj","nfi","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","stru8","u8concat","u8a","popcnt","readDecimal128LE","exp","mantissa","writeDecimal128LE","parse_varint49","ptr","varint","write_varint49","parse_packed_varints","write_packed_varints","nums","varint_to_i32","i32","varint_to_u64","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","clen","u8i","decompress_iwa_file","compress_iwa_file","frame","numbers_lut_new","rsst","nfmt","fmla","ferr","numbers_format_cell","_b","_c","ver","dur","dstyle","dmin","dmax","autodur","dstr","zstr","parse_old_storage","lut","dv","getUint32","zidx","ieee","doff","getFloat64","rts","parse_new_storage","d128","eidx","cmntidx","iwa_to_s5s_comment","write_new_storage","setFloat64","irsst","findIndex","setUint32","s5s_to_iwa_comment","write_old_storage","parse_cell_storage","parse_TSP_Reference","pb","write_TSP_Reference","numbers_add_oref","iwa","orefs","orefidx","numbers_del_oref","parse_TST_TableDataList","le","rtp","rtpref","mtype","tswpsa","richtext","sfields","smartfields","sf","_a2","_b2","objtype","parse_TSD_CommentStorageArchive","parse_TST_TileRowInfo","_e","_g","_h","_i","_k","_m","wide_offsets","used_storage_u8","used_storage","used_storage_offsets","getUint16","parse_TST_Tile","nrows","reduce","csp","as","asp","replies","pi","reply","s5s","parse_TST_TableModelArchive","dws","store","tile","tl","ref2","mtype2","_tile","parse_TST_TableInfoArchive","tableref","parse_TN_SheetArchive","shapeoffs","parse_TN_DocumentArchive","sheetoffs","root2","parse_numbers_iwa","indices","packets","packet","docroot","iwam","write_TST_TileRowInfo","wide","tri","new_7","new_4","last_offset","cell_storage","_dv","_last_offset","_cell_storage","setUint16","celload","_celload","write_iwam","get_unique_msgid","dep","dependents","build_numbers_deps","deps","mess","write_TSP_Color_RGB","Float32Array","get_author_color","random","write_numbers_iwa","numbers","numbers_iwa_find","sheetrefs","numbers_add_ws","write_numbers_ws","numbers_iwa_doit","ainfo","numbers_add_meta","mlist","newid","newloc","numbers_add_msg","numbers_meta_add_dep","parentidx","mm","parent","dep2","numbers_meta_del_dep","sheetref","newsheetref","remap","arch","doc","tiaref","sheetroot","sa","drawables","tia","tmaref","tiaroot","da","dap","oldtmaref","tma","tmaroot","uuid","new_uuid","srrta","hsoa","hsa","hseadata","hsea","oldref","newref","row_headers","tspref","tiles","tst","oldtileref","newtileref","oldtile","wsname","sheetidx","rootref","write_numbers_tma","USE_WIDE_ROWS","tmafile","trunc","R_","LUT","row_header_ref","rowhead","_x","base_bucket","R2","_bucket","col_header_ref","colhead","rbtree","tilestore","tstride","tileref","save_token","mlst","ntiles","newtileid","tiledata","tilerow","newtile","tilecontent","mergeid","sstref","sstroot","sstdata","rsstref","rsstroot","rsstdata","style_indices","tswpsaid","tswpsarefs","newhlinkid","smartfield","rtpaid","cmntref","cmntroot","cmntdata","aaaid2","csaid2","aaaid","csaid","fix_opts_func","fix_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","parse_sheet_legacy_drawing","dfile","draw","safe_parse_sheet","relsPath","sheetRels","stype","drelsp","chartp","crelsp","tcomments","strip_front_slash","_zip","index_zip","Bun","readSync","dir","binname","link","propdata","pluck","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip_xlsb","foo","vbafmt","_sn","wsrels","_type","need_vml","needtc","rId1","write_zip_xlsx","read_cfb","read_zip","read_plaintext","main","read_plaintext_raw","read_utf16","bstrify","read_prn","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","datarow","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","RC","wb_sheet_idx","sh","roll","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","wsr","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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KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,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,IAAO9a,GAAO,MAAOA,GAAIjyB,IAAI,SAASjD,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAIrF,GAAIiwC,IAAWD,IAEd,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,EACA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAED,IAAIvE,IAASzU,GAAIiZ,GAGjB,IAAIjJ,KACJ/gC,EAAM,SACN4H,EAAM,UACNrB,GAAM,UACNuB,GAAM,QACNM,GAAM,SACNmM,GAAM,QACNhK,GAAM,OACNC,GAAM,gBACNtJ,IAAM,QAGN,IAAI+oC,KACHC,SAAiB,EACjBC,UAAiB,EACjBC,UAAiB,GACjBC,QAAiB,GACjBC,SAAiB,GACjBC,QAAiB,GACjBC,OAAiB,GACjBC,gBAAiB,GACjBC,QAAiB,IAGlB,IAAIC,KACH,yBACA,kBACA,mBACA,gBACA,iBACA,iBACA,mBACA,qBACA,iBACA,kBACA,sBACA,wBACA,oBACA,wBAOD,IAAIC,KAEHC,6EAA8E,YAC9EC,uDAAwD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C,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA2B1kI,EAAEu0D,GAAazhD,EAAE,IAC5C6xH,MAA2B3kI,EAAEmhF,GAAaruE,EAAE,IAC5C8xH,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8BtlI,EAAEugD,GAAWztC,EAAE,IAC7CyyH,QACAC,MAAiC1yH,EAAE,IACnC2yH,QACAC,QACAC,QACAC,QACAC,MAA6B7lI,EAAE0xD,GAAe5+C,EAAE,IAChDgzH,QACAC,MAA2B/lI,EAAEugF,GAAaztE,EAAE,IAC5CkzH,QACAC,QACAC,QACAC,MAAiCnmI,EAAEoyD,GAAmBt/C,EAAE,IACxDszH,MAAsCpmI,EAAEoiD,IACxCikF,QACAC,QACAC,QACAC,QACAC,MAA0CzmI,EAAEwpD,IAC5Ck9E,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,MAA2BxoI,EAAEwiD,IAC7BimF,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAA8BtpI,EAAE+0D,IAChCw0E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,MAAgCjqI,EAAEo0D,IAClC81E,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QAEApnI,GAAgCxD,EAAEusD,IAClC9oD,KACAC,GAA8B1D,EAAE81D,IAChCvsD,GAA8BvJ,EAAE21D,IAChCnsD,GAA8BxJ,EAAE01D,IAChCxqD,GAAkClL,EAAEi2D,IACpC7qD,GAA4BpL,EAAEg2D,IAC9B3qD,KACA5B,GAAyBzJ,EAAE4nD,IAC3Bj+C,MACAW,IAAiCtK,EAAEwiD,IACnC32C,IAAiC7L,EAAEosD,IACnCtg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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 10ac0db..e4de8df 100644 --- a/dist/xlsx.mini.min.js +++ b/dist/xlsx.mini.min.js @@ -1,10 +1,10 @@ /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};function make_xlsx_lib(e){e.version="0.19.3";var r=1200,t=1252;var a;var n=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4];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(n.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[2*t]+(e[2*t+1]<<8));return r.join("")}function d(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 m=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 d(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function Ac(e){return String.fromCharCode(e)};var v=function Ec(e){return String.fromCharCode(e)};function g(e){a=e;o=function(e){r=e;s(e)};m=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,f(e.slice(2)))}return e};p=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};v=function i(e){return a.utils.decode(t,[e])[0]};ia()}var b=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function y(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;for(var c=0;c>2;a=e.charCodeAt(c++);s=(t&3)<<4|a>>4;n=e.charCodeAt(c++);l=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){l=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(l)+k.charAt(o)}return r}function x(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;for(var c=0;c255)t=95;i=t>>2;a=e.charCodeAt(c++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(c++);if(n>255)n=95;l=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){l=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(l)+k.charAt(o)}return r}function S(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;e=e.replace(/^data:([^\/]+\/[^\/]+)?;base64\,/,"").replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4;r+=String.fromCharCode(t);l=k.indexOf(e.charAt(c++));a=(s&15)<<4|l>>2;if(l!==64){r+=String.fromCharCode(a)}o=k.indexOf(e.charAt(c++));n=(l&3)<<6|o;if(o!==64){r+=String.fromCharCode(n)}}return r}var C=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var _=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var A=function(){if(typeof Buffer==="undefined")return false;var e=_([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function E(e){if(C)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function F(e){if(C)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var T=function Fc(e){if(C)return _(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function D(e){if(typeof ArrayBuffer==="undefined")return T(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 O(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=E(65535);a=65530}}r.push(n.slice(0,t));return P(r)}var R=/\u0000/g,L=/[\u0001-\u0006]/g;function B(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function z(e,r){var t=""+e;return t.length>=r?t:_r("0",r-t.length)+t}function W(e,r){var t=""+e;return t.length>=r?t:_r(" ",r-t.length)+t}function U(e,r){var t=""+e;return t.length>=r?t:t+_r(" ",r-t.length)}function j(e,r){var t=""+Math.round(e);return t.length>=r?t:_r("0",r-t.length)+t}function H(e,r){var t=""+e;return t.length>=r?t:_r("0",r-t.length)+t}var V=Math.pow(2,32);function X(e,r){if(e>V||e<-V)return j(e,r);var t=Math.round(e);return H(t,r)}function G(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 Y=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var J=[["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 K(e){if(!e)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"秒 "';return e}var Z={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var Q={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 ee(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 re(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=he(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}var te=new Date(1899,11,31,0,0,0);var ae=te.getTime();var ne=new Date(1900,2,1,0,0,0);function ie(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=ne)t+=24*60*60*1e3;return(t-(ae+(e.getTimezoneOffset()-te.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function se(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function le(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function oe(e){var r=e<0?12:11;var t=se(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function ce(e){var r=se(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function fe(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=oe(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=ce(e);return se(le(t.toUpperCase()))}function ue(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):fe(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return je(14,ie(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function he(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function de(e,r,t,a){var n="",i=0,s=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 J[t.m-1][1];case 5:return J[t.m-1][0];default:return J[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;c=r.length;break;case 3:return Y[t.q][0];default:return Y[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 z(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=z(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.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 f=c>0?z(o,c):"";return f}function me(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 pe=/%/g;function ve(e,r,t){var a=r.replace(pe,""),n=r.length-a.length;return Ie(e,a,t*Math.pow(10,2*n))+_r("%",n)}function ge(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Ie(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function be(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"-"+be(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 we=/# (\?+)( ?)\/( ?)(\d+)/;function ke(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,l=a;return t+(i===0?"":""+i)+" "+(s===0?_r(" ",e[1].length+1+e[4].length):W(s,e[1].length)+e[2]+"/"+e[3]+z(l,e[4].length))}function ye(e,r,t){return t+(r===0?"":""+r)+_r(" ",e[1].length+2+e[4].length)}var xe=/^#*0*\.([0#]+)/;var Se=/\).*[0#]/;var Ce=/\(###\) ###\\?-####/;function _e(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 Ae(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ee(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 Fe(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function Te(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function De(e,r,t){if(e.charCodeAt(0)===40&&!r.match(Se)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return De("n",a,t);return"("+De("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return ge(e,r,t);if(r.indexOf("%")!==-1)return ve(e,r,t);if(r.indexOf("E")!==-1)return be(r,t);if(r.charCodeAt(0)===36)return"$"+De(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,l,o=Math.abs(t),c=t<0?"-":"";if(r.match(/^00+$/))return c+X(o,r.length);if(r.match(/^[#?]+$/)){n=X(t,0);if(n==="0")n="";return n.length>r.length?n:_e(r.substr(0,r.length-n.length))+n}if(i=r.match(we))return ke(i,o,c);if(r.match(/^#+0+$/))return c+X(o,r.length-r.indexOf("0"));if(i=r.match(xe)){n=Ae(t,i[1].length).replace(/^([^\.]+)$/,"$1."+_e(i[1])).replace(/\.$/,"."+_e(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+_r("0",_e(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return c+Ae(o,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return c+me(X(o,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+De(e,r,-t):me(""+(Math.floor(t)+Fe(t,i[1].length)))+"."+z(Ee(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return De(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(De(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Pe("n",a,t);return"("+Pe("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return Oe(e,r,t);if(r.indexOf("%")!==-1)return Me(e,r,t);if(r.indexOf("E")!==-1)return Ne(r,t);if(r.charCodeAt(0)===36)return"$"+Pe(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,l,o=Math.abs(t),c=t<0?"-":"";if(r.match(/^00+$/))return c+z(o,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:_e(r.substr(0,r.length-n.length))+n}if(i=r.match(we))return ye(i,o,c);if(r.match(/^#+0+$/))return c+z(o,r.length-r.indexOf("0"));if(i=r.match(xe)){n=(""+t).replace(/^([^\.]+)$/,"$1."+_e(i[1])).replace(/\.$/,"."+_e(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+_r("0",_e(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return c+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return c+me(""+o);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Pe(e,r,-t):me(""+t)+"."+_r("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Pe(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=B(Pe(e,r.replace(/[\\-]/g,""),t));s=0;return B(B(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-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}function ze(e,r,t,a){var n=[],i="",s=0,l="",o="t",c,f,u;var h="H";while(s=12?e.charAt(s+2):l;p.t="T";h="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(c!=null)p.v=c.H>=12?"PM":"AM";p.t="T";s+=5;h="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(c!=null)p.v=c.H>=12?"下午":"上午";p.t="T";s+=5;h="h"}else{p.t="t";++s}if(c==null&&p.t==="T")return"";n[n.length]=p;o=l;break;case"[":i=l;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Be(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 v=0,g=0,b;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=h;o="h";if(v<1)v=1;break;case"s":if(b=n[s].v.match(/\.0+$/))g=Math.max(g,b[0].length-1);if(v<3)v=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(v<2)v=2}break;case"X":break;case"Z":if(v<1&&n[s].v.match(/[Hh]/))v=1;if(v<2&&n[s].v.match(/[Mm]/))v=2;if(v<3&&n[s].v.match(/[Ss]/))v=3;}}switch(v){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 w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){x=r<0&&w.charCodeAt(0)===45?-r:r;S=Ie("n",w,x)}else{x=r<0&&a>1?-r:r;S=Ie("n",w,x);if(x<0&&n[0]&&n[0].t=="t"){S=S.substr(1);n[0].v="-"+n[0].v}}k=S.length-1;var C=n.length;for(s=0;s-1){C=s;break}var _=n.length;if(C===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(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=S.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=S.substr(0,k+1);k=-1}n[s].t="t";_=s}if(k>=0&&_=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;f=n[s].v.indexOf(".")>-1&&s===C?n[s].v.indexOf(".")-1:n[s].v.length-1;y=n[s].v.substr(f+1);for(;f>=0;--f){if(k>=0&&(n[s].v.charAt(f)==="0"||n[s].v.charAt(f)==="#"))y=S.charAt(k--)+y}n[s].v=y;n[s].t="t";_=s}if(k>=0&&_-1&&s===C?n[s].v.indexOf(".")+1:0;y=n[s].v.substr(0,f);for(;f-1){x=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Ie(n[s].t,n[s].v,x);n[s].t="t"}var A="";for(s=0;s!==n.length;++s)if(n[s]!=null)A+=n[s].v;return A}var $e=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function We(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 Ue(e,r){var t=Re(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(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match($e);var l=t[1].match($e);return We(r,s)?[a,t[0]]:We(r,l)?[a,t[1]]:[a,t[s!=null&&l!=null?2:1]]}return[a,i]}function je(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:Z)[e];if(a==null)a=t.table&&t.table[q[e]]||Z[q[e]];if(a==null)a=Q[e]||"General";break;}if(G(a,0))return ue(r,t);if(r instanceof Date)r=ie(r,t.date1904);var n=Ue(a,r);if(G(n[1]))return ue(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return ze(n[1],r,t,n[0])}function He(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(Z[t]==undefined){if(r<0)r=t;continue}if(Z[t]==e){r=t;break}}if(r<0)r=391}Z[r]=e;return r}function Ve(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)He(e[r],r)}function Xe(){Z=K()}var Ge={format:je,load:He,_table:Z,load_table:Ve,parse_date_code:re,is_date:Be,get_table:function Tc(){return Ge._table=Z}};var Ye={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 Je=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Ke(e){var r=typeof e=="number"?Z[e]:e;r=r.replace(Je,"(\\d+)");return new RegExp("^"+r+"$")}function Ze(e,r,t){var a=-1,n=-1,i=-1,s=-1,l=-1,o=-1;(r.match(Je)||[]).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 qe={"d.m":"d\\.m"};function Qe(e,r){return He(qe[e]||e,r)}var er=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"&&typeof n.subarray=="function"?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],m=n[9];var p=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]^p[e[k++]]^m[e[k++]]^d[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 rr=function Dc(){var e={};e.version="1.2.2";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){ba(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;case 1:{var l=e._R(4),o=e._R(4);s.usz=o*Math.pow(2,32)+l;l=e._R(4);o=e._R(4);s.csz=o*Math.pow(2,32)+l}break;}e.l=i;r[a]=s}return r}var l;function o(){return l||(l=tr)}function c(e,r){if(e[0]==80&&e[1]==75)return Oe(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 m=e.slice(0,512);ba(m,0);var v=f(m);t=v[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(v[1]==0)return Oe(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){m=e.slice(0,a);ba(m,28)}var w=e.slice(0,a);u(m,t);var k=m._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);m.l+=4;s=m._R(4,"i");m.l+=4;m.chk("00100000","Mini Stream Cutoff Size: ");l=m._R(4,"i");n=m._R(4,"i");o=m._R(4,"i");i=m._R(4,"i");for(var y=-1,x=0;x<109;++x){y=m._R(4,"i");if(y<0)break;c[x]=y}var S=h(e,a);p(o,i,S,a,c);var C=g(S,s,c,a);if(s0&&l!==B)C[l].name="!MiniFAT";C[c[0]].name="!FAT";C.fat_addrs=c;C.ssz=a;var _={},A=[],E=[],F=[];b(s,C,S,A,n,_,E,l);d(E,F,A);A.shift();var T={FileIndex:E,FullPaths:F};if(r&&r.raw)T.raw={header:w,sectors:S};return T}function f(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(z,"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=fa(t,s*4)}if(i.length===0)return ka(0);return P(i).slice(0,e.size)}function p(e,r,t,a,n){var i=B;if(e===B){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=1)p(fa(s,a-4),r-1,t,a,n)}}function v(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var l=a-1,o=0,c=0;for(o=r;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=fa(e[f],c)}return{nodes:i,data:zt([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 m=[];for(u=h;u>=0;){m[u]=true;s[u]=true;l[l.length]=u;o.push(e[u]);var p=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[p])break;u=fa(e[p],d);if(m[u])break}i[h]={nodes:l,data:zt([o])}}return i}function b(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!==B)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!==B&&g.start!==B&&r[o]){g.content=m(g,r[o].data,(r[l]||{}).data)}}if(g.content)ba(g.content,0);i[d]=g;s.push(g)}}function w(e,r){return new Date((ca(e,r+4)/1e7*Math.pow(2,32)+ca(e,r)/1e7-11644473600)*1e3)}function k(e,r){o();return c(l.readFileSync(e),r)}function x(e,r){var t=r&&r.type;if(!t){if(C&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return c(T(S(e)),r);case"binary":return c(T(e),r);}return c(e,r)}function A(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;D(e)}function D(e){var r="Sh33tJ5";if(rr.find(e,"/"+r))return;var t=ka(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){A(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;m.size=0;m.type=5}else if(p.slice(-1)=="/"){for(f=l+1;f=h.length?-1:f;for(f=l+1;f=h.length?-1:f;m.type=1}else{if(t(e.FullPaths[l+1]||"")==t(p))m.R=l+1;m.type=2}}}function M(e,r){var t=r||{};if(t.fileType=="mad")return We(e,t);O(e);switch(t.fileType){case"zip":return Ne(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=ka(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:B);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:B);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,U.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;f.start=s;l(c+63>>6)}while(n.l&511)n._W(-4,U.ENDOFCHAIN);for(i=0;i32){console.error("Name "+h+" will be truncated to "+h.slice(0,32));h=h.slice(0,32)}c=2*(h.length+1);n._W(64,h,"utf16le");n._W(2,c);n._W(1,f.type);n._W(1,f.color);n._W(-4,f.L);n._W(-4,f.R);n._W(-4,f.C);if(!f.clsid)for(o=0;o<4;++o)n._W(4,0);else n._W(16,f.clsid,"hex");n._W(4,f.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,f.start);n._W(4,f.size);n._W(4,0)}for(i=1;i=4096){n.l=f.start+1<<9;if(C&&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(C&&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 ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(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 fe(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 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(C){var i=F(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=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=fe(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=he(t,n,re[c+1]>>1)-1;else{he(t,n,3);n+=5;he(t,n,re[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=he(t,n,re[c]>>3);n-=3;var d=c<4?0:c-2>>1;if(d>0){de(t,n,i-f-q[c]);n+=d}for(var m=0;m>8-m;for(var p=(1<<7-m)-1;p>=0;--p)Ce[d|p<>>=3){case 16:i=3+ne(e,r);r+=2;d=v[v.length-1];while(i-- >0)v.push(d);break;case 17:i=3+ie(e,r);r+=3;while(i-- >0)v.push(0);break;case 18:i=11+oe(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=ie(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=Ee(e,t);l=_e;o=Ae}for(;;){if(!r&&s>>1==1?ge[f]:xe[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+=ce(e,t,h);t+=h}f=ce(e,t,o);u=a>>>1==1?be[f]:Se[f];t+=u&15;u>>>=4;var m=u<4?0:u-2>>1;var p=q[u];if(m>0){p+=ce(e,t,m);t+=m}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Te(e,r){var t=e.slice(e.l||0);var a=Fe(t,r);e.l+=a[1];return a[0]}function De(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Oe(e,r){var t=e;ba(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};A(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};A(f);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: "+Ie(l,s));n.push("");n.push(p?Le(f):Re(f))}n.push(a+"--\r\n");return n.join("\r\n")}function Ue(e){var r={};A(r,e);return r}function je(e,r,t,n){var i=n&&n.unsafe;if(!i)A(e);var s=!i&&rr.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)rr.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 He(e,r){A(e);var t=rr.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 wr=new Date("2017-02-19T19:06:09.000Z");var kr=isNaN(wr.getFullYear())?new Date("2/19/17"):wr;var yr=kr.getFullYear()==2017;function xr(e,r){var t=new Date(e);if(yr){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(kr.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 Sr(e,r){if(C&&Buffer.isBuffer(e)){if(r&&A){if(e[0]==255&&e[1]==254)return bt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return bt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return bt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return bt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[];for(var i=0;i!=e.length;++i)n.push(String.fromCharCode(e[i]));return n.join("")}function Cr(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]=Cr(e[t]);return r}function _r(e,r){var t="";while(t.length3&&Tr.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\]/))return i;return n}var Or=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var l=1;l\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Gr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Yr=/<[^>]*>/g;var Jr=Vr.match(Gr)?Gr:Yr;var Kr=/<\w*:/,Zr=/<(\/?)\w+:/;function qr(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(Xr),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 Qr(e){return e.replace(Zr,"<$1")}var et={""":'"',"'":"'",">":">","<":"<","&":"&"};var rt=cr(et);var tt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;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))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var at=/[&<>'"]/g,nt=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function it(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(nt,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function st(e){return it(e).replace(/ /g,"_x0020_")}var lt=/[\u0000-\u001f]/g;function ot(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(/\n/g,"
").replace(lt,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function ct(e){var r=e+"";return r.replace(at,function(e){return rt[e]}).replace(lt,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var ft=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 ut(e){return e.replace(/(\r\n|[\r\n])/g," ")}function ht(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function dt(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}function mt(e){var r=E(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")}function pt(e){return _(e,"binary").toString("utf8")}var vt="foo bar baz☃🍣";var gt=C&&(pt(vt)==dt(vt)&&pt||mt(vt)==dt(vt)&&mt)||dt;var bt=C?function(e){return _(e,"utf8").toString("binary")}: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("")};var wt=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 kt=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 xt=/<\/?(?:vt:)?variant>/g,St=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function Et(e){return lr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function Ft(e,r,t){return"<"+e+(t!=null?Et(t):"")+(r!=null?(r.match(_t)?' xml:space="preserve"':"")+">"+r+""}function Tt(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function Dt(e,r){switch(typeof e){case"string":var t=Ft("vt:lpwstr",it(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return Ft((e|0)==e?"vt:i4":"vt:r8",it(String(e)));case"boolean":return Ft("vt:bool",e?"true":"false");}if(e instanceof Date)return Ft("vt:filetime",Tt(e));throw new Error("Unable to serialize "+e)}function Ot(e){if(C&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return gt(O(N(e)));throw new Error("Bad input format: expected Buffer or string")}var Mt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/](?:[^>=]|="[^"]*?")*)?>/gm;var Nt={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 Pt=["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 It={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 Rt(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 Lt(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 Bt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:_(e)})):Bt(e)}:Bt;var $t=function(e,r,t){var a=[];for(var n=r;n0?Vt(e,r+4,r+4+t-1):""};var Gt=Xt;var Yt=function(e,r){var t=ca(e,r);return t>0?Vt(e,r+4,r+4+t-1):""};var Jt=Yt;var Kt=function(e,r){var t=2*ca(e,r);return t>0?Vt(e,r+4,r+4+t-1):""};var Zt=Kt;var qt=function Mc(e,r){var t=ca(e,r);return t>0?Wt(e,r+4,r+4+t):""};var Qt=qt;var ea=function(e,r){var t=ca(e,r);return t>0?Vt(e,r+4,r+4+t):""};var ra=ea;var ta=function(e,r){return Rt(e,r)};var aa=ta;var na=function Nc(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(C){Gt=function Pc(e,r){if(!Buffer.isBuffer(e))return Xt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Jt=function Ic(e,r){if(!Buffer.isBuffer(e))return Yt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Zt=function Rc(e,r){if(!Buffer.isBuffer(e)||!A)return Kt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Qt=function Lc(e,r){if(!Buffer.isBuffer(e)||!A)return qt(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};ra=function Bc(e,r){if(!Buffer.isBuffer(e))return ea(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};aa=function zc(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return ta(e,r)};na=function $c(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function ia(){Wt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(R,"")};Vt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Gt=function(e,r){var n=ca(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Jt=function(e,t){var n=ca(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Zt=function(e,r){var t=2*ca(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Qt=function(e,r){var t=ca(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};ra=function(e,r){var t=ca(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")ia();var sa=function(e,r){return e[r]};var la=function(e,r){return e[r+1]*(1<<8)+e[r]};var oa=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ca=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var fa=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var ua=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function ha(e,t){var n="",i,s,l=[],o,c,f,u;switch(t){case"dbcs":u=this.l;if(C&&Buffer.isBuffer(this)&&A)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(f=0;f0?fa:ua)(this,this.l);this.l+=4;return i}else{s=ca(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=aa(this,this.l);else s=aa([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=jt(this,this.l,e);break;};}this.l+=e;return n}var da=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 ma=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 pa=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function va(e,n,i){var s=0,l=0;if(i==="dbcs"){for(l=0;l!=n.length;++l)pa(this,n.charCodeAt(l),this.l+2*l);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(l=0;l!=n.length;++l){var o=a.utils.encode(t,n.charAt(l));this[this.l+l]=o[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){o=a.utils.encode(r,n);if(o.length==n.length)for(l=0;l>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8;this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;da(this,n,this.l);break;case 8:s=8;if(i==="f"){Lt(this,n,this.l);break};case 16:break;case-4:s=4;ma(this,n,this.l);break;}this.l+=s;return this}function ga(e,r){var t=jt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ba(e,r){e.l=r;e._R=ha;e.chk=ga;e._W=va}function wa(e,r){e.l+=r}function ka(e){var r=E(e);ba(r,0);return r}function ya(e,r,t){if(!e)return;var a,n,i;ba(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&&na(t))e.push(t)}function Ca(e,r,t){var a=Cr(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 _a(e,r,t){var a=Cr(e);a.s=Ca(a.s,r.s,t);a.e=Ca(a.e,r.s,t);return a}function Aa(e,r){if(e.cRel&&e.c<0){e=Cr(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=Cr(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=Ba(e);if(!e.cRel&&e.cRel!=null)t=Pa(t);if(!e.rRel&&e.rRel!=null)t=Da(t);return t}function Ea(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?"":"$")+Na(e.s.c)+":"+(e.e.cRel?"":"$")+Na(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?"":"$")+Ta(e.s.r)+":"+(e.e.rRel?"":"$")+Ta(e.e.r)}}return Aa(e.s,r.biff)+":"+Aa(e.e,r.biff)}function Fa(e){return parseInt(Oa(e),10)-1}function Ta(e){return""+(e+1)}function Da(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Oa(e){return e.replace(/\$(\d+)$/,"$1")}function Ma(e){var r=Ia(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function Na(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 Pa(e){return e.replace(/^([A-Z])/,"$$$1")}function Ia(e){return e.replace(/^\$([A-Z])/,"$1")}function Ra(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function La(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 Ba(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 za(e){var r=e.indexOf(":");if(r==-1)return{s:La(e),e:La(e)};return{s:La(e.slice(0,r)),e:La(e.slice(r+1))}}function $a(e,r){if(typeof r==="undefined"||typeof r==="number"){return $a(e.s,e.e)}if(typeof e!=="string")e=Ba(e);if(typeof r!=="string")r=Ba(r);return e==r?e:e+":"+r}function Wa(e){var r=za(e);return"$"+Na(r.s.c)+"$"+Ta(r.s.r)+":$"+Na(r.e.c)+"$"+Ta(r.e.r)}function Ua(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function ja(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 Ha(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=je(e.z,t?dr(r):r)}catch(a){}try{return e.w=je((e.XF||{}).numFmtId||(t?14:0),t?dr(r):r)}catch(a){return""+r}}function Va(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 vn[e.v]||e.v;if(r==undefined)return Ha(e,e.v);return Ha(e,r)}function Xa(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ga(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=e||{};if(n&&!i["!data"])i["!data"]=[];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"?La(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=ja(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}var u=[];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");var d=s+h,m=""+(d+1);if(n){if(!i["!data"][d])i["!data"][d]=[];u=i["!data"][d]}for(var p=0;p!=r[h].length;++p){if(typeof r[h][p]==="undefined")continue;var v={v:r[h][p]};var g=l+p;if(c.s.r>d)c.s.r=d;if(c.s.c>g)c.s.c=g;if(c.e.r>16&255,e>>8&255,e&255]})}var mn=dn([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,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var pn=Cr(mn);var vn={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var gn={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var bn=["_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"];var wn={"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 kn={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 yn(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function xn(e){var r=yn();if(!e||!e.match)return r;var t={};(e.match(Jr)||[]).forEach(function(e){var a=qr(e);switch(a[0].replace(Kr,"<")){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}function Sn(e,r,t){var a=ur(wn);var n=[],i;if(!t){n[n.length]=Vr;n[n.length]=Ft("Types",null,{xmlns:Nt.CT,"xmlns:xsd":Nt.xsd,"xmlns:xsi":Nt.xsi});n=n.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 Ft("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=Ft("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:kn[t][r.bookType]||kn[t]["xlsx"]})}};var l=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Ft("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:kn[t][r.bookType]||kn[t]["xlsx"]})})};var o=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Ft("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");l("sheets");l("charts");o("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(o);o("vba");o("comments");o("threadedcomments");o("drawings");l("metadata");o("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var Cn={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",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function _n(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function An(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Jr)||[]).forEach(function(e){var n=qr(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Fn(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([Cn.HLINK,Cn.XPATH,Cn.XMISS].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 Tn="application/vnd.oasis.opendocument.spreadsheet";function Dn(e,r){var t=Ot(e);var a;var n;while(a=Mt.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=qr(a[0],false);if(n.path=="/"&&n.type!==Tn)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 On(e){var r=[Vr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function Mn(e,r,t){return[' \n',' \n'," \n"].join("")}function Nn(e,r){return[' \n',' \n'," \n"].join("")}function Pn(e){var r=[Vr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(Mn(e[t][0],e[t][1]));r.push(Nn("",e[t][0]))}r.push(Mn("","Document","pkg"));r.push("");return r.join("")}function In(r,t){return'SheetJS '+e.version+""}var Rn=[["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 Ln=function(){var e=new Array(Rn.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function Bn(e){var r={};e=gt(e);for(var t=0;t0)r[a[1]]=tt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=xr(r[a[1]])}return r}function zn(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=it(r);a[a.length]=t?Ft(e,r,t):At(e,r)}function $n(e,r){var t=r||{};var a=[Vr,Ft("cp:coreProperties",null,{"xmlns:cp":Nt.CORE_PROPS,"xmlns:dc":Nt.dc,"xmlns:dcterms":Nt.dcterms,"xmlns:dcmitype":Nt.dcmitype,"xmlns:xsi":Nt.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)zn("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Tt(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)zn("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Tt(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=Rn.length;++i){var s=Rn[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)zn(s[0],l,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Wn=[["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 Un=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function jn(e,r,t,a){var n=[];if(typeof e=="string")n=Ct(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 Hn(e,r,t){var a={};if(!r)r={};e=gt(e);Wn.forEach(function(t){var n=(e.match(wt(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=tt(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)jn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function Vn(e){var r=[],t=Ft;if(!e)e={};e.Application="SheetJS";r[r.length]=Vr;r[r.length]=Ft("Properties",null,{xmlns:Nt.EXT_PROPS,"xmlns:vt":Nt.vt});Wn.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=it(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""+it(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Xn=/<[^>]+>[^<]*/g;function Gn(e,r){var t={},a="";var n=e.match(Xn);if(n)for(var i=0;i!=n.length;++i){var s=n[i],l=qr(s);switch(Qr(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]=tt(f);break;case"bool":t[a]=ht(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]=xr(f);break;case"cy":;case"error":t[a]=tt(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 Jn=[2,3,48,49,131,139,140,245];var Kn=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 n=cr({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 i(r,t){var n=[];var i=E(1);switch(t.type){case"base64":i=T(S(r));break;case"binary":i=T(r);break;case"buffer":;case"array":i=r;break;}ba(i,0);var s=i._R(1);var l=!!(s&136);var o=false,c=false;switch(s){case 2:break;case 3:break;case 48:o=true;l=true;break;case 49:o=true;l=true;break;case 131:break;case 139:break;case 140:c=true;break;case 245:break;default:throw new Error("DBF Unsupported Version: "+s.toString(16));}var f=0,u=521;if(s==2)f=i._R(2);i.l+=3;if(s!=2)f=i._R(4);if(f>1048576)f=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(c)i.l+=36;var m=[],p={};var v=Math.min(i.length,s==2?521:u-10-(o?264:0));var g=c?32:11;while(i.l0){if(i[i.l]===42){i.l+=h;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=m.length;++w){var k=i.slice(i.l,i.l+m[w].len);i.l+=m[w].len;ba(k,0);var y=typeof a!=="undefined"?a.utils.decode(d,k):O(k);switch(m[w].type){case"C":if(y.trim().length)n[b][w]=y.replace(/\s+$/,"");break;case"D":if(y.length===8)n[b][w]=new Date(+y.slice(0,4),+y.slice(4,6)-1,+y.slice(6,8));else n[b][w]=y;break;case"F":n[b][w]=parseFloat(y.trim());break;case"+":;case"I":n[b][w]=c?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(y.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+y+"|");}break;case"M":if(!l)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(c?parseInt(y.trim(),10):k._R(4));break;case"N":y=y.replace(/\u0000/g,"").trim();if(y&&y!=".")n[b][w]=+y||0;break;case"@":n[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":n[b][w]=new Date((k._R(4)-2440588)*864e5+k._R(4));break;case"Y":n[b][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-k._R(-8,"f");break;case"B":if(o&&m[w].len==8){n[b][w]=k._R(8,"f");break};case"G":;case"P":k.l+=m[w].len;break;case"0":if(m[w].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+m[w].type);}}}if(s!=2)if(i.l=0)o(+l.codepage);if(l.type=="string")throw new Error("Cannot write DBF to JS string");var u=xa();var h=ic(i,{header:1,raw:true,cellDates:true});var d=h[0],m=h.slice(1),p=i["!cols"]||[];var v=0,g=0,b=0,w=1;for(v=0;v250)A=250;_=((p[v]||{}).DBF||{}).type;if(_=="C"){if(p[v].DBF.len>A)A=p[v].DBF.len}if(C=="B"&&_=="N"){C="N";S[v]=p[v].DBF.dec;A=p[v].DBF.len}x[v]=C=="C"||_=="N"?A:c[C]||0;w+=x[v];y[v]=C}var F=u.next(32);F._W(4,318902576);F._W(4,m.length);F._W(2,296+32*b);F._W(2,w);for(v=0;v<4;++v)F._W(4,0);var T=+n[r]||3;F._W(4,0|T<<8);if(e[T]!=+l.codepage){if(l.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(v=0,g=0;vx[g])P=P.slice(0,x[g]);for(b=0;b":190,"?":191,"{":223};var r=new RegExp("N("+lr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?v(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:v(a)};e["|"]=254;function i(e,r){switch(r.type){case"base64":return s(S(e),r);case"binary":return s(e,r);case"buffer":return s(C&&Buffer.isBuffer(e)?e.toString("binary"):O(e),r);case"array":return s(Sr(e),r);}throw new Error("Unrecognized type "+r.type)}function s(e,i){var s=e.split(/[\n\r]+/),l=-1,c=-1,f=0,u=0,h=[];var d=[];var m=null;var p={},v=[],g=[],b=[];var w=0,k;var y={Workbook:{WBProps:{},Names:[]}};if(+i.codepage>=0)o(+i.codepage);for(;f!==s.length;++f){w=0;var x=s[f].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var S=x.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var C=S[0],_;if(x.length>0)switch(C){case"ID":break;case"E":break;case"B":break;case"O":for(u=1;u=1&&A<=4)y.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(S[1].charAt(0)){case"P":d.push(x.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var E={Sheet:0};for(u=1;u-1&&h[M][N];if(!R||!R[1])throw new Error("SYLK shared formula cannot find base");P=Fs(R[1],{r:l-M,c:c-N})}if(P){if(!h[l][c])h[l][c]={t:"n",f:P};else h[l][c].f=P}break;case"F":var L=0;for(u=1;u0){v[l].hpt=w;v[l].hpx=Ni(w)}else if(w===0)v[l].hidden=true; -break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+x);}if(L<1)m=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+x);}}if(v.length>0)p["!rows"]=v;if(g.length>0)p["!cols"]=g;g.forEach(function(e){Ti(e)});if(i&&i.sheetRows)h=h.slice(0,i.sheetRows);return[h,p,y]}function l(e,r){var t=i(e,r);var a=t[0],n=t[1],s=t[2];var l=Cr(r);l.date1904=(((s||{}).Workbook||{}).WBProps||{}).date1904;var o=Ya(a,l);lr(n).forEach(function(e){o[e]=n[e]});var c=Xa(o,r);lr(s).forEach(function(e){c[e]=s[e]});c.bookType="sylk";return c}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"+Es(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==null?"":String(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=Ci(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=_i(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*Mi(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function h(e,r,t){var a=["ID;PSheetJS;N;E"],n=[];var i=ja(e["!ref"]),s;var l=e["!data"]!=null;var o="\r\n";var h=(((t||{}).Workbook||{}).WBProps||{}).date1904;a.push("P;PGeneral");a.push("F;P0;DG0G8;M255");if(e["!cols"])f(a,e["!cols"]);if(e["!rows"])u(a,e["!rows"]);a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(h?";V4":"")+";K47;G100 0.001");for(var d=i.s.r;d<=i.e.r;++d){if(l&&!e["!data"][d])continue;var m=[];for(var p=i.s.c;p<=i.e.c;++p){s=l?e["!data"][d][p]:e[Na(p)+Ta(d)];if(!s||s.v==null&&(!s.f||s.F))continue;m.push(c(s,e,d,p,r))}n.push(m.join(o))}return a.join(o)+o+n.join(o)+o+"E"+o}return{to_workbook:l,from_sheet:h}}();var qn=function(){function e(e,t){switch(t.type){case"base64":return r(S(e),t);case"binary":return r(e,t);case"buffer":return r(C&&Buffer.isBuffer(e)?e.toString("binary"):O(e),t);case"array":return r(Sr(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 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"]=$a(s);return n}function l(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 Ya(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:No(e,r);switch(r.type){case"base64":t=S(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=C&&Buffer.isBuffer(e)?e.toString("binary"):O(e);break;case"array":t=Sr(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=gt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=gt(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 Qn.to_sheet(r.type=="string"?t:gt(t),r);return l(t,r)}function c(e,r){return Xa(o(e,r),r)}function f(e){var r=[];var t=ja(e["!ref"]),a;var n=e["!data"]!=null;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=Ba({r:i,c:l});a=n?(e["!data"][i]||[])[l]:e[o];if(!a||a.v==null){s.push(" ");continue}var c=(a.w||(Va(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:c,to_sheet:o,from_sheet:f}}();function ri(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Zn.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 ei.to_workbook(e,r)}}function ti(e){var r={},t=e.match(Jr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=qr(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 ai=function(){var e=wt("t"),r=wt("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:tt(a[1])};var i=t.match(r);if(i)n.s=ti(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 ni=function Wc(){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 ii=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,si=/<(?:\w+:)?r\b[^>]*>/;var li=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function oi(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=tt(gt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=gt(e);if(t)a.h=ot(a.t)}else if(e.match(si)){a.r=gt(e);a.t=tt(gt((e.replace(li,"").match(ii)||[]).join("").replace(Jr,"")),true);if(t)a.h=ni(ai(a.r))}return a}var ci=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var fi=/<(?:\w+:)?(?:si|sstItem)>/g;var ui=/<\/(?:\w+:)?(?:si|sstItem)>/;function hi(e,r){var t=[],a="";if(!e)return t;var n=e.match(ci);if(n){a=n[2].replace(fi,"").split(ui);for(var i=0;i!=a.length;++i){var s=oi(a[i].trim(),r);if(s!=null)t[t.length]=s}n=qr(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var di=/^\s|\s$|[\t\n\r]/;function mi(e,r){if(!r.bookSST)return"";var t=[Vr];t[t.length]=Ft("sst",null,{xmlns:Pt[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 pi(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 vi(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 gi(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 bi(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 wi(e,r){if(r===0)return e;var t=gi(pi(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return vi(bi(t))}var ki=6,yi=15,xi=1,Si=ki;function Ci(e){return Math.floor((e+Math.round(128/Si)/256)*Si)}function _i(e){return Math.floor((e-5)/Si*100+.5)/100}function Ai(e){return Math.round((e*Si+5)/Si*256)/256}function Ei(e){return Ai(_i(Ci(e)))}function Fi(e){var r=Math.abs(e-Ei(e)),t=Si;if(r>.005)for(Si=xi;Si":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=ht(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=ht(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 Ri(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Jr)||[]).forEach(function(e){var t=qr(e);switch(Qr(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 Li(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Jr)||[]).forEach(function(e){var l=qr(e);switch(Qr(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 Bi(e,r,t){r.NumberFmt=[];var a=lr(Z);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}Qe(l,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function zi(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]=Ft("numFmt",null,{numFmtId:a,formatCode:it(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=Ft("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var $i=["numFmtId","fillId","fontId","borderId","xfId"];var Wi=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Ui(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Jr)||[]).forEach(function(e){var i=qr(e),s=0;switch(Qr(i[0])){case"":;case"":;case"":break;case"":a=i;delete a[0];for(s=0;s<$i.length;++s)if(a[$i[s]])a[$i[s]]=parseInt(a[$i[s]],10);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=ht(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 ji(e){var r=[];r[r.length]=Ft("cellXfs",null);e.forEach(function(e){r[r.length]=Ft("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=Ft("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Hi=function Uc(){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))Bi(f,c,o);if(f=s.match(a))Li(f,c,l,o);if(f=s.match(t))Ri(f,c,l,o);if(f=s.match(n))Ii(f,c,l,o);if(f=s.match(r))Ui(f,c,o);return c}}();function Vi(e,r){var t=[Vr,Ft("styleSheet",null,{xmlns:Pt[0],"xmlns:vt":Nt.vt})],a;if(e.SSF&&(a=zi(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=ji(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 Xi=["","","","","","","","","","","",""];function Gi(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Jr)||[]).forEach(function(e){var n=qr(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[Xi.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 Yi(){}function Ji(){}var Ki=/]*)>[\s\S]*<\/a:clrScheme>/;var Zi=/]*)>[\s\S]*<\/a:fontScheme>/;var qi=/]*)>[\s\S]*<\/a:fmtScheme>/;function Qi(e,r,t){r.themeElements={};var a;[["clrScheme",Ki,Gi],["fontScheme",Zi,Yi],["fmtScheme",qi,Ji]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var es=/]*)>[\s\S]*<\/a:themeElements>/;function rs(e,r){if(!e||e.length===0)e=ts();var t;var a={};if(!(t=e.match(es)))throw new Error("themeElements not found in theme");Qi(t[0],a,r);a.raw=e;return a}function ts(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Vr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; -t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";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 as(e,r,t){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n=false;var i=2;var s;e.replace(Jr,function(e){var r=qr(e);switch(Qr(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;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function is(){}function ss(e,r,t,a){if(!e)return e;var n=a||{};var i=false,s=false;ya(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 ls(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}function os(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[Ft("xml",null,{"xmlns:v":It.v,"xmlns:o":It.o,"xmlns:x":It.x,"xmlns:mv":It.mv}).replace(/\/>/,">"),Ft("o:shapelayout",Ft("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var i=65536*e;var s=r||[];if(s.length>0)n.push(Ft("v:shapetype",[Ft("v:stroke",null,{joinstyle:"miter"}),Ft("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:t.join(","),"o:spt":202,path:a}));s.forEach(function(e){++i;n.push(cs(e,i))});n.push("");return n.join("")}function cs(e,r){var t=La(e[0]);var a={color2:"#BEFF82",type:"gradient"};if(a.type=="gradient")a.angle="-180";var n=a.type=="gradient"?Ft("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var i=Ft("v:fill",n,a);var s={on:"t",obscured:"t"};return["",i,Ft("v:shadow",null,s),Ft("v:path",null,{"o:connecttype":"none"}),'
','',"","",At("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),At("x:AutoFill","False"),At("x:Row",String(t.r)),At("x:Column",String(t.c)),e[1].hidden?"":"","",""].join("")}function fs(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=La(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var l=ja(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=qr(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var l=La(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]&&oi(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 hs(e){var r=[Vr,Ft("comments",null,{xmlns:Pt[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=it(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=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(it(e.a));if(e.T)++i;n.push(e.t==null?"":it(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(At("t",a.t==null?"":it(a.t)));r.push("")})}else{r.push('');var s="Comment:\n "+n[0]+"\n";for(var l=1;l")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ds(e,r){var t=[];var a=false,n={},i=0;e.replace(Jr,function s(l,o){var c=qr(l);switch(Qr(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 ms(e,r,t){var a=[Vr,Ft("ThreadedComments",null,{xmlns:Nt.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(Ft("threadedComment",At("text",i.t||""),l))})});a.push("");return a.join("")}function ps(e,r){var t=[];var a=false;e.replace(Jr,function n(e){var n=qr(e);switch(Qr(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 vs(e){var r=[Vr,Ft("personList",null,{xmlns:Nt.TCMNT,"xmlns:x":Pt[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(Ft("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}var gs="application/vnd.ms-office.vbaProject";function bs(e){var r=rr.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*/,"");rr.utils.cfb_add(r,n,e.FileIndex[a].content)});return rr.write(r)}function ws(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")rr.utils.cfb_add(e,n,r.FileIndex[a].content)})}var ks=["xlsb","xlsm","xlam","biff8","xla"];function ys(){return{"!type":"dialog"}}function xs(){return{"!type":"dialog"}}function Ss(){return{"!type":"macro"}}function Cs(){return{"!type":"macro"}}var _s=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?"":"$")+Na(o)+(s?"":"$")+Ta(l)}return function a(n,i){r=i;return n.replace(e,t)}}();var As=/(^|[^._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 Es=function(){return function e(r,t){return r.replace(As,function(e,r,a,n,i,s){var l=Ma(n)-(a?0:t.c);var o=Fa(s)-(i?0:t.r);var c=i=="$"?o+1:o==0?"":"["+o+"]";var f=a=="$"?l+1:l==0?"":"["+l+"]";return r+"R"+c+"C"+f})}}();function Fs(e,r){return e.replace(As,function(e,t,a,n,i,s){return t+(a=="$"?a+n:Na(Ma(n)+r.c))+(i=="$"?i+s:Ta(Fa(s)+r.r))})}function Ts(e,r,t){var a=za(r),n=a.s,i=La(t);var s={r:i.r-n.r,c:i.c-n.c};return Fs(e,s)}function Ds(e){if(e.length==1)return false;return true}function Os(e){return e.replace(/_xlfn\./g,"")}function Ms(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(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function Ns(e){var r="of:="+e.replace(As,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function Ps(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});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 Is(e){return e.replace(/!/,".")}var Rs={};var Ls={};var Bs=typeof Map!=="undefined";function zs(e,r,t){var a=0,n=e.length;if(t){if(Bs?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Bs?t.get(r):t[r];for(;a-1){t.width=Ai(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 Ws(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 Us(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){Qe(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 js(e,r,t,a,n,i){try{if(a.cellNF)e.z=Z[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=xr(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(Z[r]==null)Qe(Ye[r]||"General",r);if(e.t==="e")e.w=e.w||vn[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=fe(e.v)}else if(e.t==="d"){var l=dr(e.v);if((l|0)===l)e.w=l.toString(10);else e.w=fe(l)}else if(e.v===undefined)return"";else e.w=ue(e.v,Ls)}else if(e.t==="d")e.w=je(r,dr(e.v),Ls);else e.w=je(r,e.v,Ls)}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=wi(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=wi(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 Hs(e,r,t){if(e&&e["!ref"]){var a=ja(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=$a(t)}var Xs=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Gs=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Ys=/<(?:\w:)?hyperlink [^>]*>/gm;var Js=/"(\w*:\w*)"/;var Ks=/<(?:\w:)?col\b[^>]*[\/]?>/g;var Zs=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var qs=/<(?:\w:)?pageMargins[^>]*\/>/g;var Qs=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var el=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var rl=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function tl(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(b!=null&&r.dense==null)r.dense=b;var l={};if(r.dense)l["!data"]=[];var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var c="",f="";var u=e.match(Gs);if(u){c=e.slice(0,u.index);f=e.slice(u.index+u[0].length)}else c=f=e;var h=c.match(Qs);if(h)nl(h[0],l,n,t);else if(h=c.match(el))il(h[0],h[1]||"",l,n,t,s,i);var d=(c.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var m=c.slice(d,d+50).match(Js);if(m&&!(r&&r.nodim))Vs(l,m[1])}var p=c.match(rl);if(p&&p[1])bl(p[1],n);var v=[];if(r.cellStyles){var g=c.match(Ks);if(g)dl(v,g)}if(u)yl(u[1],l,r,o,i,s);var w=f.match(Zs);if(w)l["!autofilter"]=pl(w[0]);var k=[];var y=f.match(Xs);if(y)for(d=0;d!=y.length;++d)k[d]=ja(y[d].slice(y[d].indexOf('"')+1));var x=f.match(Ys);if(x)fl(l,x,a);var S=f.match(qs);if(S)l["!margins"]=ul(qr(S[0]));if(r&&r.nodim)o.s.c=o.s.r=0;if(!l["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)l["!ref"]=$a(o);if(r.sheetRows>0&&l["!ref"]){var C=ja(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"]=v;if(k.length>0)l["!merges"]=k;return l}function al(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function nl(e,r,t,a){var n=qr(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=tt(gt(n.codeName))}function il(e,r,t,a,n){nl(e.slice(0,e.indexOf(">")),t,a,n)}function sl(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=bt(it(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||"")+Ft("outlinePr",null,f)}if(!i&&!l)return;n[n.length]=Ft("sheetPr",l,s)}var ll=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var ol=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function cl(e){var r={sheet:1};ll.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});ol.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 Ft("sheetProtection",null,r)}function fl(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=qr(gt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+tt(i.location)}else{i.Target="#"+tt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var l=ja(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=Na(c)+Ta(o);if(a){if(!e["!data"][o])e["!data"][o]=[];if(!e["!data"][o][c])e["!data"][o][c]={t:"z",v:undefined};e["!data"][o][c].l=i}else{if(!e[f])e[f]={t:"z",v:undefined};e[f].l=i}}}}function ul(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function hl(e){Ws(e);return Ft("pageMargins",null,e)}function dl(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=qr(r[a],true);if(n.hidden)n.hidden=ht(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;Fi(n.width)}Ti(n);while(i<=s)e[i++]=Cr(n)}}function ml(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=Ft("col",null,$s(n,a))}t[t.length]="";return t.join("")}function pl(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function vl(e,r,t,a){var n=typeof e.ref=="string"?e.ref:$a(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=za(n);if(s.s.r==s.e.r){s.e.r=za(r["!ref"]).e.r;n=$a(s)}for(var l=0;la-z][^>]*)?\/?>/g;function bl(e,r){if(!r.Views)r.Views=[{}];(e.match(gl)||[]).forEach(function(e,t){var a=qr(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&ht(a.rightToLeft))r.Views[t].RTL=true})}function wl(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return Ft("sheetViews",Ft("sheetView",null,n),{})}function kl(e,r,t,a){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")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=vn[e.v];break;case"d":if(a&&a.cellDates)n=xr(e.v,-1).toISOString();else{e=Cr(e);e.t="n";n=""+(e.v=dr(xr(e.v)))}if(typeof e.z==="undefined")e.z=Z[14];break;default:n=e.v;break;}var l=e.t=="z"||e.v==null?"":At("v",it(n)),o={r:r};var c=Us(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=At("v",""+zs(a.Strings,e.v,a.revStrings));o.t="s";break}else 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=Ft("f",it(e.f),f)+(e.v!=null?l:"")}if(e.l){e.l.display=it(n);t["!links"].push([r,e.l])}if(e.D)o.cm=1;return Ft("c",l,o)}var yl=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=wt("v"),s=wt("f");return function l(o,c,f,u,h,d){var m=0,p="",v=[],g=[],b=0,w=0,k=0,y="",x;var S,C=0,_=0;var A,E;var F=0,T=0;var D=Array.isArray(d.CellXf),O;var M=[];var N=[];var P=c["!data"]!=null;var I=[],R={},L=false;var B=!!f.sheetStubs;for(var z=o.split(r),$=0,W=z.length;$!=W;++$){p=z[$].trim();var U=p.length;if(U===0)continue;var j=0;e:for(m=0;m":if(p[m-1]!="/"){++m;break e}if(f&&f.cellStyles){S=qr(p.slice(j,m),true);C=S.r!=null?parseInt(S.r,10):C+1;_=-1;if(f.sheetRows&&f.sheetRows=m)break;S=qr(p.slice(j,m),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":"")+p;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!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;S=qr(p.slice(0,w),true);if(!S.r)S.r=Ba({r:C-1,c:_});y=p.slice(w);x={t:""};if((g=y.match(i))!=null&&g[1]!=="")x.v=tt(g[1]);if(f.cellFormula){if((g=y.match(s))!=null&&g[1]!==""){x.f=tt(gt(g[1]),true);if(!f.xlfn)x.f=Os(x.f);if(g[0].indexOf('t="array"')>-1){x.F=(y.match(n)||[])[1];if(x.F.indexOf(":")>-1)M.push([ja(x.F),x.F])}else if(g[0].indexOf('t="shared"')>-1){E=qr(g[0]);var V=tt(gt(g[1]));if(!f.xlfn)V=Os(V);N[parseInt(E.si,10)]=[E,V,S.r]}}else if(g=y.match(/]*\/>/)){E=qr(g[0]);if(N[E.si])x.f=Ts(N[E.si][1],N[E.si][2],S.r)}var X=La(S.r);for(w=0;w=M[w][0].s.r&&X.r<=M[w][0].e.r)if(X.c>=M[w][0].s.c&&X.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(!B)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(!B)continue;x.t="z"}else x.v=parseFloat(x.v);break;case"s":if(typeof x.v=="undefined"){if(!B)continue;x.t="z"}else{A=Rs[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?tt(gt(x.v),true):"";if(f.cellHTML)x.h=ot(x.v);break;case"inlineStr":g=y.match(a);x.t="s";if(g!=null&&(A=oi(g[1]))){x.v=A.t;if(f.cellHTML)x.h=A.h}else x.v="";break;case"b":x.v=ht(x.v);break;case"d":if(f.cellDates)x.v=xr(x.v,1);else{x.v=dr(xr(x.v,1));x.t="n"}break;case"e":if(!f||f.cellText!==false)x.w=x.v;x.v=gn[x.v];break;}F=T=0;O=null;if(D&&S.s!==undefined){O=d.CellXf[S.s];if(O!=null){if(O.numFmtId!=null)F=O.numFmtId;if(f.cellStyles){if(O.fillId!=null)T=O.fillId}}}js(x,F,T,f,h,d);if(f.cellDates&&D&&x.t=="n"&&Be(Z[F])){x.t="d";x.v=gr(x.v)}if(S.cm&&f.xlmeta){var G=(f.xlmeta.Cell||[])[+S.cm-1];if(G&&G.type=="XLDAPR")x.D=true}var Y;if(f.nodim){Y=La(S.r);if(u.s.r>Y.r)u.s.r=Y.r;if(u.e.r0)c["!rows"]=I}}();function xl(e,r,t,a){var n=[],i=[],s=ja(e["!ref"]),l="",o,c="",f=[],u=0,h=0,d=e["!rows"];var m=e["!data"]!=null;var p={r:c},v,g=-1;for(h=s.s.c;h<=s.e.c;++h)f[h]=Na(h);for(u=s.s.r;u<=s.e.r;++u){i=[];c=Ta(u);for(h=s.s.c;h<=s.e.c;++h){o=f[h]+c;var b=m?(e["!data"][u]||[])[h]:e[o];if(b===undefined)continue;if((l=kl(b,o,e,r,t,a))!=null)i.push(l)}if(i.length>0||d&&d[u]){p={r:c};if(d&&d[u]){v=d[u];if(v.hidden)p.hidden=1;g=-1;if(v.hpx)g=Mi(v.hpx);else if(v.hpt)g=v.hpt;if(g>-1){p.ht=g;p.customHeight=1}if(v.level){p.outlineLevel=v.level}}n[n.length]=Ft("row",i.join(""),p)}}if(d)for(;u-1){p.ht=g;p.customHeight=1}if(v.level){p.outlineLevel=v.level}n[n.length]=Ft("row","",p)}}return n.join("")}function Sl(e,r,t,a){var n=[Vr,Ft("worksheet",null,{xmlns:Pt[0],"xmlns:r":Nt.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=ja(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=$a(f)}if(!a)a={};o["!comments"]=[];var u=[];sl(o,t,e,r,n);n[n.length]=Ft("dimension",null,{ref:c});n[n.length]=wl(o,r,e,t);if(r.sheetFormat)n[n.length]=Ft("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]=ml(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){l=xl(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]=cl(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=vl(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=al(o["!merges"]);var h=-1,d,m=-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)!="#"){m=Fn(a,-1,it(e[1].Target).replace(/#.*$/,""),Cn.HLINK);d["r:id"]="rId"+m}if((h=e[1].Target.indexOf("#"))>-1)d.location=it(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=it(e[1].Tooltip);d.display=e[1].display;n[n.length]=Ft("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=hl(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=At("ignoredErrors",Ft("ignoredError",null,{numberStoredAsText:1,sqref:c}));if(u.length>0){m=Fn(a,-1,"../drawings/drawing"+(e+1)+".xml",Cn.DRAW);n[n.length]=Ft("drawing",null,{"r:id":"rId"+m});o["!drawing"]=u}if(o["!comments"].length>0){m=Fn(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Cn.VML);n[n.length]=Ft("legacyDrawing",null,{"r:id":"rId"+m});o["!legacy"]=m}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function Cl(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=tt((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 _l(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=Cl(e);f.s.r=f.s.c=0;f.e.c=l;c=Na(l);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][l]={t:"n",v:e,z:r[1]}}else s[c+Ta(t)]={t:"n",v:e,z:r[1]};o=t});if(f.e.r0)s["!ref"]=$a(f);return s}function Al(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(Qs);if(l)nl(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}var El=[["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 Fl=[["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 Tl=[];var Dl=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Ol(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]]=ht(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Ml(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]]=ht(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Nl(e){Ml(e.WBProps,El);Ml(e.CalcPr,Dl);Ol(e.WBView,Fl);Ol(e.Sheets,Tl);Ls.date1904=ht(e.WBProps.date1904)}function Pl(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return ht(e.Workbook.WBProps.date1904)?"true":"false"}var Il=":][*?/\\".split("");function Rl(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");Il.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function Ll(e,r,t){e.forEach(function(a,n){Rl(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Bl(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||[];Ll(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":El.forEach(function(e){if(f[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=ht(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=gt(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=tt(gt(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){El.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]=Ft("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:it(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]=Ft("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]=Ft("definedName",it(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Ul(e,r,t){if(r.slice(-4)===".bin")return parse_wb_bin(e,t);return $l(e,t)}function jl(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 tl(e,a,t,n,i,s,l)}function Hl(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 Al(e,a,t,n,i,s,l)}function Vl(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return Ss(e,a,t,n,i,s,l);return Cs(e,a,t,n,i,s,l)}function Xl(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return ys(e,a,t,n,i,s,l);return xs(e,a,t,n,i,s,l)}function Gl(e,r,t,a){if(r.slice(-4)===".bin")return parse_sty_bin(e,t,a);return Hi(e,t,a)}function Yl(e,r,t){if(r.slice(-4)===".bin")return parse_sst_bin(e,t);return hi(e,t)}function Jl(e,r,t){if(r.slice(-4)===".bin")return parse_comments_bin(e,t);return us(e,t)}function Kl(e,r,t){if(r.slice(-4)===".bin")return parse_cc_bin(e,r,t);return parse_cc_xml(e,r,t)}function Zl(e,r,t,a){if(t.slice(-4)===".bin")return ss(e,r,t,a);return is(e,r,t,a)}function ql(e,r,t){if(r.slice(-4)===".bin")return parse_xlmeta_bin(e,r,t);return as(e,r,t)}function Ql(e,r){var t=r||{};var a=t.dense!=null?t.dense:b;var n={};if(a)n["!data"]=[];e=e.replace(//g,"");var i=e.match(/");var s=e.match(/<\/table/i);var l=i.index,o=s&&s.index||e.length;var c=Or(e.slice(l,o),/(:?]*>)/i,"");var f=-1,u=0,h=0,d=0;var m={s:{r:1e7,c:1e7},e:{r:0,c:0}};var p=[];for(l=0;l/i);for(o=0;o"))>-1)y=y.slice(x+1);for(var S=0;S")));d=_.colspan?+_.colspan:1;if((h=+_.rowspan)>1||d>1)p.push({s:{r:f,c:u},e:{r:f+(h||1)-1,c:u+d-1}});var A=_.t||_["data-t"]||"";if(!y.length){u+=d;continue}y=kt(y);if(m.s.r>f)m.s.r=f;if(m.e.ru)m.s.c=u;if(m.e.ct||n[u].s.c>o)continue;if(n[u].e.r1)s.rowspan=c;if(f>1)s.colspan=f;if(a.editable)m=''+m+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=d.v;if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")m=''+m+""}s.id=(a.id||"sjs")+"-"+h;i.push(Ft("td",m,s))}var p="";return p+i.join("")+""}var ro='SheetJS Table Export';var to="";function ao(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1){var a=Xa(Ql(t[0],r),r);a.bookType="html";return a}var n=pc();t.forEach(function(e,t){vc(n,Ql(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function no(e,r,t){var a=[];return a.join("")+""}function io(e,r){var t=r||{};var a=t.header!=null?t.header:ro;var n=t.footer!=null?t.footer:to;var i=[a];var s=za(e["!ref"]);i.push(no(e,s,t));for(var l=s.s.r;l<=s.e.r;++l)i.push(eo(e,s,l,t));i.push("
"+n);return i.join("")}function so(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,l=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var o=typeof n.origin=="string"?La(n.origin):n.origin;s=o.r;l=o.c}}var c=Math.min(n.sheetRows||1e7,a.length);var f={s:{r:0,c:0},e:{r:s,c:l}};if(e["!ref"]){var u=za(e["!ref"]);f.s.r=Math.min(f.s.r,u.s.r);f.s.c=Math.min(f.s.c,u.s.c);f.e.r=Math.max(f.e.r,u.e.r);f.e.c=Math.max(f.e.c,u.e.c);if(s==-1)f.e.r=s=u.e.r+1}var h=[],d=0;var m=e["!rows"]||(e["!rows"]=[]);var p=0,v=0,g=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;p1||k>1)h.push({s:{r:v+s,c:b+l},e:{r:v+s+(w||1)-1,c:b+l+(k||1)-1}});var E={t:"s",v:C};var F=S.getAttribute("data-t")||S.getAttribute("t")||"";if(C!=null){if(C.length==0)E.t=F||"z";else if(n.raw||C.trim().length==0||F=="s"){}else if(C==="TRUE")E={t:"b",v:true};else if(C==="FALSE")E={t:"b",v:false};else if(!isNaN(Ar(C)))E={t:"n",v:Ar(C)};else if(!isNaN(Dr(C).getDate())){E={t:"d",v:xr(C)};if(!n.cellDates)E={t:"n",v:dr(E.v)};E.z=n.dateNF||Z[14]}}if(E.z===undefined&&_!=null)E.z=_;var T="",D=S.getElementsByTagName("A");if(D&&D.length)for(var O=0;O=c)e["!fullref"]=$a((f.e.r=a.length-p+v-1+s,f));return e}function lo(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return so(a,e,r)}function oo(e,r){var t=Xa(lo(e,r),r);return t}function co(e){var r="";var t=fo(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function fo(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 uo(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=tt(r.replace(/<[^>]*>/g,""));return[t]}function ho(e,r,t){var a=t||{};var n=Ot(e);Mt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");var i,s,l="",o="",c,f=0,u=-1,h=false,d="";while(i=Mt.exec(n)){switch(i[3]=i[3].replace(/_.*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){h=false;if(s["truncate-on-overflow"]=="false"){if(l.match(/h/))l=l.replace(/h+/,"[$&]");else if(l.match(/m/))l=l.replace(/m+/,"[$&]");else if(l.match(/s/))l=l.replace(/s+/,"[$&]")}a[s.name]=l;l=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;l="";s=qr(i[0],false)}break;case"boolean-style":if(i[1]==="/"){h=false;a[s.name]="General";l=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;l="";s=qr(i[0],false)}break;case"boolean":l+="General";break;case"text":if(i[1]==="/"){d=n.slice(u,Mt.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")l=a[c["apply-style-name"]]+";"+l;else console.error("ODS number format may be incorrect: "+c["condition"]);break;case"number":if(i[1]==="/")break;c=qr(i[0],false);o="";o+=_r("0",+c["min-integer-digits"]||1);if(ht(c["grouping"]))o=me(_r("#",Math.max(0,4-o.length))+o);if(+c["min-decimal-places"]||+c["decimal-places"])o+=".";if(+c["min-decimal-places"])o+=_r("0",+c["min-decimal-places"]||1);if(+c["decimal-places"]-(+c["min-decimal-places"]||0))o+=_r("0",+c["decimal-places"]-(+c["min-decimal-places"]||0));l+=o;break;case"embedded-text":if(i[1]==="/"){if(f==0)l+='"'+n.slice(u,Mt.lastIndex-i[0].length).replace(/"/g,'""')+'"';else l=l.slice(0,f)+'"'+n.slice(u,Mt.lastIndex-i[0].length).replace(/"/g,'""')+'"'+l.slice(f)}else if(i[0].charAt(i[0].length-2)!=="/"){u=Mt.lastIndex;f=-+qr(i[0],false)["position"]||0}break;}}return a}function mo(e,r,t){var a=r||{};if(b!=null&&a.dense==null)a.dense=b;var n=Ot(e);var i=[],s;var l;var o,c="",f=0;var u;var h;var d={},m=[];var p={};if(a.dense)p["!data"]=[];var v,g;var w={value:""};var k="",y=0,x;var S=[];var C=-1,_=-1,A={s:{r:1e6,c:1e7},e:{r:0,c:0}};var E=0;var F=t||{},T={};var D=[],O={},M=0,N=0;var P=[],I=1,R=1;var L=[];var B={Names:[],WBProps:{}};var z={};var $=["",""];var W=[],U={};var j="",H=0;var V=false,X=false;var G=0;var Y=0;Mt.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");while(v=Mt.exec(n))switch(v[3]=v[3].replace(/_.*$/,"")){case"table":;case"工作表":if(v[1]==="/"){if(A.e.c>=A.s.c&&A.e.r>=A.s.r)p["!ref"]=$a(A);else p["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=A.e.r){p["!fullref"]=p["!ref"];A.e.r=a.sheetRows-1;p["!ref"]=$a(A)}if(D.length)p["!merges"]=D;if(P.length)p["!rows"]=P;u.name=u["名称"]||u.name;if(typeof JSON!=="undefined")JSON.stringify(u);m.push(u.name);d[u.name]=p;X=false}else if(v[0].charAt(v[0].length-2)!=="/"){u=qr(v[0],false);C=_=-1;A.s.r=A.s.c=1e7;A.e.r=A.e.c=0;p={};if(a.dense)p["!data"]=[];D=[];P=[];X=true}break;case"table-row-group":if(v[1]==="/")--E;else++E;break;case"table-row":;case"行":if(v[1]==="/"){C+=I;I=1;break}h=qr(v[0],false);if(h["行号"])C=h["行号"]-1;else if(C==-1)C=0;I=+h["number-rows-repeated"]||1;if(I<10)for(G=0;G0)P[C+G]={level:E};_=-1;break;case"covered-table-cell":if(v[1]!=="/")++_;if(a.sheetStubs){if(a.dense){if(!p["!data"][C])p["!data"][C]=[];p["!data"][C][_]={t:"z"}}else p[Ba({r:C,c:_})]={t:"z"}}k="";S=[];break;case"table-cell":;case"数据":if(v[0].charAt(v[0].length-2)==="/"){++_;w=qr(v[0],false);R=parseInt(w["number-columns-repeated"]||"1",10);g={t:"z",v:null};if(w.formula&&a.cellFormula!=false)g.f=Ms(tt(w.formula));if(w["style-name"]&&T[w["style-name"]])g.z=T[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){g.t="s";g.v=tt(w["string-value"]||"");if(a.dense){if(!p["!data"][C])p["!data"][C]=[];p["!data"][C][_]=g}else{p[Na(_)+Ta(C)]=g}}_+=R-1}else if(v[1]!=="/"){++_;k="";y=0;S=[];R=1;var J=I?C+I-1:C;if(_>A.e.c)A.e.c=_;if(_A.e.r)A.e.r=J;w=qr(v[0],false);W=[];U={};g={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&T[w["style-name"]])g.z=T[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=tt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){M=parseInt(w["number-matrix-rows-spanned"],10)||0;N=parseInt(w["number-matrix-columns-spanned"],10)||0;O={s:{r:C,c:_},e:{r:C+M-1,c:_+N-1}};g.F=$a(O);L.push([O,g.F])}if(w.formula)g.f=Ms(w.formula);else for(G=0;G=L[G][0].s.r&&C<=L[G][0].e.r)if(_>=L[G][0].s.c&&_<=L[G][0].e.c)g.F=L[G][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){M=parseInt(w["number-rows-spanned"],10)||0;N=parseInt(w["number-columns-spanned"],10)||0;O={s:{r:C,c:_},e:{r:C+M-1,c:_+N-1}};D.push(O)}if(w["number-columns-repeated"])R=parseInt(w["number-columns-repeated"],10);switch(g.t){case"boolean":g.t="b";g.v=ht(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":g.t="n";g.v=parseFloat(w.value);break;case"percentage":g.t="n";g.v=parseFloat(w.value);break;case"currency":g.t="n";g.v=parseFloat(w.value);break;case"date":g.t="d";g.v=xr(w["date-value"]);if(!a.cellDates){g.t="n";g.v=dr(g.v,B.WBProps.date1904)-Y}if(!g.z)g.z="m/d/yy";break;case"time":g.t="n";g.v=br(w["time-value"])/86400;if(a.cellDates){g.t="d";g.v=gr(g.v)}if(!g.z)g.z="HH:MM:SS";break;case"number":g.t="n";g.v=parseFloat(w["数据数值"]);break;default:if(g.t==="string"||g.t==="text"||!g.t){g.t="s";if(w["string-value"]!=null){k=tt(w["string-value"]);S=[]}}else throw new Error("Unsupported value type "+g.t);}}else{V=false;if(g.t==="s"){g.v=k||"";if(S.length)g.R=S;V=y==0}if(z.Target)g.l=z;if(W.length>0){g.c=W;W=[]}if(k&&a.cellText!==false)g.w=k;if(V){g.t="z";delete g.v}if(!V||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=C)){for(var K=0;K0)p["!data"][C+K][_+R]=Cr(g)}else{p[Ba({r:C+K,c:_})]=g;while(--R>0)p[Ba({r:C+K,c:_+R})]=Cr(g)}if(A.e.c<=_)A.e.c=_}}}R=parseInt(w["number-columns-repeated"]||"1",10);_+=R-1;R=0;g={};k="";S=[]}z={};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((s=i.pop())[0]!==v[3])throw"Bad state: "+s}else if(v[0].charAt(v[0].length-2)!=="/")i.push([v[3],true]);break;case"annotation":if(v[1]==="/"){if((s=i.pop())[0]!==v[3])throw"Bad state: "+s;U.t=k;if(S.length)U.R=S;U.a=j;W.push(U)}else if(v[0].charAt(v[0].length-2)!=="/"){i.push([v[3],false])}j="";H=0;k="";y=0;S=[];break;case"creator":if(v[1]==="/"){j=n.slice(H,v.index)}else H=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((s=i.pop())[0]!==v[3])throw"Bad state: "+s}else if(v[0].charAt(v[0].length-2)!=="/")i.push([v[3],false]);k="";y=0;S=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(v[1]==="/"){var Z=Mt.lastIndex;ho(n.slice(o,Mt.lastIndex),r,F);Mt.lastIndex=Z}else if(v[0].charAt(v[0].length-2)!=="/"){o=Mt.lastIndex-v[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var q=qr(v[0],false);if(q["family"]=="table-cell"&&F[q["data-style-name"]])T[q["name"]]=F[q["data-style-name"]]}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":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":break;case"boolean":break;case"text":if(v[0].slice(-2)==="/>")break;else if(v[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":c+=n.slice(f,v.index);break;}else f=v.index+v[0].length;break;case"named-range":l=qr(v[0],false);$=Ps(l["cell-range-address"]);var Q={Name:l.name,Ref:$[0]+"!"+$[1]};if(X)Q.Sheet=m.length;B.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":l=qr(v[0],false);switch(l["date-value"]){case"1904-01-01":B.WBProps.date1904=true;case"1900-01-01":Y=0;}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(i[i.length-1][0])>-1)break;if(v[1]==="/"&&(!w||!w["string-value"])){var ee=uo(n.slice(y,v.index),x);k=(k.length>0?k+"\n":"")+ee[0]}else{x=qr(v[0],false);y=v.index+v[0].length}break;case"s":break;case"database-range":if(v[1]==="/")break;try{$=Ps(qr(v[0])["target-range-address"]);d[$[0]]["!autofilter"]={ref:$[1]}}catch(re){}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]!=="/"){z=qr(v[0],false);if(!z.href)break;z.Target=tt(z.href);delete z.href;if(z.Target.charAt(0)=="#"&&z.Target.indexOf(".")>-1){$=Ps(z.Target.slice(1));z.Target="#"+$[0]+"!"+$[1]}else if(z.Target.match(/^\.\.[\\\/]/))z.Target=z.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(a.WTF)throw new Error(v);};}var te={Sheets:d,SheetNames:m,Workbook:B};if(a.bookSheets)delete te.Sheets;return te; -}function po(e,r){r=r||{};if(Ir(e,"META-INF/manifest.xml"))Dn(Lr(e,"META-INF/manifest.xml"),r);var t=Br(e,"styles.xml");var a=t&&ho(gt(t),r);var n=Br(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=mo(gt(n),r,a);if(Ir(e,"meta.xml"))i.Props=Bn(Lr(e,"meta.xml"));i.bookType="ods";return i}function vo(e,r){var t=mo(e,r);t.bookType="fods";return t}var go=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Vr+r}}();function bo(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+it(i.replace(/""/g,'"'))+""}else{a+=""+it(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var l=e.match(/# (\?+)\/(\?+)/);if(l){a+=Ft("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":l[1].length,"number:max-denominator-value":Math.max(+l[1].replace(/./g,"9"),+l[2].replace(/./g,"9"))});break e}if(l=e.match(/# (\?+)\/(\d+)/)){a+=Ft("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":l[1].length,"number:denominator-value":+l[2]});break e}if(l=e.match(/(\d+)(|\.\d+)%/)){t="percentage";a+=Ft("number:number",null,{"number:decimal-places":l[2]&&l.length-1||0,"number:min-decimal-places":l[2]&&l.length-1||0,"number:min-integer-digits":l[1].length})+"%";break e}var o=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.slice(1).replace(/""/g,'"'))+"";break;case"/":a+=""+it(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!o)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.slice(1).replace(/""/g,'"'))+"";break;case"/":a+=""+it(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+it(i.replace(/""/g,'"'))+""}else{a+=""+it(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!f||!f[0])console.error("Could not find numeric part of "+e);else{var u=f[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(f[2]&&' number:decimal-places="'+(f[2].length-1)+'"'||' number:decimal-places="0"')+(f[3]&&f[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(f[3]?' number:min-exponent-digits="'+f[3].match(/0+/)[0].length+'"':"")+">"+"";s=f.index+f[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+it(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return Ft("number:"+t+"-style",a,n)}function wo(e,r,t){var a=e.filter(function(e){return e.Sheet==(t==-1?null:t)});if(!a.length)return"";return" \n"+a.map(function(e){var r=Is(e.Ref);return" "+Ft("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.]?[^\.]*$/,".$A$1")})}).join("\n")+"\n \n"}var ko=function(){var e=function(e){return it(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,s,l){var o=[];o.push(' \n');var c=0,f=0,u=za(a["!ref"]||"A1");var h=a["!merges"]||[],d=0;var m=a["!data"]!=null;if(a["!cols"]){for(f=0;f<=u.e.c;++f)o.push(" \n")}var p="",v=a["!rows"]||[];for(c=0;c\n")}for(;c<=u.e.r;++c){p=v[c]?' table:style-name="ro'+v[c].ods+'"':"";o.push(" \n");for(f=0;ff)continue;if(h[d].s.r>c)continue;if(h[d].e.c\n")}if((n.Workbook||{}).Names)o.push(wo(n.Workbook.Names,n.SheetNames,i));o.push(" \n");return o.join("")};var n=function(e,r){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');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;var a=za(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var l=0;l<=a.e.c;++l){var o=t?(r["!data"][s]||[])[l]:r[Ba({r:s,c:l})];if(!o||!o.z||o.z.toLowerCase()=="general")continue;if(!n[o.z]){var c=bo(o.z,"N"+i);if(c){n[o.z]="N"+i;++i;e.push(c+"\n")}}}});e.push(' \n');lr(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function i(e,r){var t=[Vr];var i=Et({"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=Et({"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(In().replace(//,"").replace(/<\/office:document-meta>/,"")+"\n")}else t.push("\n");var l=n(t,e);t.push(" \n");t.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)t.push(' \n \n \n');for(var o=0;o!=e.SheetNames.length;++o)t.push(a(e.Sheets[e.SheetNames[o]],e,o,r,l));if((e.Workbook||{}).Names)t.push(wo(e.Workbook.Names,e.SheetNames,-1));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function yo(e,r){if(r.bookType=="fods")return ko(e,r);var t=Ur();var a="";var n=[];var i=[];a="mimetype";Wr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";Wr(t,a,ko(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";Wr(t,a,go(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";Wr(t,a,Vr+In());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";Wr(t,a,Pn(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";Wr(t,a,On(n));return t}function xo(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 So(e){xo([["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 Co(e){xo([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function _o(e){if(Cn.WS.indexOf(e)>-1)return"sheet";if(Cn.CS&&e==Cn.CS)return"chart";if(Cn.DS&&e==Cn.DS)return"dialog";if(Cn.MS&&e==Cn.MS)return"macro";return e&&e.length?e:"sheet"}function Ao(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,_o(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Eo(e,r,t,a,n,i,s,l,o,c,f,u){try{i[a]=An(Br(e,t,true),r);var h=Lr(e,r);var d;switch(l){case"sheet":d=jl(h,r,n,o,i[a],c,f,u);break;case"chart":d=Hl(h,r,n,o,i[a],c,f,u);if(!d||!d["!drawel"])break;var m=Hr(d["!drawel"].Target,r);var p=_n(m);var v=ls(Br(e,m,true),An(Br(e,p,true),m));var g=Hr(v,m);var b=_n(g);d=_l(Br(e,g,true),g,o,An(Br(e,b,true),g),c,d);break;case"macro":d=Vl(h,r,n,o,i[a],c,f,u);break;case"dialog":d=Xl(h,r,n,o,i[a],c,f,u);break;default:throw new Error("Unrecognized sheet type "+l);}s[a]=d;var w=[],k=[];if(i&&i[a])lr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==Cn.CMNT){n=Hr(i[a][t].Target,r);w=Jl(Lr(e,n,true),n,o);if(!w||!w.length)return;fs(d,w,false)}if(i[a][t].Type==Cn.TCMNT){n=Hr(i[a][t].Target,r);k=k.concat(ds(Lr(e,n,true),o))}});if(k&&k.length)fs(d,k,true,o.people||[])}catch(y){if(o.WTF)throw y}}function Fo(e){return e.charAt(0)=="/"?e.slice(1):e}function To(e,r){Xe();r=r||{};So(r);if(Ir(e,"META-INF/manifest.xml"))return po(e,r);if(Ir(e,"objectdata.xml"))return po(e,r);if(Ir(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,r);var t=rr.utils.cfb_new();$r(e).forEach(function(r){Wr(t,r,zr(e,r))});return parse_numbers_iwa(t,r)}throw new Error("Unsupported NUMBERS file")}if(!Ir(e,"[Content_Types].xml")){if(Ir(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Ir(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=rr.find(e,"Index.zip");if(a){r=Cr(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return Wo(new Uint8Array(a.content),r);return Wo(a.content,r)}throw new Error("Unsupported ZIP file")}var n=$r(e);var i=xn(Br(e,"[Content_Types].xml"));var s=false;var l,o;if(i.workbooks.length===0){o="xl/workbook.xml";if(Lr(e,o,true))i.workbooks.push(o)}if(i.workbooks.length===0){o="xl/workbook.bin";if(!Lr(e,o,true))throw new Error("Could not find workbook");i.workbooks.push(o);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var c={};var f={};if(!r.bookSheets&&!r.bookProps){Rs=[];if(i.sst)try{Rs=Yl(Lr(e,Fo(i.sst)),i.sst,r)}catch(u){if(r.WTF)throw u}if(r.cellStyles&&i.themes.length)c=rs(Br(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)f=Gl(Lr(e,Fo(i.style)),i.style,c,r)}i.links.map(function(t){try{var a=An(Br(e,_n(Fo(t))),t);return Zl(Lr(e,Fo(t)),a,t,r)}catch(n){}});var h=Ul(Lr(e,Fo(i.workbooks[0])),i.workbooks[0],r);var d={},m="";if(i.coreprops.length){m=Lr(e,Fo(i.coreprops[0]),true);if(m)d=Bn(m);if(i.extprops.length!==0){m=Lr(e,Fo(i.extprops[0]),true);if(m)Hn(m,d,r)}}var p={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){m=Br(e,Fo(i.custprops[0]),true);if(m)p=Gn(m,r)}}var v={};if(r.bookSheets||r.bookProps){if(h.Sheets)l=h.Sheets.map(function M(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)l=d.SheetNames;if(r.bookProps){v.Props=d;v.Custprops=p}if(r.bookSheets&&typeof l!=="undefined")v.SheetNames=l;if(r.bookSheets?v.SheetNames:r.bookProps)return v}l={};var g={};if(r.bookDeps&&i.calcchain)g=Kl(Lr(e,Fo(i.calcchain)),i.calcchain,r);var b=0;var w={};var k,y;{var x=h.Sheets;d.Worksheets=x.length;d.SheetNames=[];for(var S=0;S!=x.length;++S){d.SheetNames[S]=x[S].name}}var C=s?"bin":"xml";var _=i.workbooks[0].lastIndexOf("/");var A=(i.workbooks[0].slice(0,_+1)+"_rels/"+i.workbooks[0].slice(_+1)+".rels").replace(/^\//,"");if(!Ir(e,A))A="xl/_rels/workbook."+C+".rels";var E=An(Br(e,A,true),A.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=ql(Lr(e,Fo(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=ps(Lr(e,Fo(i.people[0])),r)}if(E)E=Ao(E,h.Sheets);var F=Lr(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=d.Worksheets;++b){var T="sheet";if(E&&E[b]){k="xl/"+E[b][1].replace(/[\/]?xl\//,"");if(!Ir(e,k))k=E[b][1];if(!Ir(e,k))k=A.replace(/_rels\/.*$/,"")+E[b][1];T=E[b][2]}else{k="xl/worksheets/sheet"+(b+1-F)+"."+C;k=k.replace(/sheet0\./,"sheet.")}y=k.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(d.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var D=false;for(var O=0;O!=r.sheets.length;++O){if(typeof r.sheets[O]=="number"&&r.sheets[O]==b)D=1;if(typeof r.sheets[O]=="string"&&r.sheets[O].toLowerCase()==d.SheetNames[b].toLowerCase())D=1}if(!D)continue e};}Eo(e,k,y,d.SheetNames[b],b,w,l,T,r,h,c,f)}v={Directory:i,Workbook:h,Props:d,Custprops:p,Deps:g,Sheets:l,SheetNames:d.SheetNames,Strings:Rs,Styles:f,Themes:c,SSF:Cr(Z)};if(r&&r.bookFiles){if(e.files){v.keys=n;v.files=e.files}else{v.keys=[];v.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");v.keys.push(r);v.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(i.vba.length>0)v.vbaraw=Lr(e,Fo(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===gs)v.vbaraw=Lr(e,"xl/vbaProject.bin",true)}v.bookType=s?"xlsb":"xlsx";return v}function Do(e,r){var t=r||{};var a="Workbook",n=rr.find(e,a);try{a="/!DataSpaces/Version";n=rr.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);parse_DataSpaceVersionInfo(n.content);a="/!DataSpaces/DataSpaceMap";n=rr.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=rr.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=rr.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=rr.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=rr.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 Oo(e,r){if(e&&!e.SSF){e.SSF=Cr(Z)}if(e&&e.SSF){Xe();Ve(e.SSF);r.revssf=fr(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(Bs)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=yn();Co(r=r||{});var i=Ur();var s="",l=0;r.cellXfs=[];Us(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Wr(i,s,$n(e.Props,r));n.coreprops.push(s);Fn(r.rels,2,s,Cn.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";Wr(i,s,Yn(e.Custprops,r));n.custprops.push(s);Fn(r.rels,4,s,Cn.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;Wr(i,s,write_ws_bin(l-1,r,e,f));n.sheets.push(s);Fn(r.wbrels,-1,"worksheets/sheet"+l+"."+t,Cn.WS[0]);}if(u){var d=u["!comments"];var m=false;var p="";if(d&&d.length>0){p="xl/comments"+l+"."+t;Wr(i,p,write_comments_bin(d,r));n.comments.push(p);Fn(f,-1,"../comments"+l+"."+t,Cn.CMNT);m=true}if(u["!legacy"]){if(m)Wr(i,"xl/drawings/vmlDrawing"+l+".vml",os(l,u["!comments"]))}delete u["!comments"];delete u["!legacy"]}if(f["!id"].rId1)Wr(i,_n(s),En(f))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Wr(i,s,write_sst_bin(r.Strings,r));n.strs.push(s);Fn(r.wbrels,-1,"sharedStrings."+t,Cn.SST)}s="xl/workbook."+t;Wr(i,s,write_wb_bin(e,r));n.workbooks.push(s);Fn(r.rels,1,s,Cn.WB);s="xl/theme/theme1.xml";var v=ts(e.Themes,r);Wr(i,s,v);n.themes.push(s);Fn(r.wbrels,-1,"theme/theme1.xml",Cn.THEME);s="xl/styles."+t;Wr(i,s,write_sty_bin(e,r));n.styles.push(s);Fn(r.wbrels,-1,"styles."+t,Cn.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Wr(i,s,e.vbaraw);n.vba.push(s);Fn(r.wbrels,-1,"vbaProject.bin",Cn.VBA)}s="xl/metadata."+t;Wr(i,s,write_xlmeta_bin());n.metadata.push(s);Fn(r.wbrels,-1,"metadata."+t,Cn.XLMETA);Wr(i,"[Content_Types].xml",Sn(n,r));Wr(i,"_rels/.rels",En(r.rels));Wr(i,"xl/_rels/workbook."+t+".rels",En(r.wbrels));delete r.revssf;delete r.ssf;return i}function Mo(e,r){if(e&&!e.SSF){e.SSF=Cr(Z)}if(e&&e.SSF){Xe();Ve(e.SSF);r.revssf=fr(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(Bs)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=ks.indexOf(r.bookType)>-1;var n=yn();Co(r=r||{});var i=Ur();var s="",l=0;r.cellXfs=[];Us(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";Wr(i,s,$n(e.Props,r));n.coreprops.push(s);Fn(r.rels,2,s,Cn.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";Wr(i,s,Yn(e.Custprops,r));n.custprops.push(s);Fn(r.rels,4,s,Cn.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 d=(h||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;Wr(i,s,Sl(l-1,r,e,u));n.sheets.push(s);Fn(r.wbrels,-1,"worksheets/sheet"+l+"."+t,Cn.WS[0]);}if(h){var m=h["!comments"];var p=false;var v="";if(m&&m.length>0){var g=false;m.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){v="xl/threadedComments/threadedComment"+l+".xml";Wr(i,v,ms(m,f,r));n.threadedcomments.push(v);Fn(u,-1,"../threadedComments/threadedComment"+l+".xml",Cn.TCMNT)}v="xl/comments"+l+"."+t;Wr(i,v,hs(m,r));n.comments.push(v);Fn(u,-1,"../comments"+l+"."+t,Cn.CMNT);p=true}if(h["!legacy"]){if(p)Wr(i,"xl/drawings/vmlDrawing"+l+".vml",os(l,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)Wr(i,_n(s),En(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;Wr(i,s,mi(r.Strings,r));n.strs.push(s);Fn(r.wbrels,-1,"sharedStrings."+t,Cn.SST)}s="xl/workbook."+t;Wr(i,s,Wl(e,r));n.workbooks.push(s);Fn(r.rels,1,s,Cn.WB);s="xl/theme/theme1.xml";Wr(i,s,ts(e.Themes,r));n.themes.push(s);Fn(r.wbrels,-1,"theme/theme1.xml",Cn.THEME);s="xl/styles."+t;Wr(i,s,Vi(e,r));n.styles.push(s);Fn(r.wbrels,-1,"styles."+t,Cn.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";Wr(i,s,e.vbaraw);n.vba.push(s);Fn(r.wbrels,-1,"vbaProject.bin",Cn.VBA)}s="xl/metadata."+t;Wr(i,s,ns());n.metadata.push(s);Fn(r.wbrels,-1,"metadata."+t,Cn.XLMETA);if(f.length>1){s="xl/persons/person.xml";Wr(i,s,vs(f,r));n.people.push(s);Fn(r.wbrels,-1,"persons/person.xml",Cn.PEOPLE)}Wr(i,"[Content_Types].xml",Sn(n,r));Wr(i,"_rels/.rels",En(r.rels));Wr(i,"xl/_rels/workbook."+t+".rels",En(r.wbrels));delete r.revssf;delete r.ssf;return i}function No(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=S(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 Po(e,r){if(rr.find(e,"EncryptedPackage"))return Do(e,r);return parse_xlscfb(e,r)}function Io(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=C&&Buffer.isBuffer(e)?"buffer":"base64";t=jr(a,n);return To(t,n)}function Ro(e,r){var t=0;e:while(t=2&&i[3]===0)return WK_.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return WK_.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return Kn.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return rtf_to_workbook(n,t);break;case 10:;case 13:;case 32:return Lo(n,t); -;case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Jn.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return Kn.to_workbook(n,t);return $o(e,n,t,s)}function Uo(e,r){var t=r||{};t.type="file";return Wo(e,t)}function jo(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return ir(r.file,rr.write(e,{type:C?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return rr.write(e,r)}function Ho(e,r){switch(r.bookType){case"ods":return yo(e,r);case"numbers":return write_numbers_iwa(e,r);case"xlsb":return Oo(e,r);default:return Mo(e,r);}}function Vo(e,r){var t=Cr(r||{});var a=Ho(e,t);return Go(a,t)}function Xo(e,r){var t=Cr(r||{});var a=Mo(e,t);return Go(a,t)}function Go(e,r){var t={};var a=C?"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?rr.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(D(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return jo(encrypt_agile(n,r.password),r);if(r.type==="file")return ir(r.file,n);return r.type=="string"?gt(n):n}function Yo(e,r){var t=r||{};var a=write_xlscfb(e,t);return jo(a,t)}function Jo(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return y(bt(a));case"binary":return bt(a);case"string":return e;case"file":return ir(r.file,a,"utf8");case"buffer":{if(C)return _(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return Jo(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Ko(e,r){switch(r.type){case"base64":return x(e);case"binary":return e;case"string":return e;case"file":return ir(r.file,e,"binary");case"buffer":{if(C)return _(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Zo(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=Ta(o.s.r);var h=[];var d=[];var m=0,p=0;var v=e["!data"]!=null;var g=o.s.r,b=0;var w={};if(v&&!e["!data"][g])e["!data"][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]=Na(b);t=v?e["!data"][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=Va(t,null,c);p=w[s]||0;if(!p)w[s]=1;else{do{l=s+"_"+p++}while(w[l]);w[s]=p;w[l]=1}i[b]=l;}}for(g=o.s.r+n;g<=o.e.r;++g){if((y[g]||{}).hidden)continue;var x=nc(e,o,g,h,a,i,c);if(x.isempty===false||(a===1?c.blankrows!==false:!!c.blankrows))d[m++]=x.row}d.length=m;return d}var sc=/"/g;function lc(e,r,t,a,n,i,s,l){var o=true;var c=[],f="",u=Ta(t);var h=e["!data"]!=null;var d=h&&e["!data"][t]||[];for(var m=r.s.c;m<=r.e.c;++m){if(!a[m])continue;var p=h?d[m]:e[a[m]+u];if(p==null)f="";else if(p.v!=null){o=false;f=""+(l.rawNumbers&&p.t=="n"?p.v:Va(p,null,l));for(var v=0,g=0;v!==f.length;++v)if((g=f.charCodeAt(v))===n||g===i||g===34||l.forceQuotes){f='"'+f.replace(sc,'""')+'"';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(sc,'""')+'"'}else f="";c.push(f)}if(l.blankrows===false&&o)return null;return c.join(s)}function oc(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=ja(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=[];var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var m=n.s.c;m<=n.e.c;++m)if(!(h[m]||{}).hidden)u[m]=Na(m);var p=0;for(var v=n.s.r;v<=n.e.r;++v){if((d[v]||{}).hidden)continue;f=lc(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((p++?l:"")+f)}return t.join("")}function cc(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=oc(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 fc(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=ja(e["!ref"]),i="",s=[],l;var o=[];var c=e["!data"]!=null;for(l=n.s.c;l<=n.e.c;++l)s[l]=Na(l);for(var f=n.s.r;f<=n.e.r;++f){i=Ta(f);for(l=n.s.c;l<=n.e.c;++l){r=s[l]+i;t=c?(e["!data"][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 uc(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var l=0,o=0;if(s&&a.origin!=null){if(typeof a.origin=="number")l=a.origin;else{var c=typeof a.origin=="string"?La(a.origin):a.origin;l=c.r;o=c.c}}var f={s:{c:0,r:0},e:{c:o,r:l+r.length-1+i}};if(s["!ref"]){var u=ja(s["!ref"]);f.e.c=Math.max(f.e.c,u.e.c);f.e.r=Math.max(f.e.r,u.e.r);if(l==-1){l=u.e.r+1;f.e.r=l+r.length-1+i}}else{if(l==-1){l=0;f.e.r=r.length-1+i}}var h=a.header||[],d=0;var m=[];r.forEach(function(e,r){if(n&&!s["!data"][l+r+i])s["!data"][l+r+i]=[];if(n)m=s["!data"][l+r+i];lr(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var c=e[t];var f="z";var u="";var p=n?"":Na(o+d)+Ta(l+r+i);var v=n?m[o+d]:s[p];if(c&&typeof c==="object"&&!(c instanceof Date)){if(n)m[o+d]=c;else s[p]=c}else{if(typeof c=="number")f="n";else if(typeof c=="boolean")f="b";else if(typeof c=="string")f="s";else if(c instanceof Date){f="d";if(!a.cellDates){f="n";c=dr(c)}u=v!=null&&v.z&&Be(v.z)?v.z:a.dateNF||Z[14]}else if(c===null&&a.nullError){f="e";c=0}if(!v){if(!n)s[p]=v={t:f,v:c};else m[o+d]=v={t:f,v:c}}else{v.t=f;v.v=c;delete v.w;delete v.R;if(u)v.z=u}if(u)v.z=u}})});f.e.c=Math.max(f.e.c,o+h.length-1);var p=Ta(l);if(n&&!s["!data"][l])s["!data"][l]=[];if(i)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 pc(){return{SheetNames:[],Sheets:{}}}function vc(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}Rl(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function gc(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=mc(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 bc(e,r){e.z=r;return e}function wc(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function kc(e,r,t){return wc(e,"#"+r,t)}function yc(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function xc(e,r,t,a){var n=typeof r!="string"?r:ja(r);var i=typeof r=="string"?r:$a(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=dc(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}}var c=za(e["!ref"]);if(c.s.r>n.s.r)c.s.r=n.s.r;if(c.s.c>n.s.c)c.s.c=n.s.c;if(c.e.r>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[2*t]+(e[2*t+1]<<8));return r.join("")}function d(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 p=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 d(e.slice(2));if(r==65279)return e.slice(1);return e};var m=function Oc(e){return String.fromCharCode(e)};var v=function Mc(e){return String.fromCharCode(e)};function g(e){a=e;o=function(e){r=e;s(e)};p=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return a.utils.decode(1200,f(e.slice(2)))}return e};m=function n(e){if(r===1200)return String.fromCharCode(e);return a.utils.decode(r,[e&255,e>>8])[0]};v=function i(e){return a.utils.decode(t,[e])[0]};la()}var b=null;var w=true;var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function y(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;for(var c=0;c>2;a=e.charCodeAt(c++);s=(t&3)<<4|a>>4;n=e.charCodeAt(c++);l=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){l=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(l)+k.charAt(o)}return r}function x(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;for(var c=0;c255)t=95;i=t>>2;a=e.charCodeAt(c++);if(a>255)a=95;s=(t&3)<<4|a>>4;n=e.charCodeAt(c++);if(n>255)n=95;l=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){l=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(l)+k.charAt(o)}return r}function S(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;for(var c=0;c>2;a=e[c++];s=(t&3)<<4|a>>4;n=e[c++];l=(a&15)<<2|n>>6;o=n&63;if(isNaN(a)){l=o=64}else if(isNaN(n)){o=64}r+=k.charAt(i)+k.charAt(s)+k.charAt(l)+k.charAt(o)}return r}function C(e){var r="";var t=0,a=0,n=0,i=0,s=0,l=0,o=0;e=e.replace(/^data:([^\/]+\/[^\/]+)?;base64\,/,"").replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4;r+=String.fromCharCode(t);l=k.indexOf(e.charAt(c++));a=(s&15)<<4|l>>2;if(l!==64){r+=String.fromCharCode(a)}o=k.indexOf(e.charAt(c++));n=(l&3)<<6|o;if(o!==64){r+=String.fromCharCode(n)}}return r}var _=function(){return typeof Buffer!=="undefined"&&typeof undefined!=="undefined"&&typeof{}!=="undefined"&&!!{}.node}();var A=function(){if(typeof Buffer!=="undefined"){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=true}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();var T=function(){if(typeof Buffer==="undefined")return false;var e=A([65,0]);if(!e)return false;var r=e.toString("utf16le");return r.length==1}();function E(e){if(_)return Buffer.alloc?Buffer.alloc(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}function F(e){if(_)return Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e);return typeof Uint8Array!="undefined"?new Uint8Array(e):new Array(e)}var D=function Nc(e){if(_)return A(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})};function O(e){if(typeof ArrayBuffer==="undefined")return D(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 M(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=E(65535);a=65530}}r.push(n.slice(0,t));return P(r)}var L=/\u0000/g,B=/[\u0001-\u0006]/g;function U(e){var r="",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function z(e,r){var t=""+e;return t.length>=r?t:yr("0",r-t.length)+t}function W(e,r){var t=""+e;return t.length>=r?t:yr(" ",r-t.length)+t}function j(e,r){var t=""+e;return t.length>=r?t:t+yr(" ",r-t.length)}function H(e,r){var t=""+Math.round(e);return t.length>=r?t:yr("0",r-t.length)+t}function V(e,r){var t=""+e;return t.length>=r?t:yr("0",r-t.length)+t}var X=Math.pow(2,32);function G(e,r){if(e>X||e<-X)return H(e,r);var t=Math.round(e);return V(t,r)}function Y(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 J=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var K=[["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 Z(e){if(!e)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"秒 "';return e}var q={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'};var Q={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0};var ee={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 re(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 te(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=ce(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}function ae(e){return e.indexOf(".")==-1?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function ne(e){if(e.indexOf("E")==-1)return e;return e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}function ie(e){var r=e<0?12:11;var t=ae(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function se(e){var r=ae(e.toFixed(11));return r.length>(e<0?12:11)||r==="0"||r==="-0"?e.toPrecision(6):r}function le(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=ie(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=se(e);return ae(ne(t.toUpperCase()))}function oe(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?e.toString(10):le(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return ze(14,hr(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}function ce(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function fe(e,r,t,a){var n="",i=0,s=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 K[t.m-1][1];case 5:return K[t.m-1][0];default:return K[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;c=r.length;break;case 3:return J[t.q][0];default:return J[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 z(t.S,r.length);if(a>=2)s=a===3?1e3:100;else s=a===1?10:1;i=Math.round(s*(t.S+t.u));if(i>=60*s)i=0;if(r==="s")return i===0?"0":""+i/s;n=z(i,2+a);if(r==="ss")return n.substr(0,2);return"."+n.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 f=c>0?z(o,c):"";return f}function ue(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 he=/%/g;function de(e,r,t){var a=r.replace(he,""),n=r.length-a.length;return Me(e,a,t*Math.pow(10,2*n))+yr("%",n)}function pe(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return Me(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function me(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"-"+me(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 ve=/# (\?+)( ?)\/( ?)(\d+)/;function ge(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),i=Math.floor(n/a);var s=n-i*a,l=a;return t+(i===0?"":""+i)+" "+(s===0?yr(" ",e[1].length+1+e[4].length):W(s,e[1].length)+e[2]+"/"+e[3]+z(l,e[4].length))}function be(e,r,t){return t+(r===0?"":""+r)+yr(" ",e[1].length+2+e[4].length)}var we=/^#*0*\.([0#]+)/;var ke=/\).*[0#]/;var ye=/\(###\) ###\\?-####/;function xe(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 Se(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ce(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 _e(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function Ae(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function Te(e,r,t){if(e.charCodeAt(0)===40&&!r.match(ke)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(t>=0)return Te("n",a,t);return"("+Te("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return pe(e,r,t);if(r.indexOf("%")!==-1)return de(e,r,t);if(r.indexOf("E")!==-1)return me(r,t);if(r.charCodeAt(0)===36)return"$"+Te(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,l,o=Math.abs(t),c=t<0?"-":"";if(r.match(/^00+$/))return c+G(o,r.length);if(r.match(/^[#?]+$/)){n=G(t,0);if(n==="0")n="";return n.length>r.length?n:xe(r.substr(0,r.length-n.length))+n}if(i=r.match(ve))return ge(i,o,c);if(r.match(/^#+0+$/))return c+G(o,r.length-r.indexOf("0"));if(i=r.match(we)){n=Se(t,i[1].length).replace(/^([^\.]+)$/,"$1."+xe(i[1])).replace(/\.$/,"."+xe(i[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+yr("0",xe(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return c+Se(o,i[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return c+ue(G(o,0));if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Te(e,r,-t):ue(""+(Math.floor(t)+_e(t,i[1].length)))+"."+z(Ce(t,i[1].length),i[1].length)}if(i=r.match(/^#,#*,#0/))return Te(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=U(Te(e,r.replace(/[\\-]/g,""),t));s=0;return U(U(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s=0)return Oe("n",a,t);return"("+Oe("n",a,-t)+")"}if(r.charCodeAt(r.length-1)===44)return Ee(e,r,t);if(r.indexOf("%")!==-1)return Fe(e,r,t);if(r.indexOf("E")!==-1)return De(r,t);if(r.charCodeAt(0)===36)return"$"+Oe(e,r.substr(r.charAt(1)==" "?2:1),t);var n;var i,s,l,o=Math.abs(t),c=t<0?"-":"";if(r.match(/^00+$/))return c+z(o,r.length);if(r.match(/^[#?]+$/)){n=""+t;if(t===0)n="";return n.length>r.length?n:xe(r.substr(0,r.length-n.length))+n}if(i=r.match(ve))return be(i,o,c);if(r.match(/^#+0+$/))return c+z(o,r.length-r.indexOf("0"));if(i=r.match(we)){n=(""+t).replace(/^([^\.]+)$/,"$1."+xe(i[1])).replace(/\.$/,"."+xe(i[1]));n=n.replace(/\.(\d*)$/,function(e,r){return"."+r+yr("0",xe(i[1]).length-r.length)});return r.indexOf("0.")!==-1?n:n.replace(/^0\./,".")}r=r.replace(/^#+([0.])/,"$1");if(i=r.match(/^(0*)\.(#*)$/)){return c+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,i[1].length?"0.":".")}if(i=r.match(/^#{1,3},##0(\.?)$/))return c+ue(""+o);if(i=r.match(/^#,##0\.([#0]*0)$/)){return t<0?"-"+Oe(e,r,-t):ue(""+t)+"."+yr("0",i[1].length)}if(i=r.match(/^#,#*,#0/))return Oe(e,r.replace(/^#,#*,/,""),t);if(i=r.match(/^([0#]+)(\\?-([0#]+))+$/)){n=U(Oe(e,r.replace(/[\\-]/g,""),t));s=0;return U(U(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return s-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}function Re(e,r,t,a){var n=[],i="",s=0,l="",o="t",c,f,u;var h="H";while(s=12?e.charAt(s+2):l;m.t="T";h="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(c!=null)m.v=c.H>=12?"PM":"AM";m.t="T";s+=5;h="h"}else if(e.substr(s,5).toUpperCase()==="上午/下午"){if(c!=null)m.v=c.H>=12?"下午":"上午";m.t="T";s+=5;h="h"}else{m.t="t";++s}if(c==null&&m.t==="T")return"";n[n.length]=m;o=l;break;case"[":i=l;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!Pe(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 v=0,g=0,b;for(s=n.length-1,o="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=h;o="h";if(v<1)v=1;break;case"s":if(b=n[s].v.match(/\.0+$/))g=Math.max(g,b[0].length-1);if(v<3)v=3;case"d":;case"y":;case"M":;case"e":o=n[s].t;break;case"m":if(o==="s"){n[s].t="M";if(v<2)v=2}break;case"X":break;case"Z":if(v<1&&n[s].v.match(/[Hh]/))v=1;if(v<2&&n[s].v.match(/[Mm]/))v=2;if(v<3&&n[s].v.match(/[Ss]/))v=3;}}switch(v){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 w="",k;for(s=0;s0){if(w.charCodeAt(0)==40){x=r<0&&w.charCodeAt(0)===45?-r:r;S=Me("n",w,x)}else{x=r<0&&a>1?-r:r;S=Me("n",w,x);if(x<0&&n[0]&&n[0].t=="t"){S=S.substr(1);n[0].v="-"+n[0].v}}k=S.length-1;var C=n.length;for(s=0;s-1){C=s;break}var _=n.length;if(C===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(k>=n[s].v.length-1){k-=n[s].v.length;n[s].v=S.substr(k+1,n[s].v.length)}else if(k<0)n[s].v="";else{n[s].v=S.substr(0,k+1);k=-1}n[s].t="t";_=s}if(k>=0&&_=0;--s){if(n[s]==null||"n?".indexOf(n[s].t)===-1)continue;f=n[s].v.indexOf(".")>-1&&s===C?n[s].v.indexOf(".")-1:n[s].v.length-1;y=n[s].v.substr(f+1);for(;f>=0;--f){if(k>=0&&(n[s].v.charAt(f)==="0"||n[s].v.charAt(f)==="#"))y=S.charAt(k--)+y}n[s].v=y;n[s].t="t";_=s}if(k>=0&&_-1&&s===C?n[s].v.indexOf(".")+1:0;y=n[s].v.substr(0,f);for(;f-1){x=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=Me(n[s].t,n[s].v,x);n[s].t="t"}var A="";for(s=0;s!==n.length;++s)if(n[s]!=null)A+=n[s].v;return A}var Le=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Be(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 Ue(e,r){var t=Ne(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(/\[[=<>]/)!=null||t[1].match(/\[[=<>]/)!=null){var s=t[0].match(Le);var l=t[1].match(Le);return Be(r,s)?[a,t[0]]:Be(r,l)?[a,t[1]]:[a,t[s!=null&&l!=null?2:1]]}return[a,i]}function ze(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:q)[e];if(a==null)a=t.table&&t.table[Q[e]]||q[Q[e]];if(a==null)a=ee[e]||"General";break;}if(Y(a,0))return oe(r,t);if(r instanceof Date)r=hr(r,t.date1904);var n=Ue(a,r);if(Y(n[1]))return oe(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return Re(n[1],r,t,n[0])}function $e(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(q[t]==undefined){if(r<0)r=t;continue}if(q[t]==e){r=t;break}}if(r<0)r=391}q[r]=e;return r}function We(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)$e(e[r],r)}function je(){q=Z()}var He={format:ze,load:$e,_table:q,load_table:We,parse_date_code:te,is_date:Pe,get_table:function Ic(){return He._table=q}};var Ve={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 Xe=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Ge(e){var r=typeof e=="number"?q[e]:e;r=r.replace(Xe,"(\\d+)");Xe.lastIndex=0;return new RegExp("^"+r+"$")}function Ye(e,r,t){var a=-1,n=-1,i=-1,s=-1,l=-1,o=-1;(r.match(Xe)||[]).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;}});Xe.lastIndex=0;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 Je={"d.m":"d\\.m"};function Ke(e,r){return $e(Je[e]||e,r)}var Ze=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"&&typeof n.subarray=="function"?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 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++]]^p[e[k++]]^d[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 qe=function Pc(){var e={};e.version="1.2.2";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){ka(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;case 1:{var l=e._R(4),o=e._R(4);s.usz=o*Math.pow(2,32)+l;l=e._R(4);o=e._R(4);s.csz=o*Math.pow(2,32)+l}break;}e.l=i;r[a]=s}return r}var l;function o(){return l||(l=Qe)}function c(e,r){if(e[0]==80&&e[1]==75)return Oe(e,r);if((e[0]|32)==109&&(e[1]|32)==105)return ze(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);ka(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 Oe(e,r);default:throw new Error("Major Version: Expected 3 or 4 saw "+t);}if(a!==512){p=e.slice(0,a);ka(p,28)}var w=e.slice(0,a);u(p,t);var k=p._R(4,"i");if(t===3&&k!==0)throw new Error("# Directory Sectors: Expected 0 saw "+k);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 C=g(S,s,c,a);if(s0&&l!==R)C[l].name="!MiniFAT";C[c[0]].name="!FAT";C.fat_addrs=c;C.ssz=a;var _={},A=[],T=[],E=[];b(s,C,S,A,n,_,T,l);d(T,E,A);A.shift();var F={FileIndex:T,FullPaths:E};if(r&&r.raw)F.raw={header:w,sectors:S};return F}function f(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*I,s*I+I));n-=I;s=ha(t,s*4)}if(i.length===0)return xa(0);return P(i).slice(0,e.size)}function m(e,r,t,a,n){var i=R;if(e===R){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=1)m(ha(s,a-4),r-1,t,a,n)}}function v(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var l=a-1,o=0,c=0;for(o=r;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=ha(e[f],c)}return{nodes:i,data:$t([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=ha(e[m],d);if(p[u])break}i[h]={nodes:l,data:$t([o])}}return i}function b(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!==R)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!==R&&g.start!==R&&r[o]){g.content=p(g,r[o].data,(r[l]||{}).data)}}if(g.content)ka(g.content,0);i[d]=g;s.push(g)}}function w(e,r){return new Date((ua(e,r+4)/1e7*Math.pow(2,32)+ua(e,r)/1e7-11644473600)*1e3)}function k(e,r){o();return c(l.readFileSync(e),r)}function x(e,r){var t=r&&r.type;if(!t){if(_&&Buffer.isBuffer(e))t="buffer"}switch(t||"base64"){case"file":return k(e,r);case"base64":return c(D(C(e)),r);case"binary":return c(D(e),r);}return c(e,r)}function S(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(qe.find(e,"/"+r))return;var t=xa(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){S(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 M(e,r){var t=r||{};if(t.fileType=="mad")return $e(e,t);O(e);switch(t.fileType){case"zip":return Ne(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=xa(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:R);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:R);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,W.ENDOFCHAIN);s=i=0;for(o=0;o=4096)continue;f.start=s;l(c+63>>6)}while(n.l&511)n._W(-4,W.ENDOFCHAIN);for(i=0;i32){console.error("Name "+h+" will be truncated to "+h.slice(0,32));h=h.slice(0,32)}c=2*(h.length+1);n._W(64,h,"utf16le");n._W(2,c);n._W(1,f.type);n._W(1,f.color);n._W(-4,f.L);n._W(-4,f.R);n._W(-4,f.C);if(!f.clsid)for(o=0;o<4;++o)n._W(4,0);else n._W(16,f.clsid,"hex");n._W(4,f.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,f.start);n._W(4,f.size);n._W(4,0)}for(i=1;i=4096){n.l=f.start+1<<9;if(_&&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(_&&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 ee=typeof Uint8Array!=="undefined";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=Q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(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 fe(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 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 pe(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(_){var i=F(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=ee?new Uint16Array(32768):[];while(i0)t[t.l++]=r[i++];n=t.l*8;continue}n=fe(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=he(t,n,re[c+1]>>1)-1;else{he(t,n,3);n+=5;he(t,n,re[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=he(t,n,re[c]>>3);n-=3;var d=c<4?0:c-2>>1;if(d>0){de(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+ne(e,r);r+=2;d=v[v.length-1];while(i-- >0)v.push(d);break;case 17:i=3+ie(e,r);r+=3;while(i-- >0)v.push(0);break;case 18:i=11+oe(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=ie(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=Te(e,t);l=_e;o=Ae}for(;;){if(!r&&s>>1==1?ge[f]:xe[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+=ce(e,t,h);t+=h}f=ce(e,t,o);u=a>>>1==1?be[f]:Se[f];t+=u&15;u>>>=4;var p=u<4?0:u-2>>1;var m=q[u];if(p>0){m+=ce(e,t,p);t+=p}if(!r&&s>>3];return[n.slice(0,i),t+7>>>3]}function Fe(e,r){var t=e.slice(e.l||0);var a=Ee(t,r);e.l+=a[1];return a[0]}function De(e,r){if(e){if(typeof console!=="undefined")console.error(r)}else throw new Error(r)}function Oe(e,r){var t=e;ka(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};S(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};S(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: "+Pe(l,s));n.push("");n.push(m?Le(f):Re(f))}n.push(a+"--\r\n");return n.join("\r\n")}function We(e){var r={};S(r,e);return r}function je(e,r,t,n){var i=n&&n.unsafe;if(!i)S(e);var s=!i&&qe.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)qe.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 He(e,r){S(e);var t=qe.find(e,r);if(t)for(var a=0;a=60&&e<61)return e;var r=new Date;r.setTime((e>60?e:e+1)*24*60*60*1e3+cr);return r}function pr(e){var r=0,t=0,a=false;var n=e.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!n)throw new Error("|"+e+"| is not an ISO8601 Duration");for(var i=1;i!=n.length;++i){if(!n[i])continue;t=1;if(i>3)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 mr=/^(\d+):(\d+)(:\d+)?(\.\d+)?$/;var vr=/^(\d+)-(\d+)-(\d+)$/;var gr=/^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/;function br(e,r){if(e instanceof Date)return e;var t=e.match(mr);if(t)return new Date((r?ur:fr)+((parseInt(t[1],10)*60+parseInt(t[2],10))*60+(t[3]?parseInt(t[3].slice(1),10):0))*1e3+(t[4]?parseInt((t[4]+"000").slice(1,4),10):0));t=e.match(vr);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],0,0,0,0));t=e.match(gr);if(t)return new Date(Date.UTC(+t[1],+t[2]-1,+t[3],+t[4],+t[5],t[6]&&parseInt(t[6].slice(1),10)||0,t[7]&&parseInt(t[7].slice(1),10)||0));var a=new Date(e);return a}function wr(e,r){if(_&&Buffer.isBuffer(e)){if(r&&T){if(e[0]==255&&e[1]==254)return kt(e.slice(2).toString("utf16le"));if(e[1]==254&&e[2]==255)return kt(d(e.slice(2).toString("binary")))}return e.toString("binary")}if(typeof TextDecoder!=="undefined")try{if(r){if(e[0]==255&&e[1]==254)return kt(new TextDecoder("utf-16le").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return kt(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};if(Array.isArray(e))e=new Uint8Array(e);return new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(a){}var n=[],i=0;try{for(i=0;i3&&Fr.indexOf(r)==-1)return i}else if(r.replace(/[ap]m?/,"").match(/[a-z]/))return i;if(s<0||s>8099||e.match(/[^-0-9:,\/\\\ ]/))return i;return n}var Or=function(){var e="abacaba".split(/(:?b)/i).length==5;return function r(t,a,n){if(e||typeof a=="string")return t.split(a);var i=t.split(a),s=[i[0]];for(var l=1;l\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var Jr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Kr=/<[^>]*>/g;var Zr=Gr.match(Jr)?Jr:Kr;var qr=/<\w*:/,Qr=/<(\/?)\w+:/;function et(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(Yr),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 rt(e){return e.replace(Qr,"<$1")}var tt={""":'"',"'":"'",">":">","<":"<","&":"&"};var at=sr(tt);var nt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;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))}return function a(e,r){var a=t(e);return r?a.replace(/\r\n/g,"\n"):a}}();var it=/[&<>'"]/g,st=/[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;function lt(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(st,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function ot(e){return lt(e).replace(/ /g,"_x0020_")}var ct=/[\u0000-\u001f]/g;function ft(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(/\n/g,"
").replace(ct,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function ut(e){var r=e+"";return r.replace(it,function(e){return at[e]}).replace(ct,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var ht=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 dt(e){return e.replace(/(\r\n|[\r\n])/g," ")}function pt(e){switch(e){case 1:;case true:;case"1":;case"true":return true;case 0:;case false:;case"0":;case"false":return false;}return false}function mt(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}function vt(e){var r=E(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")}function gt(e){return A(e,"binary").toString("utf8")}var bt="foo bar baz☃🍣";var wt=_&&(gt(bt)==mt(bt)&>||vt(bt)==mt(bt)&&vt)||mt;var kt=_?function(e){return A(e,"utf8").toString("binary")}: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("")};var yt=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 xt=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 Ct=/<\/?(?:vt:)?variant>/g,_t=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function Ft(e){return nr(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function Dt(e,r,t){return"<"+e+(t!=null?Ft(t):"")+(r!=null?(r.match(Tt)?' xml:space="preserve"':"")+">"+r+""}function Ot(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function Mt(e,r){switch(typeof e){case"string":var t=Dt("vt:lpwstr",lt(e));if(r)t=t.replace(/"/g,"_x0022_");return t;case"number":return Dt((e|0)==e?"vt:i4":"vt:r8",lt(String(e)));case"boolean":return Dt("vt:bool",e?"true":"false");}if(e instanceof Date)return Dt("vt:filetime",Ot(e));throw new Error("Unable to serialize "+e)}function Nt(e){if(_&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;if(typeof Uint8Array!=="undefined"&&e instanceof Uint8Array)return wt(M(I(e)));throw new Error("Bad input format: expected Buffer or string")}var It=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/](?:[^>=]|="[^"]*?")*)?>/gm;var Pt={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 Rt=["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 Lt={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 Bt(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 Ut(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 zt=function(e){var r=[],t=10240;for(var a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:A(e)})):zt(e)}:zt;var Wt=function(e,r,t){var a=[];for(var n=r;n0?Gt(e,r+4,r+4+t-1):""};var Jt=Yt;var Kt=function(e,r){var t=ua(e,r);return t>0?Gt(e,r+4,r+4+t-1):""};var Zt=Kt;var qt=function(e,r){var t=2*ua(e,r);return t>0?Gt(e,r+4,r+4+t-1):""};var Qt=qt;var ea=function Lc(e,r){var t=ua(e,r);return t>0?jt(e,r+4,r+4+t):""};var ra=ea;var ta=function(e,r){var t=ua(e,r);return t>0?Gt(e,r+4,r+4+t):""};var aa=ta;var na=function(e,r){return Bt(e,r)};var ia=na;var sa=function Bc(e){return Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array};if(_){Jt=function Uc(e,r){if(!Buffer.isBuffer(e))return Yt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Zt=function zc(e,r){if(!Buffer.isBuffer(e))return Kt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};Qt=function $c(e,r){if(!Buffer.isBuffer(e)||!T)return qt(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};ra=function Wc(e,r){if(!Buffer.isBuffer(e)||!T)return ea(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};aa=function jc(e,r){if(!Buffer.isBuffer(e))return ta(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};ia=function Hc(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return na(e,r)};sa=function Vc(e){return Buffer.isBuffer(e)||Array.isArray(e)||typeof Uint8Array!=="undefined"&&e instanceof Uint8Array}}function la(){jt=function(e,r,t){return a.utils.decode(1200,e.slice(r,t)).replace(L,"")};Gt=function(e,r,t){return a.utils.decode(65001,e.slice(r,t))};Jt=function(e,r){var n=ua(e,r);return n>0?a.utils.decode(t,e.slice(r+4,r+4+n-1)):""};Zt=function(e,t){var n=ua(e,t);return n>0?a.utils.decode(r,e.slice(t+4,t+4+n-1)):""};Qt=function(e,r){var t=2*ua(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};ra=function(e,r){var t=ua(e,r);return t>0?a.utils.decode(1200,e.slice(r+4,r+4+t)):""};aa=function(e,r){var t=ua(e,r);return t>0?a.utils.decode(65001,e.slice(r+4,r+4+t)):""}}if(typeof a!=="undefined")la();var oa=function(e,r){return e[r]};var ca=function(e,r){return e[r+1]*(1<<8)+e[r]};var fa=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var ua=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var ha=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var da=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function pa(e,t){var n="",i,s,l=[],o,c,f,u;switch(t){case"dbcs":u=this.l;if(_&&Buffer.isBuffer(this)&&T)n=this.slice(this.l,this.l+2*e).toString("utf16le");else for(f=0;f0?ha:da)(this,this.l);this.l+=4;return i}else{s=ua(this,this.l);this.l+=4}return s;case 8:;case-8:if(t==="f"){if(e==8)s=ia(this,this.l);else s=ia([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=Vt(this,this.l,e);break;};}this.l+=e;return n}var ma=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 va=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 ga=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function ba(e,n,i){var s=0,l=0;if(i==="dbcs"){for(l=0;l!=n.length;++l)ga(this,n.charCodeAt(l),this.l+2*l);s=2*n.length}else if(i==="sbcs"||i=="cpstr"){if(typeof a!=="undefined"&&t==874){for(l=0;l!=n.length;++l){var o=a.utils.encode(t,n.charAt(l));this[this.l+l]=o[0]}s=n.length}else if(typeof a!=="undefined"&&i=="cpstr"){o=a.utils.encode(r,n);if(o.length==n.length)for(l=0;l>8}while(this.l>>=8;this[this.l+1]=n&255;break;case 3:s=3;this[this.l]=n&255;n>>>=8;this[this.l+1]=n&255;n>>>=8;this[this.l+2]=n&255;break;case 4:s=4;ma(this,n,this.l);break;case 8:s=8;if(i==="f"){Ut(this,n,this.l);break};case 16:break;case-4:s=4;va(this,n,this.l);break;}this.l+=s;return this}function wa(e,r){var t=Vt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function ka(e,r){e.l=r;e._R=pa;e.chk=wa;e._W=ba}function ya(e,r){e.l+=r}function xa(e){var r=E(e);ka(r,0);return r}function Sa(e,r,t){if(!e)return;var a,n,i;ka(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&&sa(t))e.push(t)}function Aa(e,r,t){var a=kr(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 Ta(e,r,t){var a=kr(e);a.s=Aa(a.s,r.s,t);a.e=Aa(a.e,r.s,t);return a}function Ea(e,r){if(e.cRel&&e.c<0){e=kr(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=kr(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=za(e);if(!e.cRel&&e.cRel!=null)t=Ra(t);if(!e.rRel&&e.rRel!=null)t=Ma(t);return t}function Fa(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?"":"$")+Pa(e.s.c)+":"+(e.e.cRel?"":"$")+Pa(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?"":"$")+Oa(e.s.r)+":"+(e.e.rRel?"":"$")+Oa(e.e.r)}}return Ea(e.s,r.biff)+":"+Ea(e.e,r.biff)}function Da(e){return parseInt(Na(e),10)-1}function Oa(e){return""+(e+1)}function Ma(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function Na(e){return e.replace(/\$(\d+)$/,"$1")}function Ia(e){var r=La(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function Pa(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 Ra(e){return e.replace(/^([A-Z])/,"$$$1")}function La(e){return e.replace(/^\$([A-Z])/,"$1")}function Ba(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function Ua(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 za(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 $a(e){var r=e.indexOf(":");if(r==-1)return{s:Ua(e),e:Ua(e)};return{s:Ua(e.slice(0,r)),e:Ua(e.slice(r+1))}}function Wa(e,r){if(typeof r==="undefined"||typeof r==="number"){return Wa(e.s,e.e)}if(typeof e!=="string")e=za(e);if(typeof r!=="string")r=za(r);return e==r?e:e+":"+r}function ja(e){var r=$a(e);return"$"+Pa(r.s.c)+"$"+Oa(r.s.r)+":$"+Pa(r.e.c)+"$"+Oa(r.e.r)}function Ha(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e))return"'"+e.replace(/'/g,"''")+"'";return e}function Va(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 Xa(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=ze(e.z,t?hr(r):r)}catch(a){}try{return e.w=ze((e.XF||{}).numFmtId||(t?14:0),t?hr(r):r)}catch(a){return""+r}}function Ga(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 bn[e.v]||e.v;if(r==undefined)return Xa(e,e.v);return Xa(e,r)}function Ya(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ja(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=e||{};if(n&&!i["!data"])i["!data"]=[];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"?Ua(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=Va(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}var u=[];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");var d=s+h,p=""+(d+1);if(n){if(!i["!data"][d])i["!data"][d]=[];u=i["!data"][d]}for(var m=0;m!=r[h].length;++m){if(typeof r[h][m]==="undefined")continue;var v={v:r[h][m]};var g=l+m;if(c.s.r>d)c.s.r=d;if(c.s.c>g)c.s.c=g;if(c.e.r>16&255,e>>8&255,e&255]})}var vn=mn([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,0,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var gn=kr(vn);var bn={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var wn={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255};var kn=["_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"];var yn={"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 xn={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 Sn(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""}}function Cn(e){var r=Sn();if(!e||!e.match)return r;var t={};(e.match(Zr)||[]).forEach(function(e){var a=et(e);switch(a[0].replace(qr,"<")){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}function _n(e,r,t){var a=or(yn);var n=[],i;if(!t){n[n.length]=Gr;n[n.length]=Dt("Types",null,{xmlns:Pt.CT,"xmlns:xsd":Pt.xsd,"xmlns:xsi":Pt.xsi});n=n.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 Dt("Default",null,{Extension:e[0],ContentType:e[1]})}))}var s=function(t){if(e[t]&&e[t].length>0){i=e[t][0];n[n.length]=Dt("Override",null,{PartName:(i[0]=="/"?"":"/")+i,ContentType:xn[t][r.bookType]||xn[t]["xlsx"]})}};var l=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Dt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:xn[t][r.bookType]||xn[t]["xlsx"]})})};var o=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Dt("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:a[r][0]})})};s("workbooks");l("sheets");l("charts");o("themes");["strs","styles"].forEach(s);["coreprops","extprops","custprops"].forEach(o);o("vba");o("comments");o("threadedcomments");o("drawings");l("metadata");o("people");if(!t&&n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}var An={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",CONN:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Tn(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function En(e,r){var t={"!id":{}};if(!e)return t;if(r.charAt(0)!=="/"){r="/"+r}var a={};(e.match(Zr)||[]).forEach(function(e){var n=et(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Dn(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([An.HLINK,An.XPATH,An.XMISS].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 On="application/vnd.oasis.opendocument.spreadsheet";function Mn(e,r){var t=Nt(e);var a;var n;while(a=It.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=et(a[0],false);if(n.path=="/"&&n.type!==On)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 Nn(e){var r=[Gr];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function In(e,r,t){return[' \n',' \n'," \n"].join("")}function Pn(e,r){return[' \n',' \n'," \n"].join("")}function Rn(e){var r=[Gr];r.push('\n');for(var t=0;t!=e.length;++t){r.push(In(e[t][0],e[t][1]));r.push(Pn("",e[t][0]))}r.push(In("","Document","pkg"));r.push("");return r.join("")}function Ln(r,t){return'SheetJS '+e.version+""}var Bn=[["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 Un=function(){var e=new Array(Bn.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function zn(e){var r={};e=wt(e);for(var t=0;t0)r[a[1]]=nt(n[1]);if(a[2]==="date"&&r[a[1]])r[a[1]]=br(r[a[1]])}return r}function $n(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;r=lt(r);a[a.length]=t?Dt(e,r,t):Et(e,r)}function Wn(e,r){var t=r||{};var a=[Gr,Dt("cp:coreProperties",null,{"xmlns:cp":Pt.CORE_PROPS,"xmlns:dc":Pt.dc,"xmlns:dcterms":Pt.dcterms,"xmlns:dcmitype":Pt.dcmitype,"xmlns:xsi":Pt.xsi})],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)$n("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:Ot(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)$n("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:Ot(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=Bn.length;++i){var s=Bn[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)$n(s[0],l,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var jn=[["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 Hn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Vn(e,r,t,a){var n=[];if(typeof e=="string")n=At(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 Xn(e,r,t){var a={};if(!r)r={};e=wt(e);jn.forEach(function(t){var n=(e.match(yt(t[0]))||[])[1];switch(t[2]){case"string":if(n)r[t[1]]=nt(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)Vn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}function Gn(e){var r=[],t=Dt;if(!e)e={};e.Application="SheetJS";r[r.length]=Gr;r[r.length]=Dt("Properties",null,{xmlns:Pt.EXT_PROPS,"xmlns:vt":Pt.vt});jn.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=lt(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""+lt(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Yn=/<[^>]+>[^<]*/g;function Jn(e,r){var t={},a="";var n=e.match(Yn);if(n)for(var i=0;i!=n.length;++i){var s=n[i],l=et(s);switch(rt(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]=nt(f);break;case"bool":t[a]=pt(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]=br(f);break;case"cy":;case"error":t[a]=nt(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 Zn=[2,3,48,49,131,139,140,245];var qn=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 n=sr({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 i(r,t){var n=[];var i=E(1);switch(t.type){case"base64":i=D(C(r));break;case"binary":i=D(r);break;case"buffer":;case"array":i=r;break;}ka(i,0);var s=i._R(1);var l=!!(s&136);var o=false,c=false;switch(s){case 2:break;case 3:break;case 48:o=true;l=true;break;case 49:o=true;l=true;break;case 131:break;case 139:break;case 140:c=true;break;case 245:break;default:throw new Error("DBF Unsupported Version: "+s.toString(16));}var f=0,u=521;if(s==2)f=i._R(2);i.l+=3;if(s!=2)f=i._R(4);if(f>1048576)f=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(c)i.l+=36;var p=[],m={};var v=Math.min(i.length,s==2?521:u-10-(o?264:0));var g=c?32:11;while(i.l0){if(i[i.l]===42){i.l+=h;continue}++i.l;n[++b]=[];w=0;for(w=0;w!=p.length;++w){var k=i.slice(i.l,i.l+p[w].len);i.l+=p[w].len;ka(k,0);var y=typeof a!=="undefined"?a.utils.decode(d,k):M(k);switch(p[w].type){case"C":if(y.trim().length)n[b][w]=y.replace(/\s+$/,"");break;case"D":if(y.length===8){n[b][w]=new Date(Date.UTC(+y.slice(0,4),+y.slice(4,6)-1,+y.slice(6,8),0,0,0,0));if(!(t&&t.UTC)){n[b][w]=Mr(n[b][w])}}else n[b][w]=y;break;case"F":n[b][w]=parseFloat(y.trim());break;case"+":;case"I":n[b][w]=c?k._R(-4,"i")^2147483648:k._R(4,"i");break;case"L":switch(y.trim().toUpperCase()){case"Y":;case"T":n[b][w]=true;break;case"N":;case"F":n[b][w]=false;break;case"":;case"?":break;default:throw new Error("DBF Unrecognized L:|"+y+"|");}break;case"M":if(!l)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[b][w]="##MEMO##"+(c?parseInt(y.trim(),10):k._R(4));break;case"N":y=y.replace(/\u0000/g,"").trim();if(y&&y!=".")n[b][w]=+y||0;break;case"@":n[b][w]=new Date(k._R(-8,"f")-621356832e5);break;case"T":{var x=k._R(4),S=k._R(4);if(x==0&&S==0)break;n[b][w]=new Date((x-2440588)*864e5+S);if(!(t&&t.UTC))n[b][w]=Mr(n[b][w])}break;case"Y":n[b][w]=k._R(4,"i")/1e4+k._R(4,"i")/1e4*Math.pow(2,32);break;case"O":n[b][w]=-k._R(-8,"f");break;case"B":if(o&&p[w].len==8){n[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(s!=2)if(i.l=0)o(+l.codepage);if(l.type=="string")throw new Error("Cannot write DBF to JS string");var u=Ca();var h=fc(i,{header:1,raw:true,cellDates:true});var d=h[0],p=h.slice(1),m=i["!cols"]||[];var v=0,g=0,b=0,w=1;for(v=0;v250)A=250;_=((m[v]||{}).DBF||{}).type;if(_=="C"){if(m[v].DBF.len>A)A=m[v].DBF.len}if(C=="B"&&_=="N"){C="N";S[v]=m[v].DBF.dec;A=m[v].DBF.len}x[v]=C=="C"||_=="N"?A:c[C]||0;w+=x[v];y[v]=C}var E=u.next(32);E._W(4,318902576);E._W(4,p.length);E._W(2,296+32*b);E._W(2,w);for(v=0;v<4;++v)E._W(4,0);var F=+n[r]||3;E._W(4,0|F<<8);if(e[F]!=+l.codepage){if(l.codepage)console.error("DBF Unsupported codepage "+r+", using 1252");r=1252}for(v=0,g=0;vx[g])I=I.slice(0,x[g]);for(b=0;b":190,"?":191,"{":223};var r=new RegExp("N("+nr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm");var t=function(r,t){var a=e[t];return typeof a=="number"?v(a):a};var n=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:v(a)};e["|"]=254;var i=function(e){return e.replace(/\n/g," :").replace(/\r/g," =")};function s(e,r){switch(r.type){case"base64":return l(C(e),r);case"binary":return l(e,r);case"buffer":return l(_&&Buffer.isBuffer(e)?e.toString("binary"):M(e),r);case"array":return l(wr(e),r);}throw new Error("Unrecognized type "+r.type)}function l(e,i){var s=e.split(/[\n\r]+/),l=-1,c=-1,f=0,u=0,h=[];var d=[];var p=null;var m={},v=[],g=[],b=[];var w=0,k;var y={Workbook:{WBProps:{},Names:[]}};if(+i.codepage>=0)o(+i.codepage);for(;f!==s.length;++f){w=0;var x=s[f].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(r,t);var S=x.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")});var C=S[0],_;if(x.length>0)switch(C){case"ID":break;case"E":break;case"B":break;case"O":for(u=1;u=1&&A<=4)y.Workbook.WBProps.date1904=true}break;}break;case"W":break;case"P":switch(S[1].charAt(0)){case"P":d.push(x.slice(3).replace(/;;/g,";"));break;}break;case"NN":{var T={Sheet:0};for(u=1;u-1&&h[M][N];if(!L||!L[1])throw new Error("SYLK shared formula cannot find base");I=Ms(L[1],{r:l-M,c:c-N})}if(I){if(!h[l][c])h[l][c]={t:"n",f:I};else h[l][c].f=I}if(R){if(!h[l][c])h[l][c]={t:"z"};h[l][c].c=[{a:"SheetJSYLK",t:R}]}break;case"F":var B=0;for(u=1;u0){v[l].hpt=w;v[l].hpx=Pi(w)}else if(w===0)v[l].hidden=true;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+x);}if(B<1)p=null;break;default:if(i&&i.WTF)throw new Error("SYLK bad record "+x);}}if(v.length>0)m["!rows"]=v;if(g.length>0)m["!cols"]=g;g.forEach(function(e){Oi(e)});if(i&&i.sheetRows)h=h.slice(0,i.sheetRows);return[h,m,y]}function c(e,r){var t=s(e,r);var a=t[0],n=t[1],i=t[2];var l=kr(r);l.date1904=(((i||{}).Workbook||{}).WBProps||{}).date1904;var o=Ka(a,l);nr(n).forEach(function(e){o[e]=n[e]});var c=Ya(o,r);nr(i).forEach(function(e){c[e]=i[e]});c.bookType="sylk";return c}function f(e,r,t,a,n,i){var s="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":s+=e.v||0;if(e.f&&!e.F)s+=";E"+Os(e.f,{r:t,c:a});break;case"b":s+=e.v?"TRUE":"FALSE";break;case"e":s+=e.w||e.v;break;case"d":s+=hr(br(e.v,i),i);break;case"s":s+='"'+(e.v==null?"":String(e.v)).replace(/"/g,"").replace(/;/g,";;")+'"';break;}return s}function u(e,r,t){var a="C;Y"+(r+1)+";X"+(t+1)+";A";a+=i(e.map(function(e){return e.t}).join(""));return a}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=Ai(r.width);if(typeof r.wpx=="number"&&!r.wch)r.wch=Ti(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function d(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*Ii(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function p(e,r,t){if(!r)r={};r._formats=["General"];var a=["ID;PSheetJS;N;E"],n=[];var i=Va(e["!ref"]),s;var l=e["!data"]!=null;var o="\r\n";var c=(((t||{}).Workbook||{}).WBProps||{}).date1904;var p="General";a.push("P;PGeneral");var m=i.s.r,v=i.s.c,g=[];for(m=i.s.r;m<=i.e.r;++m){if(l&&!e["!data"][m])continue;g=[];for(v=i.s.c;v<=i.e.c;++v){s=l?e["!data"][m][v]:e[Pa(v)+Oa(m)];if(!s||!s.c)continue;g.push(u(s.c,m,v))}if(g.length)n.push(g.join(o))}for(m=i.s.r;m<=i.e.r;++m){if(l&&!e["!data"][m])continue;g=[];for(v=i.s.c;v<=i.e.c;++v){s=l?e["!data"][m][v]:e[Pa(v)+Oa(m)];if(!s||s.v==null&&(!s.f||s.F))continue;if((s.z||(s.t=="d"?q[14]:"General"))!=p){var b=r._formats.indexOf(s.z);if(b==-1){r._formats.push(s.z);b=r._formats.length-1;a.push("P;P"+s.z.replace(/;/g,";;"))}g.push("F;P"+b+";Y"+(m+1)+";X"+(v+1))}g.push(f(s,e,m,v,r,c))}n.push(g.join(o))}a.push("F;P0;DG0G8;M255");if(e["!cols"])h(a,e["!cols"]);if(e["!rows"])d(a,e["!rows"]);a.push("B;Y"+(i.e.r-i.s.r+1)+";X"+(i.e.c-i.s.c+1)+";D"+[i.s.c,i.s.r,i.e.c,i.e.r].join(" "));a.push("O;L;D;B"+(c?";V4":"")+";K47;G100 0.001");delete r._formats;return a.join(o)+o+n.join(o)+o+"E"+o}return{to_workbook:c,from_sheet:p}}();var ei=function(){function e(e,t){switch(t.type){case"base64":return r(C(e),t);case"binary":return r(e,t);case"buffer":return r(_&&Buffer.isBuffer(e)?e.toString("binary"):M(e),t);case"array":return r(wr(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 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"]=Wa(s);return n}function l(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 Ka(r(e,t),t)}function o(e,r){var t="",n=r.type=="string"?[0,0,0,0]:Bo(e,r);switch(r.type){case"base64":t=C(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=_&&Buffer.isBuffer(e)?e.toString("binary"):M(e);break;case"array":t=wr(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=wt(t.slice(3));else if(r.type!="string"&&r.type!="buffer"&&r.codepage==65001)t=wt(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 ri.to_sheet(r.type=="string"?t:wt(t),r);return l(t,r)}function c(e,r){return Ya(o(e,r),r)}function f(e){var r=[];var t=Va(e["!ref"]),a;var n=e["!data"]!=null;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=za({r:i,c:l});a=n?(e["!data"][i]||[])[l]:e[o];if(!a||a.v==null){s.push(" ");continue}var c=(a.w||(Ga(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:c,to_sheet:o,from_sheet:f}}();function ai(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Qn.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 ti.to_workbook(e,r)}}function ni(e){var r={},t=e.match(Zr),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=et(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 ii=function(){var e=yt("t"),r=yt("rPr");function t(t){var a=t.match(e);if(!a)return{t:"s",v:""};var n={t:"s",v:nt(a[1])};var i=t.match(r);if(i)n.s=ni(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 si=function Xc(){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 li=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,oi=/<(?:\w+:)?r\b[^>]*>/;var ci=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function fi(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:""};if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=nt(wt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""),true);a.r=wt(e);if(t)a.h=ft(a.t)}else if(e.match(oi)){a.r=wt(e);a.t=nt(wt((e.replace(ci,"").match(li)||[]).join("").replace(Zr,"")),true);if(t)a.h=si(ii(a.r))}return a}var ui=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var hi=/<(?:\w+:)?(?:si|sstItem)>/g;var di=/<\/(?:\w+:)?(?:si|sstItem)>/;function pi(e,r){var t=[],a="";if(!e)return t;var n=e.match(ui);if(n){a=n[2].replace(hi,"").split(di);for(var i=0;i!=a.length;++i){var s=fi(a[i].trim(),r);if(s!=null)t[t.length]=s}n=et(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}var mi=/^\s|\s$|[\t\n\r]/;function vi(e,r){if(!r.bookSST)return"";var t=[Gr];t[t.length]=Dt("sst",null,{xmlns:Rt[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 gi(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 bi(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 wi(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 ki(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 yi(e,r){if(r===0)return e;var t=wi(gi(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return bi(ki(t))}var xi=6,Si=15,Ci=1,_i=xi;function Ai(e){return Math.floor((e+Math.round(128/_i)/256)*_i)}function Ti(e){return Math.floor((e-5)/_i*100+.5)/100}function Ei(e){return Math.round((e*_i+5)/_i*256)/256}function Fi(e){return Ei(Ti(Ai(e)))}function Di(e){var r=Math.abs(e-Fi(e)),t=_i;if(r>.005)for(_i=Ci;_i":;case"":break;case"":;case"":n={};if(t.diagonalUp)n.diagonalUp=pt(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=pt(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 Bi(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Zr)||[]).forEach(function(e){var t=et(e);switch(rt(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 Ui(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Zr)||[]).forEach(function(e){var l=et(e);switch(rt(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 zi(e,r,t){r.NumberFmt=[];var a=nr(q);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}Ke(l,o)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function $i(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]=Dt("numFmt",null,{numFmtId:a,formatCode:lt(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=Dt("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Wi=["numFmtId","fillId","fontId","borderId","xfId"];var ji=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function Hi(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Zr)||[]).forEach(function(e){var i=et(e),s=0;switch(rt(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=pt(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 Vi(e){var r=[];r[r.length]=Dt("cellXfs",null);e.forEach(function(e){r[r.length]=Dt("xf",null,e)});r[r.length]="";if(r.length===2)return"";r[0]=Dt("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var Xi=function Gc(){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))zi(f,c,o);if(f=s.match(a))Ui(f,c,l,o);if(f=s.match(t))Bi(f,c,l,o);if(f=s.match(n))Li(f,c,l,o);if(f=s.match(r))Hi(f,c,o);return c}}();function Gi(e,r){var t=[Gr,Dt("styleSheet",null,{xmlns:Rt[0],"xmlns:vt":Pt.vt})],a;if(e.SSF&&(a=$i(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=Vi(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 Yi=["","","","","","","","","","","",""];function Ji(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Zr)||[]).forEach(function(e){var n=et(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[Yi.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 Ki(){}function Zi(){}var qi=/]*)>[\s\S]*<\/a:clrScheme>/;var Qi=/]*)>[\s\S]*<\/a:fontScheme>/;var es=/]*)>[\s\S]*<\/a:fmtScheme>/;function rs(e,r,t){r.themeElements={};var a;[["clrScheme",qi,Ji],["fontScheme",Qi,Ki],["fmtScheme",es,Zi]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var ts=/]*)>[\s\S]*<\/a:themeElements>/;function as(e,r){if(!e||e.length===0)e=ns();var t;var a={};if(!(t=e.match(ts)))throw new Error("themeElements not found in theme");rs(t[0],a,r);a.raw=e;return a}function ns(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw=="string")return e.raw;var t=[Gr];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]=''; +t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";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 is(e,r,t){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n=false;var i=2;var s;e.replace(Zr,function(e){var r=et(e);switch(rt(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;case"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n');return e.join("")}function ls(){}function os(e,r,t,a){if(!e)return e;var n=a||{};var i=false,s=false;Sa(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 cs(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var fs=/<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g;function us(e,r,t){var a=0;(e.match(fs)||[]).forEach(function(e){var n="";var i=true;var s=-1;var l=-1,o=-1;e.replace(Zr,function(r,t){var a=et(r);switch(rt(a[0])){case"":i=false;break;case"":s=t+r.length;break;case"":l=+e.slice(s,t).trim();break;case"":s=t+r.length;break;case"":o=+e.slice(s,t).trim();break;}return""});switch(n){case"Note":var c=bc(r,l>=0&&o>=0?za({r:l,c:o}):t[a].ref);if(c.c){c.c.hidden=i}++a;break;}})}function hs(e,r,t){var a=[21600,21600];var n=["m0,0l0",a[1],a[0],a[1],a[0],"0xe"].join(",");var i=[Dt("xml",null,{"xmlns:v":Lt.v,"xmlns:o":Lt.o,"xmlns:x":Lt.x,"xmlns:mv":Lt.mv}).replace(/\/>/,">"),Dt("o:shapelayout",Dt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"})];var s=65536*e;var l=r||[];if(l.length>0)i.push(Dt("v:shapetype",[Dt("v:stroke",null,{joinstyle:"miter"}),Dt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202",coordsize:a.join(","),"o:spt":202,path:n}));l.forEach(function(e){++s;i.push(ds(e,s))});i.push("");return i.join("")}function ds(e,r,t){var a=Ua(e[0]);var n={color2:"#BEFF82",type:"gradient"};if(n.type=="gradient")n.angle="-180";var i=n.type=="gradient"?Dt("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null;var s=Dt("v:fill",i,n);var l={on:"t",obscured:"t"};return["",s,Dt("v:shadow",null,l),Dt("v:path",null,{"o:connecttype":"none"}),'
','',"","",Et("x:Anchor",[a.c+1,0,a.r+1,0,a.c+3,20,a.r+5,20].join(",")),Et("x:AutoFill","False"),Et("x:Row",String(a.r)),Et("x:Column",String(a.c)),e[1].hidden?"":"","",""].join("")}function ps(e,r,t,a){var n=e["!data"]!=null;var i;r.forEach(function(r){var s=Ua(r.ref);if(s.r<0||s.c<0)return;if(n){if(!e["!data"][s.r])e["!data"][s.r]=[];i=e["!data"][s.r][s.c]}else i=e[r.ref];if(!i){i={t:"z"};if(n)e["!data"][s.r][s.c]=i;else e[r.ref]=i;var l=Va(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=et(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var l=Ua(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]&&fi(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 vs(e){var r=[Gr,Dt("comments",null,{xmlns:Rt[0]})];var t=[];r.push("");e.forEach(function(e){e[1].forEach(function(e){var a=lt(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=[],i=0;if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);e[1].forEach(function(e){if(e.a)a=t.indexOf(lt(e.a));if(e.T)++i;n.push(e.t==null?"":lt(e.t))});if(i===0){e[1].forEach(function(a){r.push('');r.push(Et("t",a.t==null?"":lt(a.t)));r.push("")})}else{if(e[1][0]&&e[1][0].T&&e[1][0].ID)a=t.indexOf("tc="+e[1][0].ID);r.push('');var s="Comment:\n "+n[0]+"\n";for(var l=1;l")}});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function gs(e,r){var t=[];var a=false,n={},i=0;e.replace(Zr,function s(l,o){var c=et(l);switch(rt(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 bs(e,r,t){var a=[Gr,Dt("ThreadedComments",null,{xmlns:Pt.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(Dt("threadedComment",Et("text",i.t||""),l))})});a.push("");return a.join("")}function ws(e,r){var t=[];var a=false;e.replace(Zr,function n(e){var n=et(e);switch(rt(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 ks(e){var r=[Gr,Dt("personList",null,{xmlns:Pt.TCMNT,"xmlns:x":Rt[0]}).replace(/[\/]>/,">")];e.forEach(function(e,t){r.push(Dt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+t).slice(-12)+"}",userId:e,providerId:"None"}))});r.push("");return r.join("")}var ys="application/vnd.ms-office.vbaProject";function xs(e){var r=qe.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*/,"");qe.utils.cfb_add(r,n,e.FileIndex[a].content)});return qe.write(r)}function Ss(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")qe.utils.cfb_add(e,n,r.FileIndex[a].content)})}var Cs=["xlsb","xlsm","xlam","biff8","xla"];function _s(){return{"!type":"dialog"}}function As(){return{"!type":"dialog"}}function Ts(){return{"!type":"macro"}}function Es(){return{"!type":"macro"}}var Fs=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?"":"$")+Pa(o)+(s?"":"$")+Oa(l)}return function a(n,i){r=i;return n.replace(e,t)}}();var Ds=/(^|[^._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 Os=function(){return function e(r,t){return r.replace(Ds,function(e,r,a,n,i,s){var l=Ia(n)-(a?0:t.c);var o=Da(s)-(i?0:t.r);var c=i=="$"?o+1:o==0?"":"["+o+"]";var f=a=="$"?l+1:l==0?"":"["+l+"]";return r+"R"+c+"C"+f})}}();function Ms(e,r){return e.replace(Ds,function(e,t,a,n,i,s){return t+(a=="$"?a+n:Pa(Ia(n)+r.c))+(i=="$"?i+s:Oa(Da(s)+r.r))})}function Ns(e,r,t){var a=$a(r),n=a.s,i=Ua(t);var s={r:i.r-n.r,c:i.c-n.c};return Ms(e,s)}function Is(e){if(e.length==1)return false;return true}function Ps(e){return e.replace(/_xlfn\./g,"")}function Rs(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(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function Ls(e){var r="of:="+e.replace(Ds,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function Bs(e){e=e.replace(/\$'([^']|'')+'/g,function(e){return e.slice(1)});e=e.replace(/\$([^\]\. #$]+)/g,function(e,r){return r.match(/^([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})?$/)?e:r});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 Us(e){return e.replace(/!/,".").replace(/:/,":.")}var zs={};var $s={};var Ws=typeof Map!=="undefined";function js(e,r,t){var a=0,n=e.length;if(t){if(Ws?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=Ws?t.get(r):t[r];for(;a-1){t.width=Ei(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 Vs(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 Xs(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){Ke(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 Gs(e,r,t,a,n,i,s){try{if(a.cellNF)e.z=q[r]}catch(l){if(a.WTF)throw l}if(e.t==="z"&&!a.cellStyles)return;if(e.t==="d"&&typeof e.v==="string")e.v=br(e.v);if((!a||a.cellText!==false)&&e.t!=="z")try{if(q[r]==null)Ke(Ve[r]||"General",r);if(e.t==="e")e.w=e.w||bn[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=e.v.toString(10);else e.w=le(e.v)}else if(e.t==="d"){var o=hr(e.v,!!s);if((o|0)===o)e.w=o.toString(10);else e.w=le(o)}else if(e.v===undefined)return"";else e.w=oe(e.v,$s)}else if(e.t==="d")e.w=ze(r,hr(e.v,!!s),$s);else e.w=ze(r,e.v,$s)}catch(l){if(a.WTF)throw l}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=yi(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=yi(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(l){if(a.WTF&&i.Fills)throw l}}function Ys(e,r,t){if(e&&e["!ref"]){var a=Va(e["!ref"]);if(a.e.c=0&&t.s.c>=0)e["!ref"]=Wa(t)}var Ks=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Zs=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/;var qs=/<(?:\w:)?hyperlink [^>]*>/gm;var Qs=/"(\w*:\w*)"/;var el=/<(?:\w:)?col\b[^>]*[\/]?>/g;var rl=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var tl=/<(?:\w:)?pageMargins[^>]*\/>/g;var al=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/;var nl=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/;var il=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function sl(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={"!id":{}};if(b!=null&&r.dense==null)r.dense=b;var l={};if(r.dense)l["!data"]=[];var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var c="",f="";var u=e.match(Zs);if(u){c=e.slice(0,u.index);f=e.slice(u.index+u[0].length)}else c=f=e;var h=c.match(al);if(h)ol(h[0],l,n,t);else if(h=c.match(nl))cl(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(Qs);if(p&&!(r&&r.nodim))Js(l,p[1])}var m=c.match(il);if(m&&m[1])xl(m[1],n);var v=[];if(r.cellStyles){var g=c.match(el);if(g)gl(v,g)}if(u)_l(u[1],l,r,o,i,s,n);var w=f.match(rl);if(w)l["!autofilter"]=wl(w[0]);var k=[];var y=f.match(Ks);if(y)for(d=0;d!=y.length;++d)k[d]=Va(y[d].slice(y[d].indexOf('"')+1));var x=f.match(qs);if(x)pl(l,x,a);var S=f.match(tl);if(S)l["!margins"]=ml(et(S[0]));var C;if(C=f.match(/legacyDrawing r:id="(.*?)"/))l["!legrel"]=C[1];if(r&&r.nodim)o.s.c=o.s.r=0;if(!l["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)l["!ref"]=Wa(o);if(r.sheetRows>0&&l["!ref"]){var _=Va(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"]=Wa(_)}}if(v.length>0)l["!cols"]=v;if(k.length>0)l["!merges"]=k;if(a["!id"][l["!legrel"]])l["!legdrawel"]=a["!id"][l["!legrel"]];return l}function ll(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function ol(e,r,t,a){var n=et(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=nt(wt(n.codeName))}function cl(e,r,t,a,n){ol(e.slice(0,e.indexOf(">")),t,a,n)}function fl(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=kt(lt(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||"")+Dt("outlinePr",null,f)}if(!i&&!l)return;n[n.length]=Dt("sheetPr",l,s)}var ul=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var hl=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];function dl(e){var r={sheet:1};ul.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});hl.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 Dt("sheetProtection",null,r)}function pl(e,r,t){var a=e["!data"]!=null;for(var n=0;n!=r.length;++n){var i=et(wt(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+nt(i.location)}else{i.Target="#"+nt(i.location);s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var l=Va(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=Pa(c)+Oa(o);if(a){if(!e["!data"][o])e["!data"][o]=[];if(!e["!data"][o][c])e["!data"][o][c]={t:"z",v:undefined};e["!data"][o][c].l=i}else{if(!e[f])e[f]={t:"z",v:undefined};e[f].l=i}}}}function ml(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function vl(e){Vs(e);return Dt("pageMargins",null,e)}function gl(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=et(r[a],true);if(n.hidden)n.hidden=pt(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;Di(n.width)}Oi(n);while(i<=s)e[i++]=kr(n)}}function bl(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=Dt("col",null,Hs(n,a))}t[t.length]="";return t.join("")}function wl(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function kl(e,r,t,a){var n=typeof e.ref=="string"?e.ref:Wa(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=$a(n);if(s.s.r==s.e.r){s.e.r=$a(r["!ref"]).e.r;n=Wa(s)}for(var l=0;la-z][^>]*)?\/?>/g;function xl(e,r){if(!r.Views)r.Views=[{}];(e.match(yl)||[]).forEach(function(e,t){var a=et(e);if(!r.Views[t])r.Views[t]={};if(+a.zoomScale)r.Views[t].zoom=+a.zoomScale;if(a.rightToLeft&&pt(a.rightToLeft))r.Views[t].RTL=true})}function Sl(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return Dt("sheetViews",Dt("sheetView",null,n),{})}function Cl(e,r,t,a,n,i,s){if(e.c)t["!comments"].push([r,e.c]);if((e.v===undefined||e.t==="z"&&!(a||{}).sheetStubs)&&typeof e.f!=="string"&&typeof e.z=="undefined")return"";var l="";var o=e.t,c=e.v;if(e.t!=="z")switch(e.t){case"b":l=e.v?"1":"0";break;case"n":if(isNaN(e.v)){e.t="e";l=bn[e.v=36]}else if(!isFinite(e.v)){e.t="e";l=bn[e.v=7]}else l=""+e.v;break;case"e":l=bn[e.v];break;case"d":if(a&&a.cellDates){var f=br(e.v,s);l=f.toISOString();if(f.getUTCFullYear()<1900)l=l.slice(l.indexOf("T")+1).replace("Z","")}else{e=kr(e);e.t="n";l=""+(e.v=hr(br(e.v,s),s))}if(typeof e.z==="undefined")e.z=q[14];break;default:l=e.v;break;}var u=e.t=="z"||e.v==null?"":Et("v",lt(l)),h={r:r};var d=Xs(a.cellXfs,e,a);if(d!==0)h.s=d;switch(e.t){case"n":break;case"d":h.t="d";break;case"b":h.t="b";break;case"e":h.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){u=Et("v",""+js(a.Strings,e.v,a.revStrings));h.t="s";break}else h.t="str";break;}if(e.t!=o){e.t=o;e.v=c}if(typeof e.f=="string"&&e.f){var p=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;u=Dt("f",lt(e.f),p)+(e.v!=null?u:"")}if(e.l){e.l.display=lt(l);t["!links"].push([r,e.l])}if(e.D)h.cm=1;return Dt("c",u,h)}var _l=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=yt("v"),s=yt("f");return function l(o,c,f,u,h,d,p){var m=0,v="",g=[],b=[],w=0,k=0,y=0,x="",S;var C,_=0,A=0;var T,E;var F=0,D=0;var O=Array.isArray(d.CellXf),M;var N=[];var I=[];var P=c["!data"]!=null;var R=[],L={},B=false;var U=!!f.sheetStubs;var z=!!((p||{}).WBProps||{}).date1904;for(var $=o.split(r),W=0,j=$.length;W!=j;++W){v=$[W].trim();var H=v.length;if(H===0)continue;var V=0;e:for(m=0;m":if(v[m-1]!="/"){++m;break e}if(f&&f.cellStyles){C=et(v.slice(V,m),true);_=C.r!=null?parseInt(C.r,10):_+1;A=-1;if(f.sheetRows&&f.sheetRows<_)continue;L={};B=false;if(C.ht){B=true;L.hpt=parseFloat(C.ht);L.hpx=Pi(L.hpt)}if(C.hidden&&pt(C.hidden)){B=true;L.hidden=true}if(C.outlineLevel!=null){B=true;L.level=+C.outlineLevel}if(B)R[_-1]=L}break;case"<":V=m;break;}if(V>=m)break;C=et(v.slice(V,m),true);_=C.r!=null?parseInt(C.r,10):_+1;A=-1;if(f.sheetRows&&f.sheetRows<_)continue;if(!f.nodim){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(C.ht){B=true;L.hpt=parseFloat(C.ht);L.hpx=Pi(L.hpt)}if(C.hidden&&pt(C.hidden)){B=true;L.hidden=true}if(C.outlineLevel!=null){B=true;L.level=+C.outlineLevel}if(B)R[_-1]=L}g=v.slice(m).split(e);for(var X=0;X!=g.length;++X)if(g[X].trim().charAt(0)!="<")break;g=g.slice(X);for(m=0;m!=g.length;++m){v=g[m].trim();if(v.length===0)continue;b=v.match(t);w=m;k=0;y=0;v="":"")+v;if(b!=null&&b.length===2){w=0;x=b[1];for(k=0;k!=x.length;++k){if((y=x.charCodeAt(k)-64)<1||y>26)break;w=26*w+y}--w;A=w}else++A;for(k=0;k!=v.length;++k)if(v.charCodeAt(k)===62)break;++k;C=et(v.slice(0,k),true);if(!C.r)C.r=za({r:_-1,c:A});x=v.slice(k);S={t:""};if((b=x.match(i))!=null&&b[1]!=="")S.v=nt(b[1]);if(f.cellFormula){if((b=x.match(s))!=null){if(b[1]==""){if(b[0].indexOf('t="shared"')>-1){E=et(b[0]);if(I[E.si])S.f=Ns(I[E.si][1],I[E.si][2],C.r); +}}else{S.f=nt(wt(b[1]),true);if(!f.xlfn)S.f=Ps(S.f);if(b[0].indexOf('t="array"')>-1){S.F=(x.match(n)||[])[1];if(S.F.indexOf(":")>-1)N.push([Va(S.F),S.F])}else if(b[0].indexOf('t="shared"')>-1){E=et(b[0]);var G=nt(wt(b[1]));if(!f.xlfn)G=Ps(G);I[parseInt(E.si,10)]=[E,G,C.r]}}}else if(b=x.match(/]*\/>/)){E=et(b[0]);if(I[E.si])S.f=Ns(I[E.si][1],I[E.si][2],C.r)}var Y=Ua(C.r);for(k=0;k=N[k][0].s.r&&Y.r<=N[k][0].e.r)if(Y.c>=N[k][0].s.c&&Y.c<=N[k][0].e.c)S.F=N[k][1]}if(C.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=C.t||"n";if(u.s.c>A)u.s.c=A;if(u.e.cK.r)u.s.r=K.r;if(u.e.r0)c["!rows"]=R}}();function Al(e,r,t,a){var n=[],i=[],s=Va(e["!ref"]),l="",o,c="",f=[],u=0,h=0,d=e["!rows"];var p=e["!data"]!=null;var m={r:c},v,g=-1;var b=(((a||{}).Workbook||{}).WBProps||{}).date1904;for(h=s.s.c;h<=s.e.c;++h)f[h]=Pa(h);for(u=s.s.r;u<=s.e.r;++u){i=[];c=Oa(u);for(h=s.s.c;h<=s.e.c;++h){o=f[h]+c;var w=p?(e["!data"][u]||[])[h]:e[o];if(w===undefined)continue;if((l=Cl(w,o,e,r,t,a,b))!=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=Ii(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]=Dt("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]=Dt("row","",m)}}return n.join("")}function Tl(e,r,t,a){var n=[Gr,Dt("worksheet",null,{xmlns:Rt[0],"xmlns:r":Pt.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=Va(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=Wa(f)}if(!a)a={};o["!comments"]=[];var u=[];fl(o,t,e,r,n);n[n.length]=Dt("dimension",null,{ref:c});n[n.length]=Sl(o,r,e,t);if(r.sheetFormat)n[n.length]=Dt("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]=bl(o,o["!cols"]);n[s=n.length]="";o["!links"]=[];if(o["!ref"]!=null){l=Al(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]=dl(o["!protect"]);if(o["!autofilter"]!=null)n[n.length]=kl(o["!autofilter"],o,t,e);if(o["!merges"]!=null&&o["!merges"].length>0)n[n.length]=ll(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=Dn(a,-1,lt(e[1].Target).replace(/#.*$/,""),An.HLINK);d["r:id"]="rId"+p}if((h=e[1].Target.indexOf("#"))>-1)d.location=lt(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=lt(e[1].Tooltip);d.display=e[1].display;n[n.length]=Dt("hyperlink",null,d)});n[n.length]=""}delete o["!links"];if(o["!margins"]!=null)n[n.length]=vl(o["!margins"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=Et("ignoredErrors",Dt("ignoredError",null,{numberStoredAsText:1,sqref:c}));if(u.length>0){p=Dn(a,-1,"../drawings/drawing"+(e+1)+".xml",An.DRAW);n[n.length]=Dt("drawing",null,{"r:id":"rId"+p});o["!drawing"]=u}if(o["!comments"].length>0){p=Dn(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",An.VML);n[n.length]=Dt("legacyDrawing",null,{"r:id":"rId"+p});o["!legacy"]=p}if(n.length>1){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function El(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=nt((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 Fl(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=El(e);f.s.r=f.s.c=0;f.e.c=l;c=Pa(l);r[0].forEach(function(e,t){if(s["!data"]){if(!s["!data"][t])s["!data"][t]=[];s["!data"][t][l]={t:"n",v:e,z:r[1]}}else s[c+Oa(t)]={t:"n",v:e,z:r[1]};o=t});if(f.e.r0)s["!ref"]=Wa(f);return s}function Dl(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(al);if(l)ol(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}var Ol=[["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 Ml=[["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 Nl=[];var Il=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Pl(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]]=pt(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function Rl(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]]=pt(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function Ll(e){Rl(e.WBProps,Ol);Rl(e.CalcPr,Il);Pl(e.WBView,Ml);Pl(e.Sheets,Nl);$s.date1904=pt(e.WBProps.date1904)}function Bl(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return pt(e.Workbook.WBProps.date1904)?"true":"false"}var Ul=":][*?/\\".split("");function zl(e,r){try{if(e=="")throw new Error("Sheet name cannot be blank");if(e.length>31)throw new Error("Sheet name cannot exceed 31 chars");if(e.charCodeAt(0)==39||e.charCodeAt(e.length-1)==39)throw new Error("Sheet name cannot start or end with apostrophe (')");if(e.toLowerCase()=="history")throw new Error("Sheet name cannot be 'History'");Ul.forEach(function(r){if(e.indexOf(r)==-1)return;throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}catch(t){if(r)return false;throw t}return true}function $l(e,r,t){e.forEach(function(a,n){zl(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function Wl(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||[];$l(e.SheetNames,r,!!e.vbaraw);for(var t=0;t":break;case"":;case"":break;case"":break;case"":Ol.forEach(function(e){if(f[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=pt(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=wt(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=nt(wt(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){Ol.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]=Dt("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:lt(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]=Dt("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]=Dt("definedName",lt(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function Xl(e,r,t){if(r.slice(-4)===".bin")return parse_wb_bin(e,t);return Hl(e,t)}function Gl(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 sl(e,a,t,n,i,s,l)}function Yl(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 Dl(e,a,t,n,i,s,l)}function Jl(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return Ts(e,a,t,n,i,s,l);return Es(e,a,t,n,i,s,l)}function Kl(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return _s(e,a,t,n,i,s,l);return As(e,a,t,n,i,s,l)}function Zl(e,r,t,a){if(r.slice(-4)===".bin")return parse_sty_bin(e,t,a);return Xi(e,t,a)}function ql(e,r,t){if(r.slice(-4)===".bin")return parse_sst_bin(e,t);return pi(e,t)}function Ql(e,r,t){if(r.slice(-4)===".bin")return parse_comments_bin(e,t);return ms(e,t)}function eo(e,r,t){if(r.slice(-4)===".bin")return parse_cc_bin(e,r,t);return parse_cc_xml(e,r,t)}function ro(e,r,t,a){if(t.slice(-4)===".bin")return os(e,r,t,a);return ls(e,r,t,a)}function to(e,r,t){if(r.slice(-4)===".bin")return parse_xlmeta_bin(e,r,t);return is(e,r,t)}function ao(e,r){var t=r||{};var a=t.dense!=null?t.dense:b;var n={};if(a)n["!data"]=[];e=e.replace(//g,"");var i=e.match(/");var s=e.match(/<\/table/i);var l=i.index,o=s&&s.index||e.length;var c=Or(e.slice(l,o),/(:?]*>)/i,"");var f=-1,u=0,h=0,d=0;var p={s:{r:1e7,c:1e7},e:{r:0,c:0}};var m=[];for(l=0;l/i);for(o=0;o"))>-1)y=y.slice(x+1);for(var S=0;S")));d=_.colspan?+_.colspan:1;if((h=+_.rowspan)>1||d>1)m.push({s:{r:f,c:u},e:{r:f+(h||1)-1,c:u+d-1}});var A=_.t||_["data-t"]||"";if(!y.length){u+=d;continue}y=xt(y);if(p.s.r>f)p.s.r=f;if(p.e.ru)p.s.c=u;if(p.e.ct||n[u].s.c>o)continue;if(n[u].e.r1)s.rowspan=c;if(f>1)s.colspan=f;if(a.editable)p=''+p+"";else if(d){s["data-t"]=d&&d.t||"z";if(d.v!=null)s["data-v"]=d.v instanceof Date?d.v.toISOString():d.v;if(d.z!=null)s["data-z"]=d.z;if(d.l&&(d.l.Target||"#").charAt(0)!="#")p=''+p+""}s.id=(a.id||"sjs")+"-"+h;i.push(Dt("td",p,s))}var m="";return m+i.join("")+""}var io='SheetJS Table Export';var so="";function lo(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||t.length==0)throw new Error("Invalid HTML: could not find
");if(t.length==1){var a=Ya(ao(t[0],r),r);a.bookType="html";return a}var n=kc();t.forEach(function(e,t){yc(n,ao(e,r),"Sheet"+(t+1))});n.bookType="html";return n}function oo(e,r,t){var a=[];return a.join("")+""}function co(e,r){var t=r||{};var a=t.header!=null?t.header:io;var n=t.footer!=null?t.footer:so;var i=[a];var s=$a(e["!ref"]);i.push(oo(e,s,t));for(var l=s.s.r;l<=s.e.r;++l)i.push(no(e,s,l,t));i.push("
"+n);return i.join("")}function fo(e,r,t){var a=r.rows;if(!a){throw"Unsupported origin when "+r.tagName+" is not a TABLE"}var n=t||{};var i=e["!data"]!=null;var s=0,l=0;if(n.origin!=null){if(typeof n.origin=="number")s=n.origin;else{var o=typeof n.origin=="string"?Ua(n.origin):n.origin;s=o.r;l=o.c}}var c=Math.min(n.sheetRows||1e7,a.length);var f={s:{r:0,c:0},e:{r:s,c:l}};if(e["!ref"]){var u=$a(e["!ref"]);f.s.r=Math.min(f.s.r,u.s.r);f.s.c=Math.min(f.s.c,u.s.c);f.e.r=Math.max(f.e.r,u.e.r);f.e.c=Math.max(f.e.c,u.e.c);if(s==-1)f.e.r=s=u.e.r+1}var h=[],d=0;var p=e["!rows"]||(e["!rows"]=[]);var m=0,v=0,g=0,b=0,w=0,k=0;if(!e["!cols"])e["!cols"]=[];for(;m1||k>1)h.push({s:{r:v+s,c:b+l},e:{r:v+s+(w||1)-1,c:b+l+(k||1)-1}});var T={t:"s",v:C};var E=S.getAttribute("data-t")||S.getAttribute("t")||"";if(C!=null){if(C.length==0)T.t=E||"z";else if(n.raw||C.trim().length==0||E=="s"){}else if(C==="TRUE")T={t:"b",v:true};else if(C==="FALSE")T={t:"b",v:false};else if(!isNaN(xr(C)))T={t:"n",v:xr(C)};else if(!isNaN(Dr(C).getDate())){T={t:"d",v:br(C)};if(n.UTC)T.v=Nr(T.v);if(!n.cellDates)T={t:"n",v:hr(T.v)};T.z=n.dateNF||q[14]}}if(T.z===undefined&&_!=null)T.z=_;var F="",D=S.getElementsByTagName("A");if(D&&D.length)for(var O=0;O=c)e["!fullref"]=Wa((f.e.r=a.length-m+v-1+s,f));return e}function uo(e,r){var t=r||{};var a={};if(t.dense)a["!data"]=[];return fo(a,e,r)}function ho(e,r){var t=Ya(uo(e,r),r);return t}function po(e){var r="";var t=mo(e);if(t)r=t(e).getPropertyValue("display");if(!r)r=e.style&&e.style.display;return r==="none"}function mo(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 vo(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=nt(r.replace(/<[^>]*>/g,""));return[t]}function go(e,r,t){var a=t||{};var n=Nt(e);It.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");var i,s,l="",o="",c,f=0,u=-1,h=false,d="";while(i=It.exec(n)){switch(i[3]=i[3].replace(/_.*$/,"")){case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":;case"text-style":if(i[1]==="/"){h=false;if(s["truncate-on-overflow"]=="false"){if(l.match(/h/))l=l.replace(/h+/,"[$&]");else if(l.match(/m/))l=l.replace(/m+/,"[$&]");else if(l.match(/s/))l=l.replace(/s+/,"[$&]")}a[s.name]=l;l=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;l="";s=et(i[0],false)}break;case"boolean-style":if(i[1]==="/"){h=false;a[s.name]="General";l=""}else if(i[0].charAt(i[0].length-2)!=="/"){h=true;l="";s=et(i[0],false)}break;case"boolean":l+="General";break;case"text":if(i[1]==="/"){d=n.slice(u,It.lastIndex-i[0].length);if(d=="%"&&s[0]=="=0")l=a[c["apply-style-name"]]+";"+l;else console.error("ODS number format may be incorrect: "+c["condition"]);break;case"number":if(i[1]==="/")break;c=et(i[0],false);o="";o+=yr("0",+c["min-integer-digits"]||1);if(pt(c["grouping"]))o=ue(yr("#",Math.max(0,4-o.length))+o);if(+c["min-decimal-places"]||+c["decimal-places"])o+=".";if(+c["min-decimal-places"])o+=yr("0",+c["min-decimal-places"]||1);if(+c["decimal-places"]-(+c["min-decimal-places"]||0))o+=yr("0",+c["decimal-places"]-(+c["min-decimal-places"]||0));l+=o;break;case"embedded-text":if(i[1]==="/"){if(f==0)l+='"'+n.slice(u,It.lastIndex-i[0].length).replace(/"/g,'""')+'"';else l=l.slice(0,f)+'"'+n.slice(u,It.lastIndex-i[0].length).replace(/"/g,'""')+'"'+l.slice(f)}else if(i[0].charAt(i[0].length-2)!=="/"){u=It.lastIndex;f=-+et(i[0],false)["position"]||0}break;}}return a}function bo(e,r,t){var a=r||{};if(b!=null&&a.dense==null)a.dense=b;var n=Nt(e);var i=[],s;var l;var o,c="",f=0;var u;var h;var d={},p=[];var m={};if(a.dense)m["!data"]=[];var v,g;var w={value:""};var k="",y=0,x,S="",C=0;var _=[],A=[];var T=-1,E=-1,F={s:{r:1e6,c:1e7},e:{r:0,c:0}};var D=0;var O=t||{},M={};var N=[],I={},P=0,R=0;var L=[],B=1,U=1;var z=[];var $={Names:[],WBProps:{}};var W={};var j=["",""];var H=[],V={};var X="",G=0;var Y=false,J=false;var K=0;It.lastIndex=0;n=n.replace(//gm,"").replace(//gm,"");while(v=It.exec(n))switch(v[3]=v[3].replace(/_.*$/,"")){case"table":;case"工作表":if(v[1]==="/"){if(F.e.c>=F.s.c&&F.e.r>=F.s.r)m["!ref"]=Wa(F);else m["!ref"]="A1:A1";if(a.sheetRows>0&&a.sheetRows<=F.e.r){m["!fullref"]=m["!ref"];F.e.r=a.sheetRows-1;m["!ref"]=Wa(F)}if(N.length)m["!merges"]=N;if(L.length)m["!rows"]=L;u.name=u["名称"]||u.name;if(typeof JSON!=="undefined")JSON.stringify(u);p.push(u.name);d[u.name]=m;J=false}else if(v[0].charAt(v[0].length-2)!=="/"){u=et(v[0],false);T=E=-1;F.s.r=F.s.c=1e7;F.e.r=F.e.c=0;m={};if(a.dense)m["!data"]=[];N=[];L=[];J=true}break;case"table-row-group":if(v[1]==="/")--D;else++D;break;case"table-row":;case"行":if(v[1]==="/"){T+=B;B=1;break}h=et(v[0],false);if(h["行号"])T=h["行号"]-1;else if(T==-1)T=0;B=+h["number-rows-repeated"]||1;if(B<10)for(K=0;K0)L[T+K]={level:D};E=-1;break;case"covered-table-cell":if(v[1]!=="/")++E;if(a.sheetStubs){if(a.dense){if(!m["!data"][T])m["!data"][T]=[];m["!data"][T][E]={t:"z"}}else m[za({r:T,c:E})]={t:"z"}}k="";_=[];break;case"table-cell":;case"数据":if(v[0].charAt(v[0].length-2)==="/"){++E;w=et(v[0],false);U=parseInt(w["number-columns-repeated"]||"1",10);g={t:"z",v:null};if(w.formula&&a.cellFormula!=false)g.f=Rs(nt(w.formula));if(w["style-name"]&&M[w["style-name"]])g.z=M[w["style-name"]];if((w["数据类型"]||w["value-type"])=="string"){g.t="s";g.v=nt(w["string-value"]||"");if(a.dense){if(!m["!data"][T])m["!data"][T]=[];m["!data"][T][E]=g}else{m[Pa(E)+Oa(T)]=g}}E+=U-1}else if(v[1]!=="/"){++E;k=S="";y=C=0;_=[];A=[];U=1;var Z=B?T+B-1:T;if(E>F.e.c)F.e.c=E;if(EF.e.r)F.e.r=Z;w=et(v[0],false);H=[];V={};g={t:w["数据类型"]||w["value-type"],v:null};if(w["style-name"]&&M[w["style-name"]])g.z=M[w["style-name"]];if(a.cellFormula){if(w.formula)w.formula=nt(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){P=parseInt(w["number-matrix-rows-spanned"],10)||0;R=parseInt(w["number-matrix-columns-spanned"],10)||0;I={s:{r:T,c:E},e:{r:T+P-1,c:E+R-1}};g.F=Wa(I);z.push([I,g.F])}if(w.formula)g.f=Rs(w.formula);else for(K=0;K=z[K][0].s.r&&T<=z[K][0].e.r)if(E>=z[K][0].s.c&&E<=z[K][0].e.c)g.F=z[K][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){P=parseInt(w["number-rows-spanned"],10)||0;R=parseInt(w["number-columns-spanned"],10)||0;I={s:{r:T,c:E},e:{r:T+P-1,c:E+R-1}};N.push(I)}if(w["number-columns-repeated"])U=parseInt(w["number-columns-repeated"],10);switch(g.t){case"boolean":g.t="b";g.v=pt(w["boolean-value"])||+w["boolean-value"]>=1;break;case"float":g.t="n";g.v=parseFloat(w.value);if(a.cellDates&&g.z&&Pe(g.z)){g.v=dr(g.v+($.WBProps.date1904?1462:0));g.t=typeof g.v=="number"?"n":"d"}break;case"percentage":g.t="n";g.v=parseFloat(w.value);break;case"currency":g.t="n";g.v=parseFloat(w.value);break;case"date":g.t="d";g.v=br(w["date-value"],$.WBProps.date1904);if(!a.cellDates){g.t="n";g.v=hr(g.v,$.WBProps.date1904)}if(!g.z)g.z="m/d/yy";break;case"time":g.t="n";g.v=pr(w["time-value"])/86400;if(a.cellDates){g.v=dr(g.v);g.t=typeof g.v=="number"?"n":"d"}if(!g.z)g.z="HH:MM:SS";break;case"number":g.t="n";g.v=parseFloat(w["数据数值"]);break;default:if(g.t==="string"||g.t==="text"||!g.t){g.t="s";if(w["string-value"]!=null){k=nt(w["string-value"]);_=[]}}else throw new Error("Unsupported value type "+g.t);}}else{Y=false;if(g.t==="s"){g.v=k||"";if(_.length)g.R=_;Y=y==0}if(W.Target)g.l=W;if(H.length>0){g.c=H;H=[]}if(k&&a.cellText!==false)g.w=k;if(Y){g.t="z";delete g.v}if(!Y||a.sheetStubs){if(!(a.sheetRows&&a.sheetRows<=T)){for(var q=0;q0)m["!data"][T+q][E+U]=kr(g)}else{m[za({r:T+q,c:E})]=g;while(--U>0)m[za({r:T+q,c:E+U})]=kr(g)}if(F.e.c<=E)F.e.c=E}}}U=parseInt(w["number-columns-repeated"]||"1",10);E+=U-1;U=0;g={};k="";_=[]}W={};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((s=i.pop())[0]!==v[3])throw"Bad state: "+s}else if(v[0].charAt(v[0].length-2)!=="/")i.push([v[3],true]);break;case"annotation":if(v[1]==="/"){if((s=i.pop())[0]!==v[3])throw"Bad state: "+s;V.t=k;if(_.length)V.R=_;V.a=X;H.push(V);k=S;y=C;_=A}else if(v[0].charAt(v[0].length-2)!=="/"){i.push([v[3],false]);var Q=et(v[0],true);if(!(Q["display"]&&pt(Q["display"])))H.hidden=true;S=k;C=y;A=_;k="";y=0;_=[]}X="";G=0;break;case"creator":if(v[1]==="/"){X=n.slice(G,v.index)}else G=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((s=i.pop())[0]!==v[3])throw"Bad state: "+s}else if(v[0].charAt(v[0].length-2)!=="/")i.push([v[3],false]);k="";y=0;_=[];break;case"scientific-number":;case"currency-symbol":;case"fill-character":break;case"text-style":;case"boolean-style":;case"number-style":;case"currency-style":;case"percentage-style":;case"date-style":;case"time-style":if(v[1]==="/"){var ee=It.lastIndex;go(n.slice(o,It.lastIndex),r,O);It.lastIndex=ee}else if(v[0].charAt(v[0].length-2)!=="/"){o=It.lastIndex-v[0].length}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"default-style":;case"page-layout":break;case"style":{var re=et(v[0],false);if(re["family"]=="table-cell"&&O[re["data-style-name"]])M[re["name"]]=O[re["data-style-name"]]}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":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":break;case"boolean":break;case"text":if(v[0].slice(-2)==="/>")break;else if(v[1]==="/")switch(i[i.length-1][0]){case"number-style":;case"date-style":;case"time-style":c+=n.slice(f,v.index);break; +;}else f=v.index+v[0].length;break;case"named-range":l=et(v[0],false);j=Bs(l["cell-range-address"]);var te={Name:l.name,Ref:j[0]+"!"+j[1]};if(J)te.Sheet=p.length;$.Names.push(te);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":l=et(v[0],false);switch(l["date-value"]){case"1904-01-01":$.WBProps.date1904=true;break;}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(i[i.length-1][0])>-1)break;if(v[1]==="/"&&(!w||!w["string-value"])){var ae=vo(n.slice(y,v.index),x);k=(k.length>0?k+"\n":"")+ae[0]}else if(v[0].slice(-2)=="/>"){k+="\n"}else{x=et(v[0],false);y=v.index+v[0].length}break;case"s":break;case"database-range":if(v[1]==="/")break;try{j=Bs(et(v[0])["target-range-address"]);d[j[0]]["!autofilter"]={ref:j[1]}}catch(ne){}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]!=="/"){W=et(v[0],false);if(!W.href)break;W.Target=nt(W.href);delete W.href;if(W.Target.charAt(0)=="#"&&W.Target.indexOf(".")>-1){j=Bs(W.Target.slice(1));W.Target="#"+j[0]+"!"+j[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(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(a.WTF)throw new Error(v);};}var ie={Sheets:d,SheetNames:p,Workbook:$};if(a.bookSheets)delete ie.Sheets;return ie}function wo(e,r){r=r||{};if(Lr(e,"META-INF/manifest.xml"))Mn(Ur(e,"META-INF/manifest.xml"),r);var t=zr(e,"styles.xml");var a=t&&go(wt(t),r);var n=zr(e,"content.xml");if(!n)throw new Error("Missing content.xml in ODS / UOF file");var i=bo(wt(n),r,a);if(Lr(e,"meta.xml"))i.Props=zn(Ur(e,"meta.xml"));i.bookType="ods";return i}function ko(e,r){var t=bo(e,r);t.bookType="fods";return t}var yo=function(){var e=["",'',"",'',"",'',"",""].join("");var r=""+e+"";return function t(){return Gr+r}}();function xo(e,r){var t="number",a="",n={"style:name":r},i="",s=0;e=e.replace(/"[$]"/g,"$");e:{if(e.indexOf(";")>-1){console.error("Unsupported ODS Style Map exported. Using first branch of "+e);e=e.slice(0,e.indexOf(";"))}if(e=="@"){t="text";a="";break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+lt(i.replace(/""/g,'"'))+""}else{a+=""+lt(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var l=e.match(/# (\?+)\/(\?+)/);if(l){a+=Dt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":l[1].length,"number:max-denominator-value":Math.max(+l[1].replace(/./g,"9"),+l[2].replace(/./g,"9"))});break e}if(l=e.match(/# (\?+)\/(\d+)/)){a+=Dt("number:fraction",null,{"number:min-integer-digits":0,"number:min-numerator-digits":l[1].length,"number:denominator-value":+l[2]});break e}if(l=e.match(/(\d+)(|\.\d+)%/)){t="percentage";a+=Dt("number:number",null,{"number:decimal-places":l[2]&&l.length-1||0,"number:min-decimal-places":l[2]&&l.length-1||0,"number:min-integer-digits":l[1].length})+"%";break e}var o=false;if(["y","m","d"].indexOf(e[0])>-1){t="date";r:for(;s";break;case"yyy":;case"yyyy":a+='';break;case"mmmmm":console.error("ODS has no equivalent of format |mmmmm|");case"m":;case"mm":;case"mmm":;case"mmmm":a+='';break;case"d":;case"dd":a+='';break;case"ddd":;case"dddd":a+='';break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+lt(i.slice(1).replace(/""/g,'"'))+"";break;case"\\":i=e[++s];a+=""+lt(i)+"";break;case"/":;case":":a+=""+lt(i)+"";break;default:console.error("unrecognized character "+i+" in ODF format "+e);}if(!o)break e;e=e.slice(s+1);s=0}if(e.match(/^\[?[hms]/)){if(t=="number")t="time";if(e.match(/\[/)){e=e.replace(/[\[\]]/g,"");n["number:truncate-on-overflow"]="false"}for(;s';break;case"m":;case"mm":a+='';break;case"s":;case"ss":if(e[s+1]==".")do{i+=e[s+1];++s}while(e[s+1]=="0");a+='";break;}break;case'"':while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+lt(i.slice(1).replace(/""/g,'"'))+"";break;case"/":;case":":a+=""+lt(i)+"";break;case"a":if(e.slice(s,s+3).toLowerCase()=="a/p"){a+="";s+=2;break}if(e.slice(s,s+5).toLowerCase()=="am/pm"){a+="";s+=4;break};default:console.error("unrecognized character "+i+" in ODF format "+e);}break e}if(e.indexOf(/\$/)>-1){t="currency"}if(e[0]=="$"){a+='$';e=e.slice(1);s=0}s=0;if(e[s]=='"'){while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;if(e[s+1]=="*"){s++;a+=""+lt(i.replace(/""/g,'"'))+""}else{a+=""+lt(i.replace(/""/g,'"'))+""}e=e.slice(s+1);s=0}var f=e.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);if(!f||!f[0])console.error("Could not find numeric part of "+e);else{var u=f[1].replace(/,/g,"");a+="-1?' number:grouping="true"':"")+(f[2]&&' number:decimal-places="'+(f[2].length-1)+'"'||' number:decimal-places="0"')+(f[3]&&f[3].indexOf("+")>-1?' number:forced-exponent-sign="true"':"")+(f[3]?' number:min-exponent-digits="'+f[3].match(/0+/)[0].length+'"':"")+">"+"";s=f.index+f[0].length}if(e[s]=='"'){i="";while(e[++s]!='"'||e[++s]=='"')i+=e[s];--s;a+=""+lt(i.replace(/""/g,'"'))+""}}if(!a){console.error("Could not generate ODS number format for |"+e+"|");return""}return Dt("number:"+t+"-style",a,n)}function So(e,r,t){var a=[];for(var n=0;n\n"+a.map(function(e){var r=(t==-1?"$":"")+Us(e.Ref);return" "+Dt("table:named-range",null,{"table:name":e.Name,"table:cell-range-address":r,"table:base-cell-address":r.replace(/[\.]?[^\.]*$/,".$A$1")})}).join("\n")+"\n \n"}var Co=function(){var e=function(e){return lt(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=function(t,a,n,i,s,l){var o=[];o.push(' \n');var c=0,f=0,u=$a(t["!ref"]||"A1");var h=t["!merges"]||[],d=0;var p=t["!data"]!=null;if(t["!cols"]){for(f=0;f<=u.e.c;++f)o.push(" \n")}var m="",v=t["!rows"]||[];for(c=0;c\n")}for(;c<=u.e.r;++c){m=v[c]?' table:style-name="ro'+v[c].ods+'"':"";o.push(" \n");for(f=0;ff)continue;if(h[d].s.r>c)continue;if(h[d].e.c\n");continue}var k=za({r:c,c:f}),y=p?(t["!data"][c]||[])[f]:t[k];if(y&&y.f){b["table:formula"]=lt(Ls(y.f));if(y.F){if(y.F.slice(0,k.length)==k){var x=$a(y.F);b["table:number-matrix-columns-spanned"]=x.e.c-x.s.c+1;b["table:number-matrix-rows-spanned"]=x.e.r-x.s.r+1}}}if(!y){o.push(r);continue}switch(y.t){case"b":w=y.v?"TRUE":"FALSE";b["office:value-type"]="boolean";b["office:boolean-value"]=y.v?"true":"false";break;case"n":w=y.w||String(y.v||0);b["office:value-type"]="float";b["office:value"]=y.v||0;break;case"s":;case"str":w=y.v==null?"":y.v;b["office:value-type"]="string";break;case"d":w=y.w||br(y.v,l).toISOString();b["office:value-type"]="date";b["office:date-value"]=br(y.v,l).toISOString();b["table:style-name"]="ce1";break;default:o.push(r);continue;}var S=e(w);if(y.l&&y.l.Target){var C=y.l.Target;C=C.charAt(0)=="#"?"#"+Us(C.slice(1)):C;if(C.charAt(0)!="#"&&!C.match(/^\w+:/))C="../"+C;S=Dt("text:a",S,{"xlink:href":C.replace(/&/g,"&")})}if(s[y.z])b["table:style-name"]="ce"+s[y.z].slice(1);var _=Dt("text:p",S,{});if(y.c){var A="",T="",E={};for(var F=0;F"+e(y.c[F].t)+""}if(!y.c.hidden)E["office:display"]=true;_=Dt("office:annotation",T,E)+_}o.push(" "+Dt("table:table-cell",_,b)+"\n")}o.push(" \n")}if((a.Workbook||{}).Names)o.push(So(a.Workbook.Names,a.SheetNames,n));o.push(" \n");return o.join("")};var a=function(e,r){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');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");var n={};var i=69;r.SheetNames.map(function(e){return r.Sheets[e]}).forEach(function(r){if(!r)return;var t=r["!data"]!=null;var a=$a(r["!ref"]);for(var s=0;s<=a.e.r;++s)for(var l=0;l<=a.e.c;++l){var o=t?(r["!data"][s]||[])[l]:r[za({r:s,c:l})];if(!o||!o.z||o.z.toLowerCase()=="general")continue;if(!n[o.z]){var c=xo(o.z,"N"+i);if(c){n[o.z]="N"+i;++i;e.push(c+"\n")}}}});e.push(' \n');nr(n).forEach(function(r){e.push('\n')});e.push(" \n");return n};return function n(e,r){var n=[Gr];var i=Ft({"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=Ft({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods"){n.push("\n");n.push(Ln().replace(//,"").replace(/<\/office:document-meta>/,"")+"\n")}else n.push("\n");var l=a(n,e);n.push(" \n");n.push(" \n");if(((e.Workbook||{}).WBProps||{}).date1904)n.push(' \n \n \n');for(var o=0;o!=e.SheetNames.length;++o)n.push(t(e.Sheets[e.SheetNames[o]],e,o,r,l,((e.Workbook||{}).WBProps||{}).date1904));if((e.Workbook||{}).Names)n.push(So(e.Workbook.Names,e.SheetNames,-1));n.push(" \n");n.push(" \n");if(r.bookType=="fods")n.push("");else n.push("");return n.join("")}}();function _o(e,r){if(r.bookType=="fods")return Co(e,r);var t=Hr();var a="";var n=[];var i=[];a="mimetype";jr(t,a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";jr(t,a,Co(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";jr(t,a,yo(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";jr(t,a,Gr+Ln());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";jr(t,a,Rn(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";jr(t,a,Nn(n));return t}function Ao(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 To(e){Ao([["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 Eo(e){Ao([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]])(e)}function Fo(e){if(An.WS.indexOf(e)>-1)return"sheet";if(An.CS&&e==An.CS)return"chart";if(An.DS&&e==An.DS)return"dialog";if(An.MS&&e==An.MS)return"macro";return e&&e.length?e:"sheet"}function Do(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,Fo(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Oo(e,r,t,a,n,i,s,l){if(!e||!e["!legdrawel"])return;var o=Xr(e["!legdrawel"].Target,a);var c=zr(t,o,true);if(c)us(wt(c),e,l||[])}function Mo(e,r,t,a,n,i,s,l,o,c,f,u){try{i[a]=En(zr(e,t,true),r);var h=Ur(e,r);var d;switch(l){case"sheet":d=Gl(h,r,n,o,i[a],c,f,u);break;case"chart":d=Yl(h,r,n,o,i[a],c,f,u);if(!d||!d["!drawel"])break;var p=Xr(d["!drawel"].Target,r);var m=Tn(p);var v=cs(zr(e,p,true),En(zr(e,m,true),p));var g=Xr(v,p);var b=Tn(g);d=Fl(zr(e,g,true),g,o,En(zr(e,b,true),g),c,d);break;case"macro":d=Jl(h,r,n,o,i[a],c,f,u);break;case"dialog":d=Kl(h,r,n,o,i[a],c,f,u);break;default:throw new Error("Unrecognized sheet type "+l);}s[a]=d;var w=[],k=[];if(i&&i[a])nr(i[a]).forEach(function(t){var n="";if(i[a][t].Type==An.CMNT){n=Xr(i[a][t].Target,r);w=Ql(Ur(e,n,true),n,o);if(!w||!w.length)return;ps(d,w,false)}if(i[a][t].Type==An.TCMNT){n=Xr(i[a][t].Target,r);k=k.concat(gs(Ur(e,n,true),o))}});if(k&&k.length)ps(d,k,true,o.people||[]);Oo(d,l,e,r,n,o,c,w)}catch(y){if(o.WTF)throw y}}function No(e){return e.charAt(0)=="/"?e.slice(1):e}function Io(e,r){je();r=r||{};To(r);if(Lr(e,"META-INF/manifest.xml"))return wo(e,r);if(Lr(e,"objectdata.xml"))return wo(e,r);if(Lr(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,r);var t=qe.utils.cfb_new();Wr(e).forEach(function(r){jr(t,r,$r(e,r))});return parse_numbers_iwa(t,r)}throw new Error("Unsupported NUMBERS file")}if(!Lr(e,"[Content_Types].xml")){if(Lr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Lr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");var a=qe.find(e,"Index.zip");if(a){r=kr(r);delete r.type;if(typeof a.content=="string")r.type="binary";if(typeof Bun!=="undefined"&&Buffer.isBuffer(a.content))return Xo(new Uint8Array(a.content),r);return Xo(a.content,r)}throw new Error("Unsupported ZIP file")}var n=Wr(e);var i=Cn(zr(e,"[Content_Types].xml"));var s=false;var l,o;if(i.workbooks.length===0){o="xl/workbook.xml";if(Ur(e,o,true))i.workbooks.push(o)}if(i.workbooks.length===0){o="xl/workbook.bin";if(!Ur(e,o,true))throw new Error("Could not find workbook");i.workbooks.push(o);s=true}if(i.workbooks[0].slice(-3)=="bin")s=true;var c={};var f={};if(!r.bookSheets&&!r.bookProps){zs=[];if(i.sst)try{zs=ql(Ur(e,No(i.sst)),i.sst,r)}catch(u){if(r.WTF)throw u}if(r.cellStyles&&i.themes.length)c=as(zr(e,i.themes[0].replace(/^\//,""),true)||"",r);if(i.style)f=Zl(Ur(e,No(i.style)),i.style,c,r)}i.links.map(function(t){try{var a=En(zr(e,Tn(No(t))),t);return ro(Ur(e,No(t)),a,t,r)}catch(n){}});var h=Xl(Ur(e,No(i.workbooks[0])),i.workbooks[0],r);var d={},p="";if(i.coreprops.length){p=Ur(e,No(i.coreprops[0]),true);if(p)d=zn(p);if(i.extprops.length!==0){p=Ur(e,No(i.extprops[0]),true);if(p)Xn(p,d,r)}}var m={};if(!r.bookSheets||r.bookProps){if(i.custprops.length!==0){p=zr(e,No(i.custprops[0]),true);if(p)m=Jn(p,r)}}var v={};if(r.bookSheets||r.bookProps){if(h.Sheets)l=h.Sheets.map(function M(e){return e.name});else if(d.Worksheets&&d.SheetNames.length>0)l=d.SheetNames;if(r.bookProps){v.Props=d;v.Custprops=m}if(r.bookSheets&&typeof l!=="undefined")v.SheetNames=l;if(r.bookSheets?v.SheetNames:r.bookProps)return v}l={};var g={};if(r.bookDeps&&i.calcchain)g=eo(Ur(e,No(i.calcchain)),i.calcchain,r);var b=0;var w={};var k,y;{var x=h.Sheets;d.Worksheets=x.length;d.SheetNames=[];for(var S=0;S!=x.length;++S){d.SheetNames[S]=x[S].name}}var C=s?"bin":"xml";var _=i.workbooks[0].lastIndexOf("/");var A=(i.workbooks[0].slice(0,_+1)+"_rels/"+i.workbooks[0].slice(_+1)+".rels").replace(/^\//,"");if(!Lr(e,A))A="xl/_rels/workbook."+C+".rels";var T=En(zr(e,A,true),A.replace(/_rels.*/,"s5s"));if((i.metadata||[]).length>=1){r.xlmeta=to(Ur(e,No(i.metadata[0])),i.metadata[0],r)}if((i.people||[]).length>=1){r.people=ws(Ur(e,No(i.people[0])),r)}if(T)T=Do(T,h.Sheets);var E=Ur(e,"xl/worksheets/sheet.xml",true)?1:0;e:for(b=0;b!=d.Worksheets;++b){var F="sheet";if(T&&T[b]){k="xl/"+T[b][1].replace(/[\/]?xl\//,"");if(!Lr(e,k))k=T[b][1];if(!Lr(e,k))k=A.replace(/_rels\/.*$/,"")+T[b][1];F=T[b][2]}else{k="xl/worksheets/sheet"+(b+1-E)+"."+C;k=k.replace(/sheet0\./,"sheet.")}y=k.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(d.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var D=false;for(var O=0;O!=r.sheets.length;++O){if(typeof r.sheets[O]=="number"&&r.sheets[O]==b)D=1;if(typeof r.sheets[O]=="string"&&r.sheets[O].toLowerCase()==d.SheetNames[b].toLowerCase())D=1}if(!D)continue e};}Mo(e,k,y,d.SheetNames[b],b,w,l,F,r,h,c,f)}v={Directory:i,Workbook:h,Props:d,Custprops:m,Deps:g,Sheets:l,SheetNames:d.SheetNames,Strings:zs,Styles:f,Themes:c,SSF:kr(q)};if(r&&r.bookFiles){if(e.files){v.keys=n;v.files=e.files}else{v.keys=[];v.files={};e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,"");v.keys.push(r);v.files[r]=e.FileIndex[t]})}}if(r&&r.bookVBA){if(i.vba.length>0)v.vbaraw=Ur(e,No(i.vba[0]),true);else if(i.defaults&&i.defaults.bin===ys)v.vbaraw=Ur(e,"xl/vbaProject.bin",true)}v.bookType=s?"xlsb":"xlsx";return v}function Po(e,r){var t=r||{};var a="Workbook",n=qe.find(e,a);try{a="/!DataSpaces/Version";n=qe.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);parse_DataSpaceVersionInfo(n.content);a="/!DataSpaces/DataSpaceMap";n=qe.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=qe.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=qe.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=qe.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=qe.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 Ro(e,r){if(e&&!e.SSF){e.SSF=kr(q)}if(e&&e.SSF){je();We(e.SSF);r.revssf=lr(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(Ws)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="bin";var a=true;var n=Sn();Eo(r=r||{});var i=Hr();var s="",l=0;r.cellXfs=[];Xs(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";jr(i,s,Wn(e.Props,r));n.coreprops.push(s);Dn(r.rels,2,s,An.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";jr(i,s,Kn(e.Custprops,r));n.custprops.push(s);Dn(r.rels,4,s,An.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 d=(h||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;jr(i,s,write_ws_bin(l-1,r,e,u));n.sheets.push(s);Dn(r.wbrels,-1,"worksheets/sheet"+l+"."+t,An.WS[0]);}if(h){var p=h["!comments"];var m=false;var v="";if(p&&p.length>0){var g=false;p.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){v="xl/threadedComments/threadedComment"+l+".xml";jr(i,v,bs(p,f,r));n.threadedcomments.push(v);Dn(u,-1,"../threadedComments/threadedComment"+l+".xml",An.TCMNT)}v="xl/comments"+l+"."+t;jr(i,v,write_comments_bin(p,r));n.comments.push(v);Dn(u,-1,"../comments"+l+"."+t,An.CMNT);m=true}if(h["!legacy"]){if(m)jr(i,"xl/drawings/vmlDrawing"+l+".vml",hs(l,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)jr(i,Tn(s),Fn(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;jr(i,s,write_sst_bin(r.Strings,r));n.strs.push(s);Dn(r.wbrels,-1,"sharedStrings."+t,An.SST)}s="xl/workbook."+t;jr(i,s,write_wb_bin(e,r));n.workbooks.push(s);Dn(r.rels,1,s,An.WB);s="xl/theme/theme1.xml";var b=ns(e.Themes,r);jr(i,s,b);n.themes.push(s);Dn(r.wbrels,-1,"theme/theme1.xml",An.THEME);s="xl/styles."+t;jr(i,s,write_sty_bin(e,r));n.styles.push(s);Dn(r.wbrels,-1,"styles."+t,An.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";jr(i,s,e.vbaraw);n.vba.push(s);Dn(r.wbrels,-1,"vbaProject.bin",An.VBA)}s="xl/metadata."+t;jr(i,s,write_xlmeta_bin());n.metadata.push(s);Dn(r.wbrels,-1,"metadata."+t,An.XLMETA);if(f.length>1){s="xl/persons/person.xml";jr(i,s,ks(f,r));n.people.push(s);Dn(r.wbrels,-1,"persons/person.xml",An.PEOPLE)}jr(i,"[Content_Types].xml",_n(n,r));jr(i,"_rels/.rels",Fn(r.rels));jr(i,"xl/_rels/workbook."+t+".rels",Fn(r.wbrels));delete r.revssf;delete r.ssf;return i}function Lo(e,r){if(e&&!e.SSF){e.SSF=kr(q)}if(e&&e.SSF){je();We(e.SSF);r.revssf=lr(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(Ws)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t="xml";var a=Cs.indexOf(r.bookType)>-1;var n=Sn();Eo(r=r||{});var i=Hr();var s="",l=0;r.cellXfs=[];Xs(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";jr(i,s,Wn(e.Props,r));n.coreprops.push(s);Dn(r.rels,2,s,An.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";jr(i,s,Kn(e.Custprops,r));n.custprops.push(s);Dn(r.rels,4,s,An.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 d=(h||{})["!type"]||"sheet";switch(d){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;jr(i,s,Tl(l-1,r,e,u));n.sheets.push(s);Dn(r.wbrels,-1,"worksheets/sheet"+l+"."+t,An.WS[0]);}if(h){var p=h["!comments"];var m=false;var v="";if(p&&p.length>0){var g=false;p.forEach(function(e){e[1].forEach(function(e){if(e.T==true)g=true})});if(g){v="xl/threadedComments/threadedComment"+l+".xml";jr(i,v,bs(p,f,r));n.threadedcomments.push(v);Dn(u,-1,"../threadedComments/threadedComment"+l+".xml",An.TCMNT); +}v="xl/comments"+l+"."+t;jr(i,v,vs(p,r));n.comments.push(v);Dn(u,-1,"../comments"+l+"."+t,An.CMNT);m=true}if(h["!legacy"]){if(m)jr(i,"xl/drawings/vmlDrawing"+l+".vml",hs(l,h["!comments"]))}delete h["!comments"];delete h["!legacy"]}if(u["!id"].rId1)jr(i,Tn(s),Fn(u))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;jr(i,s,vi(r.Strings,r));n.strs.push(s);Dn(r.wbrels,-1,"sharedStrings."+t,An.SST)}s="xl/workbook."+t;jr(i,s,Vl(e,r));n.workbooks.push(s);Dn(r.rels,1,s,An.WB);s="xl/theme/theme1.xml";jr(i,s,ns(e.Themes,r));n.themes.push(s);Dn(r.wbrels,-1,"theme/theme1.xml",An.THEME);s="xl/styles."+t;jr(i,s,Gi(e,r));n.styles.push(s);Dn(r.wbrels,-1,"styles."+t,An.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";jr(i,s,e.vbaraw);n.vba.push(s);Dn(r.wbrels,-1,"vbaProject.bin",An.VBA)}s="xl/metadata."+t;jr(i,s,ss());n.metadata.push(s);Dn(r.wbrels,-1,"metadata."+t,An.XLMETA);if(f.length>1){s="xl/persons/person.xml";jr(i,s,ks(f,r));n.people.push(s);Dn(r.wbrels,-1,"persons/person.xml",An.PEOPLE)}jr(i,"[Content_Types].xml",_n(n,r));jr(i,"_rels/.rels",Fn(r.rels));jr(i,"xl/_rels/workbook."+t+".rels",Fn(r.wbrels));delete r.revssf;delete r.ssf;return i}function Bo(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=C(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 Uo(e,r){if(qe.find(e,"EncryptedPackage"))return Po(e,r);return parse_xlscfb(e,r)}function zo(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=_&&Buffer.isBuffer(e)?"buffer":"base64";t=Vr(a,n);return Io(t,n)}function $o(e,r){var t=0;e:while(t=2&&i[3]===0)return WK_.to_workbook(n,t);if(i[2]===0&&(i[3]===8||i[3]===9))return WK_.to_workbook(n,t)}break;case 3:;case 131:;case 139:;case 140:return qn.to_workbook(n,t);case 123:if(i[1]===92&&i[2]===114&&i[3]===116)return rtf_to_workbook(n,t);break;case 10:;case 13:;case 32:return Wo(n,t);case 137:if(i[1]===80&&i[2]===78&&i[3]===71)throw new Error("PNG Image File is not a spreadsheet");break;case 8:if(i[1]===231)throw new Error("Unsupported Multiplan 1.x file!");break;case 12:if(i[1]===236)throw new Error("Unsupported Multiplan 2.x file!");if(i[1]===237)throw new Error("Unsupported Multiplan 3.x file!");break;}if(Zn.indexOf(i[0])>-1&&i[2]<=12&&i[3]<=31)return qn.to_workbook(n,t);return Vo(e,n,t,s)}function Go(e,r){var t=r||{};t.type="file";return Xo(e,t)}function Yo(e,r){switch(r.type){case"base64":;case"binary":break;case"buffer":;case"array":r.type="";break;case"file":return tr(r.file,qe.write(e,{type:_?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type);}return qe.write(e,r)}function Jo(e,r){switch(r.bookType){case"ods":return _o(e,r);case"numbers":return write_numbers_iwa(e,r);case"xlsb":return Ro(e,r);default:return Lo(e,r);}}function Ko(e,r){var t=kr(r||{});var a=Jo(e,t);return qo(a,t)}function Zo(e,r){var t=kr(r||{});var a=Lo(e,t);return qo(a,t)}function qo(e,r){var t={};var a=_?"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?qe.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(O(n))}}if(r.password&&typeof encrypt_agile!=="undefined")return Yo(encrypt_agile(n,r.password),r);if(r.type==="file")return tr(r.file,n);return r.type=="string"?wt(n):n}function Qo(e,r){var t=r||{};var a=write_xlscfb(e,t);return Yo(a,t)}function ec(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return y(kt(a));case"binary":return kt(a);case"string":return e;case"file":return tr(r.file,a,"utf8");case"buffer":{if(_)return A(a,"utf8");else if(typeof TextEncoder!=="undefined")return(new TextEncoder).encode(a);else return ec(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function rc(e,r){switch(r.type){case"base64":return x(e);case"binary":return e;case"string":return e;case"file":return tr(r.file,e,"binary");case"buffer":{if(_)return A(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function tc(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var u=Oa(o.s.r);var h=[];var d=[];var p=0,m=0;var v=e["!data"]!=null;var g=o.s.r,b=0;var w={};if(v&&!e["!data"][g])e["!data"][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]=Pa(b);t=v?e["!data"][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=Ga(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=cc(e,o,g,h,a,i,c);if(x.isempty===false||(a===1?c.blankrows!==false:!!c.blankrows))d[p++]=x.row}d.length=p;return d}var uc=/"/g;function hc(e,r,t,a,n,i,s,l){var o=true;var c=[],f="",u=Oa(t);var h=e["!data"]!=null;var d=h&&e["!data"][t]||[];for(var p=r.s.c;p<=r.e.c;++p){if(!a[p])continue;var m=h?d[p]:e[a[p]+u];if(m==null)f="";else if(m.v!=null){o=false;f=""+(l.rawNumbers&&m.t=="n"?m.v:Ga(m,null,l));for(var v=0,g=0;v!==f.length;++v)if((g=f.charCodeAt(v))===n||g===i||g===34||l.forceQuotes){f='"'+f.replace(uc,'""')+'"';break}if(f=="ID")f='"ID"'}else if(m.f!=null&&!m.F){o=false;f="="+m.f;if(f.indexOf(",")>=0)f='"'+f.replace(uc,'""')+'"'}else f="";c.push(f)}if(l.blankrows===false&&o)return null;return c.join(s)}function dc(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=Va(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=[];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]=Pa(p);var m=0;for(var v=n.s.r;v<=n.e.r;++v){if((d[v]||{}).hidden)continue;f=hc(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)}return t.join("")}function pc(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=dc(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 mc(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Va(e["!ref"]),i="",s=[],l;var o=[];var c=e["!data"]!=null;for(l=n.s.c;l<=n.e.c;++l)s[l]=Pa(l);for(var f=n.s.r;f<=n.e.r;++f){i=Oa(f);for(l=n.s.c;l<=n.e.c;++l){r=s[l]+i;t=c?(e["!data"][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 vc(e,r,t){var a=t||{};var n=e?e["!data"]!=null:a.dense;if(b!=null&&n==null)n=b;var i=+!a.skipHeader;var s=e||{};if(!e&&n)s["!data"]=[];var l=0,o=0;if(s&&a.origin!=null){if(typeof a.origin=="number")l=a.origin;else{var c=typeof a.origin=="string"?Ua(a.origin):a.origin;l=c.r;o=c.c}}var f={s:{c:0,r:0},e:{c:o,r:l+r.length-1+i}};if(s["!ref"]){var u=Va(s["!ref"]);f.e.c=Math.max(f.e.c,u.e.c);f.e.r=Math.max(f.e.r,u.e.r);if(l==-1){l=u.e.r+1;f.e.r=l+r.length-1+i}}else{if(l==-1){l=0;f.e.r=r.length-1+i}}var h=a.header||[],d=0;var p=[];r.forEach(function(e,r){if(n&&!s["!data"][l+r+i])s["!data"][l+r+i]=[];if(n)p=s["!data"][l+r+i];nr(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var c=e[t];var f="z";var u="";var m=n?"":Pa(o+d)+Oa(l+r+i);var v=n?p[o+d]:s[m];if(c&&typeof c==="object"&&!(c instanceof Date)){if(n)p[o+d]=c;else s[m]=c}else{if(typeof c=="number")f="n";else if(typeof c=="boolean")f="b";else if(typeof c=="string")f="s";else if(c instanceof Date){f="d";if(!a.UTC)c=Nr(c);if(!a.cellDates){f="n";c=hr(c)}u=v!=null&&v.z&&Pe(v.z)?v.z:a.dateNF||q[14]}else if(c===null&&a.nullError){f="e";c=0}if(!v){if(!n)s[m]=v={t:f,v:c};else p[o+d]=v={t:f,v:c}}else{v.t=f;v.v=c;delete v.w;delete v.R;if(u)v.z=u}if(u)v.z=u}})});f.e.c=Math.max(f.e.c,o+h.length-1);var m=Oa(l);if(n&&!s["!data"][l])s["!data"][l]=[];if(i)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 kc(){return{SheetNames:[],Sheets:{}}}function yc(e,r,t,a){var n=1;if(!t)for(;n<=65535;++n,t=undefined)if(e.SheetNames.indexOf(t="Sheet"+n)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535;++n)if(e.SheetNames.indexOf(t=s+n)==-1)break}zl(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r;return t}function xc(e,r,t){if(!e.Workbook)e.Workbook={};if(!e.Workbook.Sheets)e.Workbook.Sheets=[];var a=wc(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 Sc(e,r){e.z=r;return e}function Cc(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e}function _c(e,r,t){return Cc(e,"#"+r,t)}function Ac(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})}function Tc(e,r,t,a){var n=typeof r!="string"?r:Va(r);var i=typeof r=="string"?r:Wa(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=bc(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}}var c=$a(e["!ref"]);if(c.s.r>n.s.r)c.s.r=n.s.r;if(c.s.c>n.s.c)c.s.c=n.s.c;if(c.e.r","{","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","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Name","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cellText","shrbase","shift_formula_str","F_seen","hidden","hpt","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","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","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","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","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","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","lastmeta","offsets","write_xlmeta_xml","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","id","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","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","tcnt","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","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","nodim","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","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","sviewregex","Views","zoomScale","zoom","rightToLeft","RTL","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","display","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","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","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_sst","parse_sst_bin","parse_cmnt","parse_comments_bin","parse_cc","parse_cc_bin","parse_cc_xml","parse_xlink","parse_xlmeta","parse_xlmeta_bin","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","make_html_row","editable","HTML_BEGIN","HTML_END","html_to_workbook","book_new","book_append_sheet","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","lastIndex","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","pidx","sheetag","rowtag","ctag","textp","textpidx","textptag","textR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","baddate","rptR","rpt","xlmlidx","styletag","nrange","ptp","bookSheets","parse_ods","Styles","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_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","write_ws","nfs","mi","ods","ROWS","skip","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","cidx","colobj","nfi","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","index_zip","Bun","readSync","entries","dir","binname","bookProps","link","propdata","pluck","Custprops","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Directory","Deps","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_xlsb","foo","vbafmt","General","_sn","_i","wsrels","_type","write_ws_bin","need_vml","write_comments_bin","rId1","write_sst_bin","write_wb_bin","write_sty_bin","write_xlmeta_bin","write_zip_xlsx","needtc","read_cfb","parse_xlscfb","read_zip","read_plaintext","main","parse_xlml","read_plaintext_raw","read_utf16","bstrify","read_prn","ab","vu","WK_","rtf_to_workbook","write_cfb_ctr","write_numbers_iwa","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_rtf","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","datarow","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","ws_get_cell_stub","RC","wb_sheet_idx","sh","roll","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","wsr","table_to_sheet","sheet_to_row_object_array","sheet_get_cell","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","readFile","writeXLSX","writeFileXLSX","__stream","stream","require","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 +{"version":3,"sources":["dist/xlsx.mini.js"],"names":["XLSX","make_xlsx_lib","version","current_codepage","current_ansi","$cptable","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","utf16lereadu","utf16beread","debom","c1","c2","slice","_getchar","_gc1","x","_getansi","_ga1","set_cptable","cptable","utils","decode","_gc2","_ga2","cpdoit","DENSE","DIF_XL","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_encode_pass","Base64_encode_arr","Base64_decode","replace","has_buf","Buffer","undefined","node","Buffer_from","nbfs","from","e","buf","enc","bind","buf_utf16le","toString","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","a2u","Error","ab2a","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","utf8decode","content","out","widx","L","ridx","d","push","chr0","chr1","_strrev","pad0","v","t","fill","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","SSF_isgeneral","days","months","SSF_init_table","table_fmt","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","SSF_default_map","5","6","7","8","23","24","25","26","27","28","29","30","31","50","51","52","53","54","55","57","58","59","60","61","62","67","68","70","71","72","73","74","75","76","78","79","80","81","82","SSF_default_str","63","64","65","66","41","42","43","44","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","w","toFixed","toPrecision","toExponential","SSF_large_exp","SSF_general_num","V","log","LOG10E","substr","toUpperCase","SSF_general","SSF_format","datenum","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","outstr","commaify","j","pct1","write_num_pct","sfmt","mul","write_num","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","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","l","lat","m1","m2","dateNF","table","SSF_load","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","32","33","34","35","36","dateNFregex","dateNF_regex","lastIndex","RegExp","dateNF_fix","Y","forEach","n","datestr","timestr","bad_formats","d.m","SSF__load","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","sz1","sz2","usz","csz","fs","get_fs","_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","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","console","error","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","message","_inflateRawSync","_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","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","set_fs","blobify","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","b64","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","dnthresh","UTC","dnthresh1","dnthresh2","epoch","getTime","res","numdate","setTime","parse_isodur","sec","pdre1","pdre2","pdre3","parseDate","cc2str","arr","debomit","TextDecoder","€","‚","ƒ","„","…","†","‡","ˆ","‰","Š","‹","Œ","Ž","‘","’","“","”","•","–","—","˜","™","š","›","œ","ž","Ÿ","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","FDRE1","FDRE2","FDISO","utc_append_works","valueOf","fuzzytime1","fuzzytime2","lower_months","fuzzydate","local_to_utc","lower","lnos","getYear","split_regex","safe_split_regex","re","def","utc_to_local","utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","local","getMilliseconds","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex2","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","raw_unescapexml","xlsx","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","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","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","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","utf8_b","___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","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cpp","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","fix_range","a1","formula_quote_sheet_name","sname","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","__Rstr","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR_VARIANT","VT_VECTOR_LPSTR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","2147483648","2147483651","1919054434","SummaryPIDSI","CountryEnum","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","#NULL!","#DIV/0!","#VALUE!","#REF!","#NAME?","#NUM!","#N/A","#GETTING_DATA","#WTF?","XLSLblBuiltIn","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","write_ct","type2ct","xmlns:xsd","xmlns:xsi","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","CONN","VBA","get_rels_path","parse_rels","currentFilePath","!id","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","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","wb","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","87","88","89","108","135","dbf_reverse_map","dbf_to_aoa","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","hi","lo","sheetRows","dbf_to_sheet","wch","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","old_cp","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_l","_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","encode_sylk_str","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","Workbook","WBProps","Names","rstr","record","d1904","nn","Sheet","Name","Ref","rc_to_a1","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","cell_t","cmnt","cellText","shrbase","shift_formula_str","F_seen","hidden","hpt","hpx","pt2px","process_col","sylk_to_workbook","aoasht","outwb","write_ws_cell_sylk","F","a1_to_rc","write_ws_cmnt_sylk","write_ws_cols_sylk","rec","width","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","_formats","preamble","RS","_lastfmt","ifmt","DIF","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","make_value","make_value_str","sheet_to_dif","_DIF_XL","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","coord","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","news","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","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","lastmeta","offsets","write_xlmeta_xml","parse_xlink_xml","parse_xlink_bin","xlink_parse","parse_drawing","id","shapevmlregex","parse_vml","cidx","aidx","ObjectType","ws_get_cell_stub","ref","write_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","_shapeid","_comments","joinstyle","gradientshapeok","o:connecttype","coordsize","o:spt","write_vml_comment","fillopts","color2","angle","fillparm","fillxml","shadata","on","obscured","fillcolor","strokecolor","sheet_insert_comments","threaded","comment","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","guid","textMatch","rt","write_comments_xml","iauthor","ID","lastauthor","ts","tcnt","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","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","nodim","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","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","sviewregex","Views","zoomScale","zoom","rightToLeft","RTL","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","_vv","os","Strings","revStrings","display","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","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","CalcPr","WBView","safe1904","badchars","check_ws_name","check_wb_names","N","codes","cn","check_wb","dn","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_sst","parse_sst_bin","parse_cmnt","parse_comments_bin","parse_cc","parse_cc_bin","parse_cc_xml","parse_xlink","parse_xlmeta","parse_xlmeta_bin","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","make_html_row","editable","HTML_BEGIN","HTML_END","html_to_workbook","book_new","book_append_sheet","make_html_preamble","sheet_to_html","sheet_add_dom","tagName","or_R","or_C","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","getElementsByTagName","Aelti","parse_dom_table","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_text_p","fixed","parse_ods_styles","_nfm","number_format_map","NFtag","tNF","etpos","infmt","parse_content_xml","nfidx","pidx","sheetag","rowtag","ctag","textp","textpidx","textptag","oldtextp","oldtextpidx","textR","oldtextR","row_ol","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","annotag","xlmlidx","styletag","nrange","ptp","bookSheets","parse_ods","Styles","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_number_format_ods","nopts","style:name","number:min-integer-digits","number:min-numerator-digits","number:max-denominator-value","number:denominator-value","number:decimal-places","number:min-decimal-places","has_time","np","write_names_ods","scoped","namei","odsref","table:name","table:cell-range-address","table:base-cell-address","write_content_ods","write_text_p","null_cell_xml","write_ws","nfs","mi","ods","ROWS","skip","_Fref","text_p","_tgt","xlink:href","acreator","apayload","aprops","ci","write_automatic_styles_ods","colobj","nfi","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","parse_sheet_legacy_drawing","dfile","draw","safe_parse_sheet","relsPath","sheetRels","stype","drelsp","chartp","crelsp","tcomments","strip_front_slash","parse_numbers_iwa","_zip","index_zip","Bun","readSync","entries","dir","binname","bookProps","link","propdata","pluck","Custprops","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Directory","Deps","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_xlsb","foo","vbafmt","General","_sn","_i","wsrels","_type","write_ws_bin","need_vml","needtc","write_comments_bin","rId1","write_sst_bin","write_wb_bin","write_sty_bin","write_xlmeta_bin","write_zip_xlsx","read_cfb","parse_xlscfb","read_zip","read_plaintext","main","parse_xlml","read_plaintext_raw","read_utf16","bstrify","read_prn","ab","vu","WK_","rtf_to_workbook","write_cfb_ctr","write_numbers_iwa","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_rtf","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","datarow","forceQuotes","endregex","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","ROW","JS","json_to_sheet","RC","wb_sheet_idx","sh","roll","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","wsr","table_to_sheet","sheet_to_row_object_array","sheet_get_cell","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","readFile","writeXLSX","writeFileXLSX","__stream","stream","require","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/modules/83_numbers.js b/modules/83_numbers.js index 488e3a4..d281a9e 100644 --- a/modules/83_numbers.js +++ b/modules/83_numbers.js @@ -566,10 +566,10 @@ function numbers_format_cell(cell, t, flags, ofmt, nfmt) { cell.w = cell.w.replace(/:(\d\d\d)$/, ".$1"); } } -function parse_old_storage(buf, lut, v) { +function parse_old_storage(buf, lut, v, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); - var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)); var doff = v > 1 ? 12 : 8; if (flags & 2) { zidx = dv.getUint32(doff, true); @@ -590,7 +590,7 @@ function parse_old_storage(buf, lut, v) { doff += 8; } if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (v > 1) { @@ -613,7 +613,12 @@ function parse_old_storage(buf, lut, v) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -644,12 +649,12 @@ function parse_old_storage(buf, lut, v) { ret.v /= 86400; return ret; } -function parse_new_storage(buf, lut) { +function parse_new_storage(buf, lut, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1), eidx = -1, fidx = -1; + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; if (fields & 1) { d128 = readDecimal128LE(buf, doff); doff += 16; @@ -659,7 +664,7 @@ function parse_new_storage(buf, lut) { doff += 8; } if (fields & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (fields & 8) { @@ -693,7 +698,12 @@ function parse_new_storage(buf, lut) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -744,10 +754,18 @@ function write_new_storage(cell, lut) { out[0] = 5; switch (cell.t) { case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - fields |= 1; - l += 16; + if (cell.z && fmt_is_date(cell.z)) { + out[1] = 5; + dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + } else { + out[1] = 2; + writeDecimal128LE(out, l, cell.v); + fields |= 1; + l += 16; + } break; case "b": out[1] = 6; @@ -780,6 +798,12 @@ function write_new_storage(cell, lut) { } } break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; case "z": out[1] = 0; break; @@ -796,7 +820,7 @@ function write_new_storage(cell, lut) { return out[subarray](0, l); } function write_old_storage(cell, lut) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; switch (cell.t) { case "n": @@ -805,7 +829,7 @@ function write_old_storage(cell, lut) { break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if (cell.l) { var irsst = lut.rsst.findIndex(function(v) { var _a; @@ -821,6 +845,10 @@ function write_old_storage(cell, lut) { } } break; + case "d": + break; + case "e": + break; case "z": break; default: @@ -846,7 +874,7 @@ function write_old_storage(cell, lut) { break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if (cell.l) { } else { var isst = lut.sst.indexOf(s); @@ -859,6 +887,12 @@ function write_old_storage(cell, lut) { } } break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 64; + l += 8; + break; case "z": out[1] = 0; break; @@ -868,16 +902,16 @@ function write_old_storage(cell, lut) { dv.setUint32(8, fields, true); return out[subarray](0, l); } -function parse_cell_storage(buf, lut) { +function parse_cell_storage(buf, lut, opts) { switch (buf[0]) { case 0: case 1: case 2: case 3: case 4: - return parse_old_storage(buf, lut, buf[0]); + return parse_old_storage(buf, lut, buf[0], opts); case 5: - return parse_new_storage(buf, lut); + return parse_new_storage(buf, lut, opts); default: throw new Error("Unsupported payload version ".concat(buf[0])); } @@ -1082,7 +1116,7 @@ function s5s_to_iwa_comment(s5s) { } return out; } -function parse_TST_TableModelArchive(M, root, ws) { +function parse_TST_TableModelArchive(M, root, ws, opts) { var _a, _b, _c, _d, _e, _f, _g, _h, _i; var pb = parse_shallow(root.data); var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; @@ -1121,7 +1155,7 @@ function parse_TST_TableModelArchive(M, root, ws) { var _tile = parse_TST_Tile(M, ref2); _tile.data.forEach(function(row, R) { row.forEach(function(buf, C) { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if (res) { if (dense) { if (!dws["!data"][_R + R]) @@ -1162,7 +1196,7 @@ function parse_TST_TableInfoArchive(M, root, opts) { 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); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } function parse_TN_SheetArchive(M, root, opts) { @@ -1185,6 +1219,7 @@ function parse_TN_SheetArchive(M, root, opts) { function parse_TN_DocumentArchive(M, root, opts) { var _a; var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if ((_a = pb[2]) == null ? void 0 : _a[0]) throw new Error("Keynote presentations are not supported"); @@ -1300,8 +1335,8 @@ function write_TST_TileRowInfo(data, lut, wide) { switch (data[C].t) { case "d": if (data[C].v instanceof Date) { - celload = write_new_storage({ t: "s", v: data[C].v.toISOString() }, lut); - _celload = write_old_storage({ t: "s", v: data[C].v.toISOString() }, lut); + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); break; } celload = write_new_storage(data[C], lut); diff --git a/modules/83_numbers.ts b/modules/83_numbers.ts index f9576b5..d0271ac 100644 --- a/modules/83_numbers.ts +++ b/modules/83_numbers.ts @@ -4,7 +4,7 @@ /* these are type imports and do not show up in the generated JS */ import { CFB$Container, CFB$Entry } from 'cfb'; import { WorkBook, WorkSheet, Range, CellObject, ParsingOptions, WritingOptions, DenseWorkSheet, Comments } from '../'; -import type { utils } from "../"; +import type { utils, NumberFormat } from "../"; declare var encode_col: typeof utils.encode_col; declare var encode_row: typeof utils.encode_row; @@ -12,6 +12,9 @@ declare var encode_range: typeof utils.encode_range; declare var book_new: typeof utils.book_new; declare var book_append_sheet: typeof utils.book_append_sheet; declare var decode_range: typeof utils.decode_range; +declare var numdate: (num: number) => Date; +declare var table_fmt: {[nf: number]: string}; +declare function fmt_is_date(fmt: NumberFormat): boolean; import * as _CFB from 'cfb'; declare var CFB: typeof _CFB; //< 1 ? 12 : 8); if(flags & 0x0002) { zidx = dv.getUint32(doff, true); doff += 4;} doff += popcnt(flags & (v > 1 ? 0x0D8C : 0x018C)) * 4; @@ -500,7 +503,7 @@ function parse_old_storage(buf: Uint8Array, lut: DataLUT, v: 0|1|2|3|4): CellObj doff += popcnt(flags & (v > 1 ? 0x3000 : 0x1000)) * 4; if(flags & 0x0010) { sidx = dv.getUint32(doff, true); doff += 4; } if(flags & 0x0020) { ieee = dv.getFloat64(doff, true); doff += 8; } - if(flags & 0x0040) { dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1000); doff += 8; } + if(flags & 0x0040) { dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1000); doff += 8; } if(v > 1) { flags = dv.getUint32(8, true) >>> 16; @@ -514,7 +517,10 @@ function parse_old_storage(buf: Uint8Array, lut: DataLUT, v: 0|1|2|3|4): CellObj case 0: return void 0; // return { t: "z" }; // blank? case 2: ret = { t: "n", v: ieee }; break; // number case 3: ret = { t: "s", v: lut.sst[sidx] }; break; // string - case 5: ret = { t: "d", v: dt }; break; // date-time + case 5: { // date-time + if(opts?.cellDates) ret = { t: "d", v: dt }; + else ret = ({ t: "n", v: dc/(86400)+35430, z: table_fmt[14]}); + } break; case 6: ret = { t: "b", v: ieee > 0 }; break; // boolean case 7: ret = { t: "n", v: ieee }; break; // duration in seconds case 8: ret = { t: "e", v: 0}; break; // "formula error" TODO: enumerate and map errors to csf equivalents @@ -534,19 +540,19 @@ function parse_old_storage(buf: Uint8Array, lut: DataLUT, v: 0|1|2|3|4): CellObj } /** Parse "new storage" (version 5) */ -function parse_new_storage(buf: Uint8Array, lut: DataLUT): CellObject | void { +function parse_new_storage(buf: Uint8Array, lut: DataLUT, opts?: ParsingOptions): CellObject | void { var dv = u8_to_dataview(buf); // TODO: bytes 2:3 appear to be unused? var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1), eidx = -1, fidx = -1; + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; // 0x00001F data if(fields & 0x000001) { d128 = readDecimal128LE(buf, doff); doff += 16; } if(fields & 0x000002) { ieee = dv.getFloat64(doff, true); doff += 8; } - if(fields & 0x000004) { dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1000); doff += 8; } + if(fields & 0x000004) { dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1000); doff += 8; } if(fields & 0x000008) { sidx = dv.getUint32(doff, true); doff += 4; } if(fields & 0x000010) { ridx = dv.getUint32(doff, true); doff += 4; } @@ -564,7 +570,10 @@ function parse_new_storage(buf: Uint8Array, lut: DataLUT): CellObject | void { case 0: ret = { t: "z" }; break; case 2: ret = { t: "n", v: d128 }; break; // number case 3: ret = { t: "s", v: lut.sst[sidx] }; break; // string - case 5: ret = { t: "d", v: dt }; break; // date-time + case 5: { // date-time + if(opts?.cellDates) ret = { t: "d", v: dt }; + else ret = ({ t: "n", v: dc/(86400)+35430, z: table_fmt[14]}); + } break; case 6: ret = { t: "b", v: ieee > 0 }; break; // boolean case 7: ret = { t: "n", v: ieee }; break; // duration in "s", fixed later case 8: ret = { t: "e", v: 0 }; break; // "formula error" TODO: enumerate and map errors to csf equivalents @@ -603,7 +612,11 @@ function write_new_storage(cell: CellObject, lut: DataLUT): Uint8Array { var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; out[0] = 5; switch(cell.t) { - case "n": out[1] = 2; writeDecimal128LE(out, l, cell.v as number); fields |= 1; l += 16; break; + case "n": if(cell.z && fmt_is_date(cell.z)) { + out[1] = 5; dv.setFloat64(l, ((numdate((cell.v as number) + 1462)).getTime() - Date.UTC(2001, 0, 1))/1000, true); fields |= 4; l += 8; break + } else { + out[1] = 2; writeDecimal128LE(out, l, cell.v as number); fields |= 1; l += 16; + } break case "b": out[1] = 6; dv.setFloat64(l, cell.v ? 1 : 0, true); fields |= 2; l += 8; break; case "s": { var s = cell.v == null ? "" : String(cell.v); @@ -617,6 +630,8 @@ function write_new_storage(cell: CellObject, lut: DataLUT): Uint8Array { out[1] = 3; dv.setUint32(l, isst, true); fields |= 8; l += 4; } } break; + case "d": out[1] = 5; dv.setFloat64(l, ((cell.v as Date).getTime() - Date.UTC(2001, 0, 1))/1000, true); fields |= 4; l += 8; break; + case "z": out[1] = 0; break; default: throw "unsupported cell type " + cell.t; } @@ -629,20 +644,22 @@ function write_new_storage(cell: CellObject, lut: DataLUT): Uint8Array { } /** Write a cell "old storage" (version 4) */ function write_old_storage(cell: CellObject, lut: DataLUT): Uint8Array { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; /* note: rich text appears *before* comments */ switch(cell.t) { case "n": break; case "b": break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if(cell.l) { var irsst = lut.rsst.findIndex(v => v.v == s && v.l == cell.l?.Target); if(irsst == -1) lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; out[1] = 9; dv.setUint32(l, irsst, true); fields |= 0x200; l += 4; } else { } } break; + case "d": break; + case "e": break; case "z": break; default: throw "unsupported cell type " + cell.t; } @@ -654,13 +671,14 @@ function write_old_storage(cell: CellObject, lut: DataLUT): Uint8Array { case "n": out[1] = 2; dv.setFloat64(l, cell.v as number, true); fields |= 0x20; l += 8; break; case "b": out[1] = 6; dv.setFloat64(l, cell.v ? 1 : 0, true); fields |= 0x20; l += 8; break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if(cell.l) { } else { var isst = lut.sst.indexOf(s); if(isst == -1) lut.sst[isst = lut.sst.length] = s; out[1] = 3; dv.setUint32(l, isst, true); fields |= 0x10; l += 4; } } break; + case "d": out[1] = 5; dv.setFloat64(l, ((cell.v as Date).getTime() - Date.UTC(2001, 0, 1))/1000, true); fields |= 0x40; l += 8; break; case "z": out[1] = 0; break; default: throw "unsupported cell type " + cell.t; } @@ -668,11 +686,11 @@ function write_old_storage(cell: CellObject, lut: DataLUT): Uint8Array { return out[subarray](0, l); } //<>> 0) - 1; @@ -918,7 +936,7 @@ function parse_TST_TableModelArchive(M: MessageSpace, root: IWAMessage, ws: Work var _tile = parse_TST_Tile(M, ref); _tile.data.forEach((row, R) => { row.forEach((buf, C) => { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if(res) { if(dense) { if(!dws["!data"][_R + R]) dws["!data"][_R + R] = []; @@ -959,7 +977,7 @@ function parse_TST_TableInfoArchive(M: MessageSpace, root: IWAMessage, opts?: Pa 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 ${mtype}`); - parse_TST_TableModelArchive(M, tableref[0], out); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } @@ -987,6 +1005,7 @@ function parse_TN_SheetArchive(M: MessageSpace, root: IWAMessage, opts?: Parsing /** Parse .TN.DocumentArchive */ function parse_TN_DocumentArchive(M: MessageSpace, root: IWAMessage, opts?: ParsingOptions): WorkBook { var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if(pb[2]?.[0]) throw new Error("Keynote presentations are not supported"); @@ -1093,10 +1112,9 @@ function write_TST_TileRowInfo(data: CellObject[], lut: DataLUT, wide: boolean): var celload: Uint8Array, _celload: Uint8Array; switch(data[C].t) { case "d": - // TODO: write the actual date code if(data[C].v instanceof Date) { - celload = write_new_storage({t: "s", v: (data[C].v as Date).toISOString()}, lut); - /*if(!wide)*/ _celload = write_old_storage({t: "s", v: (data[C].v as Date).toISOString()}, lut); + celload = write_new_storage(data[C], lut); + /*if(!wide)*/ _celload = write_old_storage(data[C], lut); break; } /* TODO: can esbuild preserve falls through comments ? */ diff --git a/package.json b/package.json index 1c8e945..7d6f63e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xlsx", - "version": "0.19.3", + "version": "0.20.0", "author": "sheetjs", "description": "SheetJS Spreadsheet data parser and writer", "keywords": [ diff --git a/test.js b/test.js index 94be8a8..0ae6cec 100644 --- a/test.js +++ b/test.js @@ -1554,7 +1554,7 @@ describe('write features', function() { ["String", "123"], ["Number", 123], ["Boolean", true], - ["Date", new Date()], + ["Date", new Date()] ], { cellDates: true }); ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" var wb = X.utils.book_new(); @@ -1571,28 +1571,30 @@ function seq(end/*:number*/, start/*:?number*/)/*:Array*/ { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str/*:string|Date*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1816,7 +1818,7 @@ describe('roundtrip features', function() { ]; var o = X.utils.sheet_to_json(X.utils.json_to_sheet(data, {cellDates:true})); data.forEach(function(row, i) { - Object.keys(row).forEach(function(k) { assert.equal(row[k], o[i][k]); }); + Object.keys(row).forEach(function(k) { assert.equal(row[k].valueOf(), o[i][k].valueOf()); }); }); }); @@ -2189,7 +2191,15 @@ describe('CSV', function() { assert.equal(cell.w, '2/19/14'); }); it('should honor dateNF override', function() { - var opts = ({type:"binary", dateNF:"YYYY-MM-DD"}/*:any*/); + var opts = ({type:"binary", dateNF:"YYYY-MM-DD", cellNF: true}/*:any*/); + var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ + assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.ok(cell.w == '14-02-19' || cell.w == "2/19/14"); + var opts = ({type:"binary", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19'); @@ -2203,10 +2213,18 @@ describe('CSV', function() { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"binary", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"binary", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); it('should interpret values by default', function() { plaintext_test(X.read(csv_bstr, {type:"binary"}), false); }); it('should generate strings if raw option is passed', function() { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2236,7 +2254,8 @@ describe('CSV', function() { ["3b", "3 b", "3 b-1"], ["3p", "3 P", "3 p-1"] ]; - var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); @@ -2244,14 +2263,46 @@ describe('CSV', function() { assert.equal(get_cell(ws, "B2").v, "3 b"); var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); } assert.equal(get_cell(ws, "B2").v, "3 b"); - var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); - var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); }); }); @@ -2402,19 +2453,31 @@ describe('dbf', function() { ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] ]/*:any*/); + var wbsfalse = ([]); + var wbstrue = ([]); var bef = (function() { - wbs = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: true })]; }); }); if(typeof before != 'undefined') before(bef); else it('before', bef); it(wbs[1][0], function() { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; [ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ].forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "v", 6260], ["E2", "w", "19170219"], + ["F2", "v", 6260], ["F2", "w", "19170219"], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ].forEach(function(r) { + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[2]); + }); + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + [ + ["E2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["E2", "w", "19170219"], + ["F2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["F2", "w", "19170219"] + ].forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]].valueOf(), r[2].valueOf()); + }); }); if(!browser || typeof cptable !== 'undefined') it("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", function() { [ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ].forEach(function(r) { diff --git a/test.mjs b/test.mjs index 89ae56d..c764b46 100644 --- a/test.mjs +++ b/test.mjs @@ -1550,6 +1550,22 @@ describe('write features', function() { assert.equal(Name.Ref, "Sheet1!$A$1:$C$3"); assert.equal(wb2.Workbook.Names.length, wb3.Workbook.Names.length); }); }); + it('should handle non-string values for "s" cells', function() {[ + "xlsx", "xlsb", "xls", "biff5", "biff2", "xlml", "numbers", "ods", "fods", "wk3", "csv", "txt", "sylk", "html", "dif", "dbf", "wk1", "rtf", "prn" + ].forEach(function(fmt) { + if(fmt == "numbers" && !can_write_numbers) return; + var ws = X.utils.aoa_to_sheet([ + ["String", "123"], + ["Number", 123], + ["Boolean", true], + ["Date", new Date()], + ], { cellDates: true }); + ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" + var wb = X.utils.book_new(); + X.utils.book_append_sheet(wb, ws, "Sheet1"); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: false, numbers:XLSX_ZAHL}); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: true, numbers:XLSX_ZAHL}); + }); }); }); function seq(end/*:number*/, start/*:?number*/)/*:Array*/ { @@ -1559,28 +1575,30 @@ function seq(end/*:number*/, start/*:?number*/)/*:Array*/ { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str/*:string|Date*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1804,7 +1822,7 @@ describe('roundtrip features', function() { ]; var o = X.utils.sheet_to_json(X.utils.json_to_sheet(data, {cellDates:true})); data.forEach(function(row, i) { - Object.keys(row).forEach(function(k) { assert.equal(row[k], o[i][k]); }); + Object.keys(row).forEach(function(k) { assert.equal(row[k].valueOf(), o[i][k].valueOf()); }); }); }); @@ -1891,6 +1909,21 @@ describe('invalid files', function() { wb.SheetNames.push(wb.SheetNames[0]); assert.throws(function() { X.write(wb, {type:'binary'}); }); }); + it('should fail if sheet name is not valid', function() { + var names = [ + "", // cannot be blank + "abcdefghijklmnopqrstuvwxyz1234567890", // cannot exceed 31 chars + "'sheetjs", "sheetjs'", // cannot start or end with apostrophe + "History", // cannot be History + "Sheet:JS", "Sheet]JS", "Sheet[JS", "Sheet*JS", // bad characters + "Sheet?JS", "Sheet\\JS", "Sheet\/JS" + ]; + names.forEach(function(n) { assert.throws(function() { + var wb = { SheetNames: [n], Sheets: {} }; + wb.Sheets[n] = X.utils.aoa_to_sheet([["SheetJS"]]); + X.write(wb, {type:"binary", bookType:"xlsx"}); + }); }); + }); }); }); @@ -2162,7 +2195,15 @@ describe('CSV', function() { assert.equal(cell.w, '2/19/14'); }); it('should honor dateNF override', function() { - var opts = ({type:"binary", dateNF:"YYYY-MM-DD"}/*:any*/); + var opts = ({type:"binary", dateNF:"YYYY-MM-DD", cellNF: true}/*:any*/); + var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ + assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.ok(cell.w == '14-02-19' || cell.w == "2/19/14"); + var opts = ({type:"binary", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19'); @@ -2176,10 +2217,18 @@ describe('CSV', function() { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"binary", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"binary", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); it('should interpret values by default', function() { plaintext_test(X.read(csv_bstr, {type:"binary"}), false); }); it('should generate strings if raw option is passed', function() { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2209,7 +2258,8 @@ describe('CSV', function() { ["3b", "3 b", "3 b-1"], ["3p", "3 P", "3 p-1"] ]; - var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); @@ -2217,14 +2267,46 @@ describe('CSV', function() { assert.equal(get_cell(ws, "B2").v, "3 b"); var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); } assert.equal(get_cell(ws, "B2").v, "3 b"); - var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); - var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); }); }); @@ -2375,19 +2457,31 @@ describe('dbf', function() { ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] ]/*:any*/); + var wbsfalse = ([]); + var wbstrue = ([]); var bef = (function() { - wbs = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: true })]; }); }); if(typeof before != 'undefined') before(bef); else it('before', bef); it(wbs[1][0], function() { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; [ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ].forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "v", 6260], ["E2", "w", "19170219"], + ["F2", "v", 6260], ["F2", "w", "19170219"], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ].forEach(function(r) { + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[2]); + }); + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + [ + ["E2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["E2", "w", "19170219"], + ["F2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["F2", "w", "19170219"], + ].forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]].valueOf(), r[2].valueOf()); + }); }); if(!browser || typeof cptable !== 'undefined') it("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", function() { [ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ].forEach(function(r) { diff --git a/test.mts b/test.mts index be47592..675a304 100644 --- a/test.mts +++ b/test.mts @@ -1006,7 +1006,7 @@ describe('parse features', function() { describe('sheetRows', function() { it('should use original range if not set', function() { - var opts = {type:TYPE}; + var opts: X.ParsingOptions = {type:TYPE}; FSTPaths.map(function(p) { return X.read(fs.readFileSync(p), opts); }).forEach(function(wb) { assert.equal(wb.Sheets["Text"]["!ref"],"A1:F49"); }); @@ -1510,6 +1510,22 @@ describe('write features', function() { assert.equal(Name.Ref, "Sheet1!$A$1:$C$3"); assert.equal(((wb2.Workbook as any).Names as any).length, ((wb3.Workbook as any).Names as any).length); }); }); + it('should handle non-string values for "s" cells', function() {([ + "xlsx", "xlsb", "xls", "biff5", "biff2", "xlml", "numbers", "ods", "fods", "wk3", "csv", "txt", "sylk", "html", "dif", "dbf", "wk1", "rtf", "prn" + ] as Array).forEach(function(fmt) { + if(fmt == "numbers" && !can_write_numbers) return; + var ws = X.utils.aoa_to_sheet([ + ["String", "123"], + ["Number", 123], + ["Boolean", true], + ["Date", new Date()], + ], { cellDates: true }); + ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" + var wb = X.utils.book_new(); + X.utils.book_append_sheet(wb, ws, "Sheet1"); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: false, numbers:XLSX_ZAHL}); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: true, numbers:XLSX_ZAHL}); + }); }); }); function seq(end: number, start?: number): Array { @@ -1519,28 +1535,30 @@ function seq(end: number, start?: number): Array { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v: Date, date1904?: boolean): number { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str: string|Date): Date { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str: string|Date, date1904?: boolean): Date { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1851,6 +1869,21 @@ describe('invalid files', function() { wb.SheetNames.push(wb.SheetNames[0]); assert.throws(function() { X.write(wb, {type:'binary'}); }); }); + it('should fail if sheet name is not valid', function() { + var names = [ + "", // cannot be blank + "abcdefghijklmnopqrstuvwxyz1234567890", // cannot exceed 31 chars + "'sheetjs", "sheetjs'", // cannot start or end with apostrophe + "History", // cannot be History + "Sheet:JS", "Sheet]JS", "Sheet[JS", "Sheet*JS", // bad characters + "Sheet?JS", "Sheet\\JS", "Sheet\/JS" + ]; + names.forEach(function(n) { assert.throws(function() { + var wb: X.WorkBook = { SheetNames: [n], Sheets: {} }; + wb.Sheets[n] = X.utils.aoa_to_sheet([["SheetJS"]]); + X.write(wb, {type:"binary", bookType:"xlsx"}); + }); }); + }); }); }); @@ -2118,9 +2151,17 @@ describe('CSV', function() { assert.equal(cell.w, '2/19/14'); }); it('should honor dateNF override', function() { - var opts: X.ParsingOptions = ({type:"binary", dateNF:"YYYY-MM-DD"}); + var opts: X.ParsingOptions = ({type:"binary", dateNF:"YYYY-MM-DD", cellNF: true}); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ + assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.ok(cell.w == '14-02-19' || cell.w == "2/19/14"); + opts = ({type:"binary", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19'); opts.cellDates = true; opts.dateNF = "YY-MM-DD"; cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); @@ -2132,10 +2173,18 @@ describe('CSV', function() { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"binary", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"binary", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); it('should interpret values by default', function() { plaintext_test(X.read(csv_bstr, {type:"binary"}), false); }); it('should generate strings if raw option is passed', function() { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2163,9 +2212,10 @@ describe('CSV', function() { var aoa = [ ["3a", "3 a", "3 a-1"], ["3b", "3 b", "3 b-1"], - ["3p", "3 P", "3 p-1"], + ["3p", "3 P", "3 p-1"] ]; - var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); @@ -2173,14 +2223,46 @@ describe('CSV', function() { assert.equal(get_cell(ws, "B2").v, "3 b"); var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); } assert.equal(get_cell(ws, "B2").v, "3 b"); - var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); - var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); }); }); @@ -2317,18 +2399,31 @@ describe('numbers', function() { }); describe('dbf', function() { - var wbs: Array<[string, X.WorkBook]> = ([ + var wbs: Array<[string, string]> = ([ ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] - ]).map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + ]); + var wbsfalse: Array<[string, X.WorkBook]> = ([]); + var wbstrue: Array<[string, X.WorkBook]> = ([]); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: true })]; }); it(wbs[1][0], function() { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; ([ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ] as Array<[string, string, any]>).forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "v", 6260], ["E2", "w", "19170219"], + ["F2", "v", 6260], ["F2", "w", "19170219"], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ] as Array<[string, string, any]>).forEach(function(r) { + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[2]); + }); + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + ([ + ["E2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["E2", "w", "19170219"], + ["F2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["F2", "w", "19170219"], + ] as Array<[string, string, any]>).forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]].valueOf(), r[2].valueOf()); + }); }); it("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", function() { ([ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ] as Array<[number,string]>).forEach(function(r) { diff --git a/test.ts b/test.ts index 446e55e..18e281b 100644 --- a/test.ts +++ b/test.ts @@ -1006,7 +1006,7 @@ Deno.test('parse features', async function(t) { await t.step('sheetRows', async function(t) { await t.step('should use original range if not set', async function(t) { - var opts = {type:TYPE}; + var opts: X.ParsingOptions = {type:TYPE}; FSTPaths.map(function(p) { return X.read(fs.readFileSync(p), opts); }).forEach(function(wb) { assert.equal(wb.Sheets["Text"]["!ref"],"A1:F49"); }); @@ -1510,6 +1510,22 @@ Deno.test('write features', async function(t) { assert.equal(Name.Ref, "Sheet1!$A$1:$C$3"); assert.equal(((wb2.Workbook as any).Names as any).length, ((wb3.Workbook as any).Names as any).length); }); }); + await t.step('should handle non-string values for "s" cells', async function(t) {([ + "xlsx", "xlsb", "xls", "biff5", "biff2", "xlml", "numbers", "ods", "fods", "wk3", "csv", "txt", "sylk", "html", "dif", "dbf", "wk1", "rtf", "prn" + ] as Array).forEach(function(fmt) { + if(fmt == "numbers" && !can_write_numbers) return; + var ws = X.utils.aoa_to_sheet([ + ["String", "123"], + ["Number", 123], + ["Boolean", true], + ["Date", new Date()], + ], { cellDates: true }); + ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" + var wb = X.utils.book_new(); + X.utils.book_append_sheet(wb, ws, "Sheet1"); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: false, numbers:XLSX_ZAHL}); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: true, numbers:XLSX_ZAHL}); + }); }); }); function seq(end: number, start?: number): Array { @@ -1519,28 +1535,30 @@ function seq(end: number, start?: number): Array { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v: Date, date1904?: boolean): number { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str: string|Date): Date { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str: string|Date, date1904?: boolean): Date { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1851,6 +1869,21 @@ Deno.test('invalid files', async function(t) { wb.SheetNames.push(wb.SheetNames[0]); assert.throws(function() { X.write(wb, {type:'binary'}); }); }); + await t.step('should fail if sheet name is not valid', async function(t) { + var names = [ + "", // cannot be blank + "abcdefghijklmnopqrstuvwxyz1234567890", // cannot exceed 31 chars + "'sheetjs", "sheetjs'", // cannot start or end with apostrophe + "History", // cannot be History + "Sheet:JS", "Sheet]JS", "Sheet[JS", "Sheet*JS", // bad characters + "Sheet?JS", "Sheet\\JS", "Sheet\/JS" + ]; + names.forEach(function(n) { assert.throws(function() { + var wb: X.WorkBook = { SheetNames: [n], Sheets: {} }; + wb.Sheets[n] = X.utils.aoa_to_sheet([["SheetJS"]]); + X.write(wb, {type:"binary", bookType:"xlsx"}); + }); }); + }); }); }); @@ -2118,9 +2151,17 @@ Deno.test('CSV', async function(t) { assert.equal(cell.w, '2/19/14'); }); await t.step('should honor dateNF override', async function(t) { - var opts: X.ParsingOptions = ({type:"binary", dateNF:"YYYY-MM-DD"}); + var opts: X.ParsingOptions = ({type:"binary", dateNF:"YYYY-MM-DD", cellNF: true}); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ + assert.assert(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.assert(cell.w == '14-02-19' || cell.w == "2/19/14"); + opts = ({type:"binary", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ assert.assert(cell.w == '2014-02-19' || cell.w == '1914-02-19'); opts.cellDates = true; opts.dateNF = "YY-MM-DD"; cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); @@ -2132,10 +2173,18 @@ Deno.test('CSV', async function(t) { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"binary", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"binary", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); await t.step('should interpret values by default', async function(t) { plaintext_test(X.read(csv_bstr, {type:"binary"}), false); }); await t.step('should generate strings if raw option is passed', async function(t) { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2163,9 +2212,10 @@ Deno.test('CSV', async function(t) { var aoa = [ ["3a", "3 a", "3 a-1"], ["3b", "3 b", "3 b-1"], - ["3p", "3 P", "3 p-1"], + ["3p", "3 P", "3 p-1"] ]; - var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); @@ -2173,14 +2223,46 @@ Deno.test('CSV', async function(t) { assert.equal(get_cell(ws, "B2").v, "3 b"); var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); } assert.equal(get_cell(ws, "B2").v, "3 b"); - var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); - var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); }); }); @@ -2317,18 +2399,31 @@ Deno.test('numbers', async function(t) { }); Deno.test('dbf', async function(t) { - var wbs: Array<[string, X.WorkBook]> = ([ + var wbs: Array<[string, string]> = ([ ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] - ]).map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + ]); + var wbsfalse: Array<[string, X.WorkBook]> = ([]); + var wbstrue: Array<[string, X.WorkBook]> = ([]); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: true })]; }); await t.step(wbs[1][0], async function(t) { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; ([ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ] as Array<[string, string, any]>).forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "v", 6260], ["E2", "w", "19170219"], + ["F2", "v", 6260], ["F2", "w", "19170219"], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ] as Array<[string, string, any]>).forEach(function(r) { + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[2]); + }); + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + ([ + ["E2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["E2", "w", "19170219"], + ["F2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["F2", "w", "19170219"], + ] as Array<[string, string, any]>).forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]].valueOf(), r[2].valueOf()); + }); }); await t.step("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", async function(t) { ([ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ] as Array<[number,string]>).forEach(function(r) { diff --git a/testbun.mjs b/testbun.mjs index c4cc3c6..7981837 100644 --- a/testbun.mjs +++ b/testbun.mjs @@ -684,6 +684,7 @@ describe('parse options', function() { }); }); }); }); + describe('input formats', function() { if(false) it('should read binary strings', function() { artifax.forEach(function(p) { X.read(fs.readFileSync(p, 'binary'), {type: 'binary'}); @@ -691,6 +692,22 @@ describe('input formats', function() { if(false) it('should read base64 strings', function() { artifax.forEach(function(p) { X.read(fs.readFileSync(p, 'base64'), {type: 'base64'}); }); }); + it('handles base64 within data URI scheme (gh-2762)', function() { + var data = 'TmFtZXMNCkhhZmV6DQpTYW0NCg=='; + + var wb0 = X.read(data, { type: 'base64' }); // raw base64 string + var wb1 = X.read('data:;base64,' + data, { type: 'base64' }); // data URI, no media type + var wb2 = X.read('data:text/csv;base64,' + data, { type: 'base64' }); // data URI, CSV type + var wb3 = X.read('data:application/vnd.ms-excel;base64,' + data, { type: 'base64' }); // data URI, Excel + + [wb0, wb1, wb2, wb3].forEach(function(wb) { + var ws = wb.Sheets.Sheet1; + assert.equal(ws["!ref"], "A1:A3"); + assert.equal(get_cell(ws, "A1").v, "Names"); + assert.equal(get_cell(ws, "A2").v, "Hafez"); + assert.equal(get_cell(ws, "A3").v, "Sam"); + }); + }); if(false) if(typeof Uint8Array !== 'undefined') it('should read array', function() { artifax.forEach(function(p) { X.read(fs.readFileSync(p, 'binary').split("").map(function(x) { return x.charCodeAt(0); }), {type:'array'}); }); }); @@ -1538,6 +1555,22 @@ describe('write features', function() { assert.equal(Name.Ref, "Sheet1!$A$1:$C$3"); assert.equal(wb2.Workbook.Names.length, wb3.Workbook.Names.length); }); }); + it('should handle non-string values for "s" cells', function() {[ + "xlsx", "xlsb", "xls", "biff5", "biff2", "xlml", "numbers", "ods", "fods", "wk3", "csv", "txt", "sylk", "html", "dif", "dbf", "wk1", "rtf", "prn" + ].forEach(function(fmt) { + if(fmt == "numbers" && !can_write_numbers) return; + var ws = X.utils.aoa_to_sheet([ + ["String", "123"], + ["Number", 123], + ["Boolean", true], + ["Date", new Date()], + ], { cellDates: true }); + ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" + var wb = X.utils.book_new(); + X.utils.book_append_sheet(wb, ws, "Sheet1"); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: false, numbers:XLSX_ZAHL}); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: true, numbers:XLSX_ZAHL}); + }); }); }); function seq(end/*:number*/, start/*:?number*/)/*:Array*/ { @@ -1547,28 +1580,30 @@ function seq(end/*:number*/, start/*:?number*/)/*:Array*/ { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str/*:string|Date*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1791,7 +1826,7 @@ describe('roundtrip features', function() { ]; var o = X.utils.sheet_to_json(X.utils.json_to_sheet(data, {cellDates:true})); data.forEach(function(row, i) { - Object.keys(row).forEach(function(k) { assert.equal(row[k], o[i][k]); }); + Object.keys(row).forEach(function(k) { assert.equal(row[k].valueOf(), o[i][k].valueOf()); }); }); }); @@ -1878,6 +1913,21 @@ describe('invalid files', function() { wb.SheetNames.push(wb.SheetNames[0]); assert.throws(function() { X.write(wb, {type:'binary'}); }); }); + it('should fail if sheet name is not valid', function() { + var names = [ + "", // cannot be blank + "abcdefghijklmnopqrstuvwxyz1234567890", // cannot exceed 31 chars + "'sheetjs", "sheetjs'", // cannot start or end with apostrophe + "History", // cannot be History + "Sheet:JS", "Sheet]JS", "Sheet[JS", "Sheet*JS", // bad characters + "Sheet?JS", "Sheet\\JS", "Sheet\/JS" + ]; + names.forEach(function(n) { assert.throws(function() { + var wb = { SheetNames: [n], Sheets: {} }; + wb.Sheets[n] = X.utils.aoa_to_sheet([["SheetJS"]]); + X.write(wb, {type:"binary", bookType:"xlsx"}); + }); }); + }); }); }); @@ -2149,7 +2199,15 @@ describe('CSV', function() { assert.equal(cell.w, '2/19/14'); }); it('should honor dateNF override', function() { - var opts = ({type:"buffer", dateNF:"YYYY-MM-DD"}/*:any*/); + var opts = ({type:"buffer", dateNF:"YYYY-MM-DD", cellNF: true}/*:any*/); + var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ + assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.ok(cell.w == '14-02-19' || cell.w == "2/19/14"); + var opts = ({type:"buffer", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19'); @@ -2163,10 +2221,18 @@ describe('CSV', function() { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"buffer", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"buffer", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); it('should interpret values by default', function() { plaintext_test(X.read(csv_bstr, {type:"buffer"}), false); }); it('should generate strings if raw option is passed', function() { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2190,6 +2256,48 @@ describe('CSV', function() { assert.equal(get_cell(ws, "B2").v, "j" + m[1] + "l"); }); }); + it('should parse date-less meridien time values', function() { + var aoa = [ + ["3a", "3 a", "3 a-1"], + ["3b", "3 b", "3 b-1"], + ["3p", "3 P", "3 p-1"] + ]; + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); + var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + /* this particular case is not well-defined */ + //var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal((24 + Math.round(B1.v * 24)) % 24, Math.round(3 + 24 + new Date(1899,11,31,0,0,0,0).getTimezoneOffset()/60) % 24); + //var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal((24 + Math.round(B3.v * 24)) % 24, Math.round(15 + 24 + new Date(1899,11,31,0,0,0,0).getTimezoneOffset()/60) % 24); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + }); }); describe('output', function(){ var data, ws; @@ -2338,19 +2446,36 @@ describe('dbf', function() { ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] ]/*:any*/); + var wbstrue = ([]); + var wbsfalse = ([]); var bef = (function() { - wbs = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, UTC: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, UTC: true })]; }); }); if(typeof before != 'undefined') before(bef); else it('before', bef); it(wbs[1][0], function() { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; [ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ].forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "w", "19170219", (new Date(1917,1,19).getTimezoneOffset() > 0 ? "19170218" : "19170219")], + ["F2", "w", "19170219", (new Date(1917,1,19).getTimezoneOffset() > 0 ? "19170218" : "19170219")], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ].forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]], r[2]); + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[3] || r[2]); + }); + }); + if(!browser || typeof cptable !== 'undefined') it("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", function() { + [ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ].forEach(function(r) { + var book = X.utils.book_new(); + var sheet = X.utils.aoa_to_sheet([["ASCII", "encoded"], ["Test", r[1]]]); + X.utils.book_append_sheet(book, sheet, "sheet1"); + var data = X.write(book, {type: TYPE, bookType: "dbf", codepage:r[0]}); + var wb = X.read(data, {type: TYPE}); + assert.equal(wb.Sheets.Sheet1.B2.v, r[1]); + }); }); }); //import { JSDOM } from 'jsdom'; diff --git a/testnocp.ts b/testnocp.ts index 5a59903..b942797 100644 --- a/testnocp.ts +++ b/testnocp.ts @@ -1005,7 +1005,7 @@ Deno.test('parse features', async function(t) { await t.step('sheetRows', async function(t) { await t.step('should use original range if not set', async function(t) { - var opts = {type:TYPE}; + var opts: X.ParsingOptions = {type:TYPE}; FSTPaths.map(function(p) { return X.read(fs.readFileSync(p), opts); }).forEach(function(wb) { assert.equal(wb.Sheets["Text"]["!ref"],"A1:F49"); }); @@ -1509,6 +1509,22 @@ Deno.test('write features', async function(t) { assert.equal(Name.Ref, "Sheet1!$A$1:$C$3"); assert.equal(((wb2.Workbook as any).Names as any).length, ((wb3.Workbook as any).Names as any).length); }); }); + await t.step('should handle non-string values for "s" cells', async function(t) {([ + "xlsx", "xlsb", "xls", "biff5", "biff2", "xlml", "numbers", "ods", "fods", "wk3", "csv", "txt", "sylk", "html", "dif", "dbf", "wk1", "rtf", "prn" + ] as Array).forEach(function(fmt) { + if(fmt == "numbers" && !can_write_numbers) return; + var ws = X.utils.aoa_to_sheet([ + ["String", "123"], + ["Number", 123], + ["Boolean", true], + ["Date", new Date()], + ], { cellDates: true }); + ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" + var wb = X.utils.book_new(); + X.utils.book_append_sheet(wb, ws, "Sheet1"); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: false, numbers:XLSX_ZAHL}); + X.write(wb, {type: TYPE, bookType: fmt, bookSST: true, numbers:XLSX_ZAHL}); + }); }); }); function seq(end: number, start?: number): Array { @@ -1518,28 +1534,30 @@ function seq(end: number, start?: number): Array { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v: Date, date1904?: boolean): number { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str: string|Date): Date { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str: string|Date, date1904?: boolean): Date { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1850,6 +1868,21 @@ Deno.test('invalid files', async function(t) { wb.SheetNames.push(wb.SheetNames[0]); assert.throws(function() { X.write(wb, {type:'binary'}); }); }); + await t.step('should fail if sheet name is not valid', async function(t) { + var names = [ + "", // cannot be blank + "abcdefghijklmnopqrstuvwxyz1234567890", // cannot exceed 31 chars + "'sheetjs", "sheetjs'", // cannot start or end with apostrophe + "History", // cannot be History + "Sheet:JS", "Sheet]JS", "Sheet[JS", "Sheet*JS", // bad characters + "Sheet?JS", "Sheet\\JS", "Sheet\/JS" + ]; + names.forEach(function(n) { assert.throws(function() { + var wb: X.WorkBook = { SheetNames: [n], Sheets: {} }; + wb.Sheets[n] = X.utils.aoa_to_sheet([["SheetJS"]]); + X.write(wb, {type:"binary", bookType:"xlsx"}); + }); }); + }); }); }); @@ -2117,9 +2150,17 @@ Deno.test('CSV', async function(t) { assert.equal(cell.w, '2/19/14'); }); await t.step('should honor dateNF override', async function(t) { - var opts: X.ParsingOptions = ({type:"binary", dateNF:"YYYY-MM-DD"}); + var opts: X.ParsingOptions = ({type:"binary", dateNF:"YYYY-MM-DD", cellNF: true}); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ + assert.assert(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.assert(cell.w == '14-02-19' || cell.w == "2/19/14"); + opts = ({type:"binary", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ assert.assert(cell.w == '2014-02-19' || cell.w == '1914-02-19'); opts.cellDates = true; opts.dateNF = "YY-MM-DD"; cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); @@ -2131,10 +2172,18 @@ Deno.test('CSV', async function(t) { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"binary", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"binary", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); await t.step('should interpret values by default', async function(t) { plaintext_test(X.read(csv_bstr, {type:"binary"}), false); }); await t.step('should generate strings if raw option is passed', async function(t) { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2162,9 +2211,10 @@ Deno.test('CSV', async function(t) { var aoa = [ ["3a", "3 a", "3 a-1"], ["3b", "3 b", "3 b-1"], - ["3p", "3 P", "3 p-1"], + ["3p", "3 P", "3 p-1"] ]; - var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); @@ -2172,14 +2222,46 @@ Deno.test('CSV', async function(t) { assert.equal(get_cell(ws, "B2").v, "3 b"); var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); } assert.equal(get_cell(ws, "B2").v, "3 b"); - var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); - var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); }); }); @@ -2316,18 +2398,31 @@ Deno.test('numbers', async function(t) { }); Deno.test('dbf', async function(t) { - var wbs: Array<[string, X.WorkBook]> = ([ + var wbs: Array<[string, string]> = ([ ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] - ]).map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + ]); + var wbsfalse: Array<[string, X.WorkBook]> = ([]); + var wbstrue: Array<[string, X.WorkBook]> = ([]); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: true })]; }); await t.step(wbs[1][0], async function(t) { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; ([ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ] as Array<[string, string, any]>).forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "v", 6260], ["E2", "w", "19170219"], + ["F2", "v", 6260], ["F2", "w", "19170219"], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ] as Array<[string, string, any]>).forEach(function(r) { + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[2]); + }); + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + ([ + ["E2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["E2", "w", "19170219"], + ["F2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["F2", "w", "19170219"], + ] as Array<[string, string, any]>).forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]].valueOf(), r[2].valueOf()); + }); }); if(false) await t.step("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", async function(t) { ([ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ] as Array<[number,string]>).forEach(function(r) { diff --git a/tests/core.js b/tests/core.js index 94be8a8..0ae6cec 100644 --- a/tests/core.js +++ b/tests/core.js @@ -1554,7 +1554,7 @@ describe('write features', function() { ["String", "123"], ["Number", 123], ["Boolean", true], - ["Date", new Date()], + ["Date", new Date()] ], { cellDates: true }); ws["B2"].t = ws["B3"].t = ws["B4"].t = "s" var wb = X.utils.book_new(); @@ -1571,28 +1571,30 @@ function seq(end/*:number*/, start/*:?number*/)/*:Array*/ { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var epoch = /*#__PURE__*/v.getTime(); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) return res - 1462; + return res < 60 ? res - 1 : res; } -var good_pd_date = new Date('2017-02-19T19:06:09.000Z'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2017-02-19T19:06:09'); -if(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17'); -var good_pd = good_pd_date.getFullYear() == 2017; -function parseDate(str/*:string|Date*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) return d; +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]] sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - return new Date(Date.UTC(+n[0], +n[1] - 1, +n[2], +n[3], +n[4], +n[5])); + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } var fixdate = browser ? parseDate("2014-02-19T14:30:00.000Z") : new Date("2014-02-19T14:30Z"); @@ -1816,7 +1818,7 @@ describe('roundtrip features', function() { ]; var o = X.utils.sheet_to_json(X.utils.json_to_sheet(data, {cellDates:true})); data.forEach(function(row, i) { - Object.keys(row).forEach(function(k) { assert.equal(row[k], o[i][k]); }); + Object.keys(row).forEach(function(k) { assert.equal(row[k].valueOf(), o[i][k].valueOf()); }); }); }); @@ -2189,7 +2191,15 @@ describe('CSV', function() { assert.equal(cell.w, '2/19/14'); }); it('should honor dateNF override', function() { - var opts = ({type:"binary", dateNF:"YYYY-MM-DD"}/*:any*/); + var opts = ({type:"binary", dateNF:"YYYY-MM-DD", cellNF: true}/*:any*/); + var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + /* NOTE: IE interprets 2-digit years as 19xx */ + assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19' || cell.w == "2/19/14"); + assert.equal(cell.z, "YYYY-MM-DD"); + opts.cellDates = true; opts.dateNF = "YY-MM-DD"; + cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); + assert.ok(cell.w == '14-02-19' || cell.w == "2/19/14"); + var opts = ({type:"binary", dateNF:"YYYY-MM-DD", UTC: true}/*:any*/); var cell = get_cell(X.read(b, opts).Sheets["Sheet1"], "C3"); /* NOTE: IE interprets 2-digit years as 19xx */ assert.ok(cell.w == '2014-02-19' || cell.w == '1914-02-19'); @@ -2203,10 +2213,18 @@ describe('CSV', function() { var cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 1); assert.equal(cell.w, "2/3/14"); - opts = {type:"binary", cellDates:true, dateNF:'d/m/yy'}; + opts.dateNF = 'd/m/yy'; cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); assert.equal(cell.v.getMonth(), 2); assert.equal(cell.w, "2/3/14"); + opts = {type:"binary", cellDates:true, dateNF:'m/d/yy', UTC: true}; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 1); + assert.equal(cell.w, "2/3/14"); + opts.dateNF = 'd/m/yy'; + cell = get_cell(X.read(bb, opts).Sheets["Sheet1"], "C3"); + assert.equal(cell.v.getUTCMonth(), 2); + assert.equal(cell.w, "2/3/14"); }); it('should interpret values by default', function() { plaintext_test(X.read(csv_bstr, {type:"binary"}), false); }); it('should generate strings if raw option is passed', function() { plaintext_test(X.read(csv_str, {type:"string", raw:true}), true); }); @@ -2236,7 +2254,8 @@ describe('CSV', function() { ["3b", "3 b", "3 b-1"], ["3p", "3 P", "3 p-1"] ]; - var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + + var ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); @@ -2244,14 +2263,46 @@ describe('CSV', function() { assert.equal(get_cell(ws, "B2").v, "3 b"); var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getHours(), 3); var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: false}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false, UTC: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + + ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: true}).Sheets.Sheet1; + for(var R = 0; R < 3; ++R) { + assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); + assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); + } + assert.equal(get_cell(ws, "B2").v, "3 b"); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "d"); assert.equal(B1.v.getUTCHours(), 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "d"); assert.equal(B3.v.getUTCHours(), 15); ws = X.read(aoa.map(function(row) { return row.join(","); }).join("\n"), {type: "string", cellDates: false}).Sheets.Sheet1; for(var R = 0; R < 3; ++R) { assert.equal(get_cell(ws, "A" + (R+1)).v, aoa[R][0]); assert.equal(get_cell(ws, "C" + (R+1)).v, aoa[R][2]); } assert.equal(get_cell(ws, "B2").v, "3 b"); - var B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); - var B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); + B1 = get_cell(ws, "B1"); assert.equal(B1.t, "n"); assert.equal(B1.v * 24, 3); + B3 = get_cell(ws, "B3"); assert.equal(B3.t, "n"); assert.equal(B3.v * 24, 15); }); }); @@ -2402,19 +2453,31 @@ describe('dbf', function() { ['d11', dir + 'dbf/d11.dbf'], ['vfp3', dir + 'dbf/vfp3.dbf'] ]/*:any*/); + var wbsfalse = ([]); + var wbstrue = ([]); var bef = (function() { - wbs = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), {type:TYPE})]; }); + wbsfalse = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: false })]; }); + wbstrue = wbs.map(function(x) { return [x[0], X.read(fs.readFileSync(x[1]), { type:TYPE, cellDates: true })]; }); }); if(typeof before != 'undefined') before(bef); else it('before', bef); it(wbs[1][0], function() { - var ws = wbs[1][1].Sheets["Sheet1"]; + var wsfalse = wbsfalse[1][1].Sheets["Sheet1"]; [ - ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], - ["C2", "v", 12.345], ["D2", "v", 1234.1], ["E2", "w", "19170219"], - /* [F2", "w", "19170219"], */ ["G2", "v", 1231.4], ["H2", "v", 123234], - ["I2", "v", true], ["L2", "v", "SheetJS"] - ].forEach(function(r) { assert.equal(get_cell(ws, r[0])[r[1]], r[2]); }); + ["A1", "v", "CHAR10"], ["A2", "v", "test1"], ["B2", "v", 123.45], ["C2", "v", 12.345], ["D2", "v", 1234.1], + ["E2", "v", 6260], ["E2", "w", "19170219"], + ["F2", "v", 6260], ["F2", "w", "19170219"], + ["G2", "v", 1231.4], ["H2", "v", 123234], ["I2", "v", true], ["L2", "v", "SheetJS"] + ].forEach(function(r) { + assert.equal(get_cell(wsfalse, r[0])[r[1]], r[2]); + }); + var wstrue = wbstrue[1][1].Sheets["Sheet1"]; + [ + ["E2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["E2", "w", "19170219"], + ["F2", "v", Date.UTC(1917,1,19,0,0,0,0)], ["F2", "w", "19170219"] + ].forEach(function(r) { + assert.equal(get_cell(wstrue, r[0])[r[1]].valueOf(), r[2].valueOf()); + }); }); if(!browser || typeof cptable !== 'undefined') it("Ś╫êëτ⌡ś and Š╫ěéτ⌡š", function() { [ [620, "Ś╫êëτ⌡ś"], [895, "Š╫ěéτ⌡š"] ].forEach(function(r) { diff --git a/types/index.d.ts b/types/index.d.ts index fa0725f..e740d8a 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -139,8 +139,20 @@ export interface DateNFOption { dateNF?: NumberFormat; } +export interface UTCOption { + /** + * For plaintext formats, interpret ambiguous datetimes in UTC + * If explicitly set to `false`, dates will be parsed in local time. + * + * The `true` option is consistent with spreadsheet application export. + * + * @default true + */ + UTC?: boolean; +} + /** Options for read and readFile */ -export interface ParsingOptions extends CommonOptions { +export interface ParsingOptions extends UTCOption, CommonOptions { /** Input data encoding */ type?: 'base64' | 'binary' | 'buffer' | 'file' | 'array' | 'string'; @@ -294,6 +306,12 @@ export interface WritingOptions extends CommonOptions { * If this option is omitted, the first worksheet will be exported. */ sheet?: string | number; + + /** Field Separator ("delimiter") for CSV / Text output */ + FS?: string; + + /** Record Separator ("row separator") for CSV / Text output */ + RS?: string; } /** Workbook Object */ @@ -803,9 +821,27 @@ export interface Sheet2JSONOpts extends DateNFOption { /** if true, return raw numbers; if false, return formatted numbers */ rawNumbers?: boolean; + + /** + * If true, return dates whose UTC interpretation is correct + * By default, return dates whose local interpretation is correct + * + * @default false + */ + UTC?: boolean; } -export interface AOA2SheetOpts extends CommonOptions, DateNFOption { +export interface UTCDateOption { + /** + * If true, dates are interpreted using the UTC methods + * By default, dates are interpreted in the local timezone + * + * @default false + */ + UTC?: boolean; +} + +export interface AOA2SheetOpts extends CommonOptions, UTCDateOption, DateNFOption { /** * Create cell objects for stub cells * @default false @@ -815,7 +851,7 @@ export interface AOA2SheetOpts extends CommonOptions, DateNFOption { export interface SheetAOAOpts extends AOA2SheetOpts, OriginOption {} -export interface JSON2SheetOpts extends CommonOptions, DateNFOption, OriginOption { +export interface JSON2SheetOpts extends CommonOptions, UTCDateOption, DateNFOption, OriginOption { /** Use specified column order */ header?: string[]; @@ -841,6 +877,14 @@ export interface Table2SheetOpts extends CommonOptions, DateNFOption, OriginOpti * @default "Sheet1" */ sheet?: string; + + /** + * If true, interpret date strings as if they are UTC. + * By default, date strings are interpreted in the local timezone. + * + * @default false + */ + UTC?: boolean; } export interface Table2BookOpts extends Table2SheetOpts { @@ -887,15 +931,6 @@ export interface XLSX$Utils { /** Generates a list of the formulae (with value fallbacks) */ sheet_to_formulae(worksheet: WorkSheet): string[]; - /** Generates DIF */ - sheet_to_dif(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string; - - /** Generates SYLK (Symbolic Link) */ - sheet_to_slk(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string; - - /** Generates ETH */ - sheet_to_eth(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string; - /* --- Cell Address Utilities --- */ /** Converts 0-indexed cell address to A1 form */ diff --git a/types/xlsx-tests.ts b/types/xlsx-tests.ts index 3af6c37..2066970 100644 --- a/types/xlsx-tests.ts +++ b/types/xlsx-tests.ts @@ -21,9 +21,6 @@ interface Tester { const jsonvalues: Tester[] = XLSX.utils.sheet_to_json(firstworksheet); const csv: string = XLSX.utils.sheet_to_csv(firstworksheet); const txt: string = XLSX.utils.sheet_to_txt(firstworksheet); -const dif: string = XLSX.utils.sheet_to_dif(firstworksheet); -const slk: string = XLSX.utils.sheet_to_slk(firstworksheet); -const eth: string = XLSX.utils.sheet_to_eth(firstworksheet); const formulae: string[] = XLSX.utils.sheet_to_formulae(firstworksheet); const aoa: any[][] = XLSX.utils.sheet_to_json(firstworksheet, {raw:true, header:1}); diff --git a/xlsx.flow.js b/xlsx.flow.js index 2f7f911..ef76a45 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, DataView:false, Deno:false */ +/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false, Float32Array:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; var current_codepage = 1200, current_ansi = 1252; /*:: declare var cptable:any; */ /*global cptable:true, window */ @@ -135,6 +135,26 @@ function Base64_encode_pass(input) { } return o; } +function Base64_encode_arr(input) { + var o = ""; + var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; + for (var i = 0; i < input.length; ) { + c1 = input[i++]; + e1 = c1 >> 2; + c2 = input[i++]; + e2 = (c1 & 3) << 4 | c2 >> 4; + c3 = input[i++]; + e3 = (c2 & 15) << 2 | c3 >> 6; + e4 = c3 & 63; + if (isNaN(c2)) { + e3 = e4 = 64; + } else if (isNaN(c3)) { + e4 = 64; + } + o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4); + } + return o; +} function Base64_decode(input) { var o = ""; var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; @@ -494,15 +514,6 @@ function SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { out.q = dow; return out; } -var SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime(); -var SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -560,7 +571,7 @@ function SSF_general(v/*:any*/, opts/*:any*/) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -1248,7 +1259,7 @@ function SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; @@ -1335,6 +1346,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ { @@ -1347,6 +1359,7 @@ function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/ case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; @@ -3274,7 +3287,7 @@ function write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) { /*:: declare var chrome: any; */ if(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == "function") { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return chrome.downloads.download({ url: url, filename: fname, saveAs: true}); + return chrome.downloads.download({ url: url, filename: fname, saveAs: true }); } var a = document.createElement("a"); if(a.download != null) { @@ -3284,6 +3297,10 @@ function write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); return url; } + } else if(typeof URL !== 'undefined' && !URL.createObjectURL && typeof chrome === 'object') { + /* manifest v3 extensions -- no URL.createObjectURL */ + var b64 = "data:application/octet-stream;base64," + Base64_encode_arr(new Uint8Array(blobify(data))); + return chrome.downloads.download({ url: b64, filename: fname, saveAs: true }); } } // $FlowIgnore @@ -3342,22 +3359,19 @@ function evert_arr(obj/*:any*/)/*:EvertArrType*/ { return o; } -var basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = /*#__PURE__*/new Date(); -var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; -var refoffset = /*#__PURE__*/refdate.getTimezoneOffset(); -function numdate(v/*:number*/)/*:Date*/ { +function numdate(v/*:number*/)/*:Date|number*/ { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -3388,28 +3402,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1; -var good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) { - /*:: if(fixdate == null) fixdate = 0; */ - if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr/*:Array*/, debomit)/*:string*/ { @@ -3440,8 +3448,18 @@ function cc2str(arr/*:Array*/, debomit)/*:string*/ { return new TextDecoder("latin1").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; }); } catch(e) {} - var o = []; - for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + var o = [], i = 0; + // this cascade is for the browsers and runtimes of antiquity (and for modern runtimes that lack TextEncoder) + try { + for(i = 0; i < arr.length - 65536; i+=65536) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 65536))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { try { + for(; i < arr.length - 16384; i+=16384) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 16384))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { + for(; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + } + } return o.join(""); } @@ -3471,32 +3489,49 @@ function fuzzynum(s/*:string*/)/*:number*/ { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) /*:Date*/ { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) /*:Date*/ { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s/*:string*/)/*:Date*/ { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -3509,6 +3544,13 @@ var split_regex = /*#__PURE__*/(function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} function getdatastr(data)/*:?string*/ { if(!data) return null; if(data.content && data.type) return cc2str(data.content, true); @@ -4443,6 +4485,7 @@ function sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksh else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } @@ -6570,11 +6613,22 @@ function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3 /* [MS-XLS] 2.5.19 */ -function parse_XLSCell(blob/*::, length*/)/*:Cell*/ { +function parse_XLSCell(blob, length, opts)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); - var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}/*:any*/); + var ret = ({r:rw, c:col, ixfe:0}/*:any*/); + if(opts && opts.biff == 2 || length == 7) { + /* TODO: pass back flags */ + var flags = blob.read_shift(1); + ret.ixfe = flags & 0x3F; + blob.l += 2; + /* + var ifntifmt = blob.read_shift(1); + var ifmt = ifntifmt & 0x3f, ifnt = ifntifmt >> 6; + var flags3 = blob.read_shift(1); + */ + } else ret.ixfe = blob.read_shift(2); + return ret; } function write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) { if(!o) o = new_buf(6); @@ -6799,6 +6853,12 @@ function parse_WsBool(blob, length, opts) { /* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { + var name = ""; + if(opts.biff == 4) { + name = parse_ShortXLUnicodeString(blob, 0, opts); + if(name.length === 0) name = "Sheet1"; + return { name:name }; + } var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); @@ -6808,7 +6868,7 @@ function parse_BoundSheet8(blob, length, opts) { case 2: dt = 'Chartsheet'; break; case 6: dt = 'VBAModule'; break; } - var name = parse_ShortXLUnicodeString(blob, 0, opts); + name = parse_ShortXLUnicodeString(blob, 0, opts); if(name.length === 0) name = "Sheet1"; return { pos:pos, hs:hidden, dt:dt, name:name }; } @@ -6979,8 +7039,8 @@ function write_Font(data, opts) { } /* [MS-XLS] 2.4.149 */ -function parse_LabelSst(blob) { - var cell = parse_XLSCell(blob); +function parse_LabelSst(blob, length, opts) { + var cell = parse_XLSCell(blob, length, opts); cell.isst = blob.read_shift(4); return cell; } @@ -6995,8 +7055,7 @@ function write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ function parse_Label(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; var target = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) blob.l++; + var cell = parse_XLSCell(blob, length, opts); var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; @@ -7030,6 +7089,19 @@ function write_Format(i/*:number*/, f/*:string*/, opts, o) { return out; } var parse_BIFF2Format = parse_XLUnicodeString2; +function write_BIFF2Format(f/*:string*/) { + var o = new_buf(1 + f.length); + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} +function write_BIFF4Format(f/*:string*/) { + var o = new_buf(3 + f.length); + o.l += 2; + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} /* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { @@ -7153,6 +7225,44 @@ function write_XF(data, ixfeP, opts, o) { o.write_shift(2, 0); return o; } +function parse_BIFF2XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); blob.l++; o.flags = blob.read_shift(1); + o.numFmtId = o.flags & 0x3F; o.flags>>=6; + o.fStyle = 0; + o.data = {}; // TODO + return o; +} +function write_BIFF2XF(xf) { + var o = new_buf(4); + o.l+=2; + o.write_shift(1, xf.numFmtId); + o.l++; + return o; +} +function write_BIFF3XF(xf) { + var o = new_buf(12); + o.l++; + o.write_shift(1, xf.numFmtId); + o.l += 10; + return o; +} +/* TODO: check other fields */ +var write_BIFF4XF = write_BIFF3XF; +function parse_BIFF3XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} +function parse_BIFF4XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} /* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { @@ -7173,8 +7283,7 @@ function write_Guts(guts/*:Array*/) { /* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2 || length == 9) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -7190,7 +7299,7 @@ function write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:s /* [MS-XLS] 2.4.180 Number */ function parse_Number(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var xnum = parse_Xnum(blob, 8); cell.val = xnum; return cell; @@ -7323,21 +7432,34 @@ function parse_MTRSettings(blob) { return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; } -/* [MS-XLS] 2.5.186 TODO: BIFF5 */ +/* [MS-XLS] 2.5.186 */ function parse_NoteSh(blob, length, opts) { - if(opts.biff < 8) return; var row = blob.read_shift(2), col = blob.read_shift(2); var flags = blob.read_shift(2), idObj = blob.read_shift(2); var stAuthor = parse_XLUnicodeString2(blob, 0, opts); - if(opts.biff < 8) blob.read_shift(1); return [{r:row,c:col}, stAuthor, idObj, flags]; } /* [MS-XLS] 2.4.179 */ function parse_Note(blob, length, opts) { + if(opts && (opts.biff < 8)) { + var row = blob.read_shift(2), col = blob.read_shift(2); + if(row == 0xFFFF || row == -1) return; // TODO: test continuation + var cch = blob.read_shift(2); + var cmnt = blob.read_shift(Math.min(cch,2048), 'cpstr'); + return [{r:row, c:col}, cmnt]; + } /* TODO: Support revisions */ return parse_NoteSh(blob, length, opts); } +function write_NOTE_BIFF2(text/*:string*/, R/*:number*/, C/*:number*/, len/*?:number*/) { + var o = new_buf(6 + (len || text.length)); + o.write_shift(2, R); + o.write_shift(2, C); + o.write_shift(2, len || text.length); + o.write_shift(text.length, text, "sbcs"); + return o; +} /* [MS-XLS] 2.4.168 */ function parse_MergeCells(blob, length)/*:Array*/ { @@ -7587,43 +7709,50 @@ function parse_ImData(blob) { return o; } +function write_BIFF2Cell(out, r/*:number*/, c/*:number*/, ixfe/*:number*/, ifmt/*:number*/) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, ixfe||0/* & 0x3F */); + out.write_shift(1, ifmt||0/* & 0x3F */); + out.write_shift(1, 0); + return out; +} + /* BIFF2_??? where ??? is the name from [XLS] */ function parse_BIFF2STR(blob, length, opts) { if(opts.biffguess && opts.biff == 5) opts.biff = 2; - var cell = parse_XLSCell(blob, 6); - ++blob.l; + var cell = parse_XLSCell(blob, 7, opts); var str = parse_XLUnicodeString2(blob, length-7, opts); cell.t = 'str'; cell.val = str; return cell; } -function parse_BIFF2NUM(blob/*::, length*/) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2NUM(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = parse_Xnum(blob, 8); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) { +function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/, ixfe, ifmt) { var out = new_buf(15); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(8, val, 'f'); return out; } -function parse_BIFF2INT(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2INT(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = blob.read_shift(2); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) { +function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/, ixfe/*:number*/, ifmt/*:number*/) { var out = new_buf(9); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(2, val); return out; } @@ -7634,6 +7763,16 @@ function parse_BIFF2STRING(blob) { return blob.read_shift(cch, 'sbcs-cont'); } +function parse_BIFF2BOOLERR(blob, length, opts) { + var bestart = blob.l + 7; + var cell = parse_XLSCell(blob, 6, opts); + blob.l = bestart; + var val = parse_Bes(blob, 2); + cell.val = val; + cell.t = (val === true || val === false) ? 'b' : 'e'; + return cell; +} + /* TODO: convert to BIFF8 font struct */ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 6; // unknown @@ -7647,7 +7786,7 @@ function parse_BIFF2FONTXTRA(blob, length) { /* TODO: parse rich text runs */ function parse_RString(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var cch = blob.read_shift(2); var str = parse_XLUnicodeStringNoCch(blob, cch, opts); blob.l = end; @@ -7655,7 +7794,13 @@ function parse_RString(blob, length, opts) { cell.val = str; return cell; } -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; + +function parse_BIFF4SheetInfo(blob/*::, length, opts*/) { + var flags = blob.read_shift(4); + var cch = blob.read_shift(1), name = blob.read_shift(cch, "sbcs"); + if(name.length === 0) name = "Sheet1"; + return { flags: flags, name:name }; +}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 */ @@ -7836,7 +7981,10 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -7859,7 +8007,12 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -8062,6 +8215,8 @@ var SYLK = /*#__PURE__*/(function() { var sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == "number" ? _getansi(o) : o; }; var decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); }; sylk_escapes["|"] = 254; + /* TODO: evert the escape map */ + var encode_sylk_str = function($$) { return $$.replace(/\n/g, "\x1b :").replace(/\r/g, "\x1b ="); }; /* https://oss.sheetjs.com/notes/sylk/ for more details */ function sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ { switch(opts.type) { @@ -8114,8 +8269,9 @@ var SYLK = /*#__PURE__*/(function() { // case 'NU': // ?? case 'C': /* cell */ var C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1, formula = "", cell_t = "z"; + var cmnt = ""; for(rj=1; rj*/ = ["ID;PSheetJS;N;E"], o/*:Array*/ = []; var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; @@ -8272,23 +8439,44 @@ var SYLK = /*#__PURE__*/(function() { var RS = "\r\n"; var d1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var _lastfmt = "General"; preamble.push("P;PGeneral"); + /* Excel has been inconsistent in comment placement */ + var R = r.s.r, C = r.s.c, p = []; + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || !cell.c) continue; + p.push(write_ws_cmnt_sylk(cell.c, R, C)); + } + if(p.length) o.push(p.join(RS)); + } + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; + if((cell.z||(cell.t == "d" ? table_fmt[14] : "General")) != _lastfmt) { + var ifmt = opts._formats.indexOf(cell.z); + if(ifmt == -1) { opts._formats.push(cell.z); ifmt = opts._formats.length - 1; preamble.push("P;P" + cell.z.replace(/;/g, ";;")); } + p.push("F;P" + ifmt + ";Y" + (R+1) + ";X" + (C+1)); + } + p.push(write_ws_cell_sylk(cell, ws, R, C, opts, d1904)); + } + o.push(p.join(RS)); + } + preamble.push("F;P0;DG0G8;M255"); if(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']); if(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']); preamble.push("B;Y" + (r.e.r - r.s.r + 1) + ";X" + (r.e.c - r.s.c + 1) + ";D" + [r.s.c,r.s.r,r.e.c,r.e.r].join(" ")); preamble.push("O;L;D;B" + (d1904 ? ";V4" : "") + ";K47;G100 0.001"); - for(var R = r.s.r; R <= r.e.r; ++R) { - if(dense && !ws["!data"][R]) continue; - var p = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; - if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; - p.push(write_ws_cell_sylk(cell, ws, R, C, opts)); // TODO: pass date1904 info - } - o.push(p.join(RS)); - } + + delete opts._formats; return preamble.join(RS) + RS + o.join(RS) + RS + "E" + RS; } @@ -8328,7 +8516,10 @@ var DIF = /*#__PURE__*/(function() { if(data === 'TRUE') arr[R][C] = true; else if(data === 'FALSE') arr[R][C] = false; else if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value); - else if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value); + else if(!isNaN(fuzzydate(value).getDate())) { + arr[R][C] = parseDate(value); + if(!(opts && opts.UTC)) { arr[R][C] = utc_to_local(arr[R][C]); } + } else arr[R][C] = value; ++C; break; case 1: @@ -8609,9 +8800,11 @@ var PRN = /*#__PURE__*/(function() { var start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0); var _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null; function finish_cell() { + /* TODO: fuzzy parsers should pass back assumed number format */ var s = str.slice(start, end); if(s.slice(-1) == "\r") s = s.slice(0, -1); var cell = ({}/*:any*/); if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"'); + if(o.cellText !== false) cell.w = s; if(s.length === 0) cell.t = 'z'; else if(o.raw) { cell.t = 's'; cell.v = s; } else if(s.trim().length === 0) { cell.t = 's'; cell.v = s; } @@ -8621,14 +8814,14 @@ var PRN = /*#__PURE__*/(function() { else { cell.t = 's'; cell.v = s; } } else if(s == "TRUE") { cell.t = 'b'; cell.v = true; } else if(s == "FALSE") { cell.t = 'b'; cell.v = false; } - else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; } + else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; cell.v = v; } else if(!isNaN((v = fuzzydate(s)).getDate()) || _re && s.match(_re)) { cell.z = o.dateNF || table_fmt[14]; - var k = 0; - if(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; v = parseDate(s, k); } + if(_re && s.match(_re)){ var news=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); v = parseDate(news); if(o && o.UTC === false) v = utc_to_local(v); } + else if(o && o.UTC === false) v = utc_to_local(v); + else if(o.cellText !== false && o.dateNF) cell.w = SSF_format(cell.z, v); if(o.cellDates) { cell.t = 'd'; cell.v = v; } else { cell.t = 'n'; cell.v = datenum(v); } - if(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v); if(!o.cellNF) delete cell.z; } else { cell.t = 's'; @@ -8754,6 +8947,22 @@ var WK_ = /*#__PURE__*/(function() { throw "Unsupported type " + opts.type; } + /* NOTE: this list intentionally starts at 1 */ + var LOTUS_DATE_FMTS = [ + "mmmm", + "dd-mmm-yyyy", + "dd-mmm", + "mmm-yyyy", + "@", // "text"? + "mm/dd", + "hh:mm:ss AM/PM", // 7 + "hh:mm AM/PM", + "mm/dd/yyyy", + "mm/dd", + "hh:mm:ss", + "hh:mm" // 12 + ]; + function lotus_to_workbook_buf(d, opts)/*:Workbook*/ { if(!d) return d; var o = opts || {}; @@ -8764,6 +8973,7 @@ var WK_ = /*#__PURE__*/(function() { var refguess = {s: {r:0, c:0}, e: {r:0, c:0} }; var sheetRows = o.sheetRows || 0; + var lastcell = {}; if(d[4] == 0x51 && d[5] == 0x50 && d[6] == 0x57) return qpw_to_workbook_buf(d, opts); if(d[2] == 0x00) { @@ -8795,9 +9005,9 @@ var WK_ = /*#__PURE__*/(function() { case 0x0E: /* NUMBER */ case 0x10: /* FORMULA */ /* TODO: actual translation of the format code */ - if(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { - val[1].z = o.dateNF || table_fmt[14]; - if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); } + if((val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { + val[1].z = o.dateNF || LOTUS_DATE_FMTS[(val[2] & 0x0F)-1] || table_fmt[14]; + if(o.cellDates) { val[1].v = numdate(val[1].v); val[1].t = typeof val[1].v == "number" ? 'n' : 'd'; } } if(o.qpro) { @@ -8816,15 +9026,25 @@ var WK_ = /*#__PURE__*/(function() { tmpcell.t = val[1].t; tmpcell.v = val[1].v; if(val[1].z != null) tmpcell.z = val[1].z; if(val[1].f != null) tmpcell.f = val[1].f; + lastcell = tmpcell; break; } if(o.dense) { if(!sdata[val[0].r]) sdata[val[0].r] = []; sdata[val[0].r][val[0].c] = val[1]; } else s[encode_cell(val[0])] = val[1]; + lastcell = val[1]; break; case 0x5405: o.works2 = true; break; - default: + case 0x5402: { + /* TODO: enumerate all extended number formats */ + if(val == 0x14a1) { + lastcell.z = "hh:mm:ss"; + if(o.cellDates && lastcell.t == "n") { + lastcell.v = numdate(lastcell.v); lastcell.t = typeof lastcell.v == "number" ? 'n' : 'd'; + } + } + } break; }}, o); } else if(d[2] == 0x1A || d[2] == 0x0E) { o.Enum = WK3Enum; @@ -8901,10 +9121,17 @@ var WK_ = /*#__PURE__*/(function() { var cell = dense ? (ws["!data"][R]||[])[C] : ws[cols[C] + rr]; if(!cell || cell.t == "z") continue; /* TODO: formula records */ - if(cell.t == "n") { - if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v)); - else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v)); - } else { + switch(cell.t) { + case "n": + if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell)); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell)); + break; + case "d": + var dc = datenum(cell.v); + if((dc|0)==dc && dc >= -32768 && dc <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + break; + default: var str = format_cell(cell); write_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239))); } @@ -9038,11 +9265,18 @@ var WK_ = /*#__PURE__*/(function() { return o; } + function get_wk1_fmt(cell)/*:number*/ { + /* TODO: some fuzzy matching on the number format */ + if(cell.z && fmt_is_date(cell.z)) { + return 0xf0 | (LOTUS_DATE_FMTS.indexOf(cell.z) + 1 || 2); + } + return 0xFF; + } function parse_LABEL(blob, length, opts) { var tgt = blob.l + length; var o = parse_cell(blob, length, opts); o[1].t = 's'; - if(opts.vers == 0x5120) { + if((opts.vers & 0xFFFE) == 0x5120) { // WQ1 / WQ2 blob.l++; var len = blob.read_shift(1); o[1].v = blob.read_shift(len, 'utf8'); @@ -9084,12 +9318,12 @@ var WK_ = /*#__PURE__*/(function() { o[1].v = blob.read_shift(2, 'i'); return o; } - function write_INTEGER(R, C, v) { + function write_INTEGER(R, C, cell) { var o = new_buf(7); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(2, v, 'i'); + o.write_shift(2, cell.v, 'i'); return o; } @@ -9098,12 +9332,12 @@ var WK_ = /*#__PURE__*/(function() { o[1].v = blob.read_shift(8, 'f'); return o; } - function write_NUMBER(R, C, v) { + function write_NUMBER(R, C, cell) { var o = new_buf(13); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(8, v, 'f'); + o.write_shift(8, cell.v, 'f'); return o; } @@ -9156,7 +9390,7 @@ var WK_ = /*#__PURE__*/(function() { 0x33: ["FALSE", 0], 0x34: ["TRUE", 0], 0x35: ["RAND", 0], - // 0x36 DATE + 0x36: ["DATE", 3], // 0x37 NOW // 0x38 PMT // 0x39 PV @@ -9166,7 +9400,7 @@ var WK_ = /*#__PURE__*/(function() { // 0x3D MONTH // 0x3E YEAR 0x3F: ["ROUND", 2], - // 0x40 TIME + 0x40: ["TIME", 3], // 0x41 HOUR // 0x42 MINUTE // 0x43 SECOND @@ -9508,13 +9742,24 @@ var WK_ = /*#__PURE__*/(function() { /*::[*/0x0048/*::]*/: { n:"ACOMM" }, /*::[*/0x0049/*::]*/: { n:"AMACRO" }, /*::[*/0x004A/*::]*/: { n:"PARSE" }, + // 0x0064 /*::[*/0x0066/*::]*/: { n:"PRANGES??" }, /*::[*/0x0067/*::]*/: { n:"RRANGES??" }, /*::[*/0x0068/*::]*/: { n:"FNAME??" }, /*::[*/0x0069/*::]*/: { n:"MRANGES??" }, + // 0x0096 + // 0x0099 + // 0x009A + // 0x009B + // 0x009C + // 0x00C0 + // 0x00C7 + // 0x00C9 /*::[*/0x00CC/*::]*/: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, + // 0x00CD /*::[*/0x00DE/*::]*/: { n:"SHEETNAMELP", f:parse_SHEETNAMELP }, /*::[*/0x00FF/*::]*/: { n:"BOF", f:parseuint16 }, + /*::[*/0x5402/*::]*/: { n:"WKSNF", f:parseuint16 }, /*::[*/0xFFFF/*::]*/: { n:"" } }; @@ -9644,6 +9889,24 @@ var WK_ = /*#__PURE__*/(function() { /*::[*/0xFFFF/*::]*/: { n:"" } }; + /* TODO: fill out and verify this table across QP versions */ + var QPWNFTable = { + /*::[*/0x05/*::*/: "dd-mmm-yy", + /*::[*/0x06/*::*/: "dd-mmm", + /*::[*/0x07/*::*/: "mmm-yy", + /*::[*/0x08/*::*/: "mm/dd/yy", // Long Date Intl + /*::[*/0x0A/*::*/: "hh:mm:ss AM/PM", + /*::[*/0x0B/*::*/: "hh:mm AM/PM", + /*::[*/0x0E/*::*/: "dd-mmm-yyyy", + /*::[*/0x0F/*::*/: "mmm-yyyy", + + /*::[*/0x22/*::*/: "0.00", + /*::[*/0x32/*::*/: "0.00;[Red]0.00", + /*::[*/0x42/*::*/: "0.00;\(0.00\)", + /*::[*/0x52/*::*/: "0.00;[Red]\(0.00\)", + + /*::[*/162/*::*/: '"$"#,##0;\\("$"#,##0\\)' // slightly different from SSF 5 + }; /* QPW uses a different set of record types */ function qpw_to_workbook_buf(d, opts)/*:Workbook*/ { prep_blob(d, 0); @@ -9654,6 +9917,7 @@ var WK_ = /*#__PURE__*/(function() { var range = {s:{r:-1,c:-1}, e:{r:-1,c:-1}}; var cnt = 0, type = 0, C = 0, R = 0; var wb = { SheetNames: [], Sheets: {} }; + var FMTS = []; outer: while(d.l < d.length) { var RT = d.read_shift(2), length = d.read_shift(2); var p = d.slice(d.l, d.l + length); @@ -9664,6 +9928,22 @@ var WK_ = /*#__PURE__*/(function() { break; case 0x02: /* EOF */ break outer; + case 0x08: /* NF */ break; // TODO: this is tied to custom number formats + + case 0x0A: /* FORMATS */ { + var fcnt = p.read_shift(4); + var step = ((p.length - p.l)/ fcnt)|0; + for(var ifmt = 0; ifmt < fcnt; ++ifmt) { + var end = p.l + step; + var fmt = {}; + p.l += 2; + fmt.numFmtId = p.read_shift(2); + if(QPWNFTable[fmt.numFmtId]) fmt.z = QPWNFTable[fmt.numFmtId]; + p.l = end; + FMTS.push(fmt); + } + } break; + /* TODO: The behavior here should be consistent with Numbers: QP Notebook ~ .TN.SheetArchive, QP Sheet ~ .TST.TableModelArchive */ case 0x0401: /* BON */ break; case 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break; @@ -9726,18 +10006,21 @@ var WK_ = /*#__PURE__*/(function() { var CC = encode_col(C); while(p.l < p.length) { var cell = { t: "z" }; - var flags = p.read_shift(1); - if(flags & 0x80) p.l += 2; + var flags = p.read_shift(1), fmtidx = -1; + if(flags & 0x80) fmtidx = p.read_shift(2); var mul = (flags & 0x40) ? p.read_shift(2) - 1: 0; switch(flags & 0x1F) { + case 0: break; case 1: break; case 2: cell = { t: "n", v: p.read_shift(2) }; break; case 3: cell = { t: "n", v: p.read_shift(2, 'i') }; break; + case 4: cell = { t: "n", v: parse_RkNumber(p) }; break; case 5: cell = { t: "n", v: p.read_shift(8, 'f') }; break; case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; case 8: cell = { t: "n", v: p.read_shift(8, 'f') }; p.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4; break; default: throw "Unrecognized QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1 && (FMTS[fmtidx - 1]||{}).z) cell.z = FMTS[fmtidx-1].z; var delta = 0; if(flags & 0x20) switch(flags & 0x1F) { case 2: delta = p.read_shift(2); break; @@ -9746,10 +10029,14 @@ var WK_ = /*#__PURE__*/(function() { default: throw "Unsupported delta for QPW cell type " + (flags & 0x1F); } if(!(!o.sheetStubs && cell.t == "z")) { + var newcell = dup(cell); + if(cell.t == "n" && cell.z && fmt_is_date(cell.z) && o.cellDates) { + newcell.v = numdate(cell.v); newcell.t = typeof newcell.v == "number" ? 'n' : 'd'; + } if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; - s["!data"][R][C] = cell; - } else s[CC + encode_row(R)] = cell; + s["!data"][R][C] = newcell; + } else s[CC + encode_row(R)] = newcell; } ++R; --cnt; while(mul-- > 0 && cnt >= 0) { @@ -9764,6 +10051,7 @@ var WK_ = /*#__PURE__*/(function() { case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; default: throw "Cannot apply repeat for QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1); if(!(!o.sheetStubs && cell.t == "z")) { if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; @@ -12126,7 +12414,45 @@ function parse_drawing(data, rels/*:any*/) { } /* L.5.5.2 SpreadsheetML Comments + VML Schema */ -function write_vml(rId/*:number*/, comments) { +var shapevmlregex = /<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g; +function parse_vml(data/*:string*/, sheet, comments) { + var cidx = 0; + (data.match(shapevmlregex)||[]).forEach(function(m) { + var type = ""; + var hidden = true; + var aidx = -1; + var R = -1, C = -1; + m.replace(tagregex, function(x/*:string*/, idx/*:number*/) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': hidden = false; break; + + case '': aidx = idx + x.length; break; + case '': R = +m.slice(aidx, idx).trim(); break; + + case '': aidx = idx + x.length; break; + case '': C = +m.slice(aidx, idx).trim(); break; + } + return ""; + }); + switch(type) { + case 'Note': + var cell = ws_get_cell_stub(sheet, ((R>=0 && C>=0) ? encode_cell({r:R,c:C}) : comments[cidx].ref)); + if(cell.c) { + cell.c.hidden = hidden; + } + ++cidx; + break; + } + + }); +} + + +/* comment boxes */ +function write_vml(rId/*:number*/, comments, ws) { var csize = [21600, 21600]; /* L.5.2.1.2 Path Attribute */ var bbox = ["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(","); @@ -12148,7 +12474,7 @@ function write_vml(rId/*:number*/, comments) { return o.join(""); } -function write_vml_comment(x, _shapeid)/*:string*/ { +function write_vml_comment(x, _shapeid, ws)/*:string*/ { var c = decode_cell(x[0]); var fillopts = /*::(*/{'color2':"#BEFF82", 'type':"gradient"}/*:: :any)*/; if(fillopts.type == "gradient") fillopts.angle = "-180"; @@ -12286,6 +12612,7 @@ function write_comments_xml(data/*::, opts*/) { o.push(''); }); } else { + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); /* based on Threaded Comments -> Comments projection */ o.push(''); var t = "Comment:\n " + (ts[0]) + "\n"; @@ -12481,6 +12808,10 @@ function write_comments_bin(data/*::, opts*/) { if(iauthor.indexOf(c.a) > -1) return; iauthor.push(c.a.slice(0,54)); write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a)); + if(c.T && c.ID && iauthor.indexOf("tc=" + c.ID) == -1) { + iauthor.push("tc=" + c.ID); + write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor("tc=" + c.ID)); + } }); }); write_record(ba, 0x0277 /* BrtEndCommentAuthors */); @@ -12488,7 +12819,11 @@ function write_comments_bin(data/*::, opts*/) { write_record(ba, 0x0279 /* BrtBeginCommentList */); data.forEach(function(comment) { comment[1].forEach(function(c) { - c.iauthor = iauthor.indexOf(c.a); + var _ia = -1; + if(c.ID) _ia = iauthor.indexOf("tc=" + c.ID); + if(_ia == -1 && comment[1][0].T && comment[1][0].ID) _ia = iauthor.indexOf("tc=" + comment[1][0].ID); + if(_ia == -1) _ia = iauthor.indexOf(c.a); + c.iauthor = _ia; var range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])}; write_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c])); if(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c)); @@ -13704,8 +14039,7 @@ function write_FormulaValue(value) { /* [MS-XLS] 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); if(opts.biff != 2) { @@ -13899,7 +14233,7 @@ function write_XLSBFormulaRangeWS(_str, wb) { var sname = _str.slice(0, lastbang); _str = _str.slice(lastbang+1); if(sname.charAt(0) == "'") sname = sname.slice(1, -1).replace(/''/g, "'"); - var parts = _str.split(":"); str = parts[0]; + var parts = _str.split(":"); var out = new_buf(27); out.write_shift(4, 19); @@ -15132,7 +15466,7 @@ function ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ { } function csf_to_ods_3D(r/*:string*/)/*:string*/ { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } var strs = {}; // shared strings @@ -15218,7 +15552,7 @@ function get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) { return len; } -function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) { +function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -15233,14 +15567,14 @@ function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, the else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; @@ -15320,7 +15654,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -15340,6 +15674,10 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro var margins = data2.match(marginregex); if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); + /* legacyDrawing */ + var m; + if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; + if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -15356,6 +15694,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro } if(columns.length > 0) s["!cols"] = columns; if(merges.length > 0) s["!merges"] = merges; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } @@ -15522,21 +15861,27 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { +function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts, idx, wb, date1904)/*:string*/ { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { case 'b': vv = cell.v ? "1" : "0"; break; - case 'n': vv = ''+cell.v; break; + case 'n': + if(isNaN(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x24]; } // #NUM! + else if(!isFinite(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x07]; } // #DIV/0! + else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -15579,7 +15924,7 @@ var parse_ws_xml_data = /*#__PURE__*/(function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) { +return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles, wb) { var ri = 0, x = "", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -15590,6 +15935,7 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th var dense = s["!data"] != null; var rows/*:Array*/ = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -15657,19 +16003,27 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th if((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]); if(opts.cellFormula) { - if((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') { - /* TODO: match against XLSXFutureFunctions */ - p.f=unescapexml(utf8read(cref[1]), true); - if(!opts.xlfn) p.f = _xlfn(p.f); - if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { - p.F = (d.match(refregex)||[])[1]; - if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); - } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { - // TODO: parse formula - ftag = parsexmltag(cref[0]); - var ___f = unescapexml(utf8read(cref[1])); - if(!opts.xlfn) ___f = _xlfn(___f); - sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + if((cref=d.match(match_f))!= null /*:: && cref != null*/) { + if(cref[1] == "") { + if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r); + } + } else { + /* TODO: match against XLSXFutureFunctions */ + p.f=unescapexml(utf8read(cref[1]), true); + if(!opts.xlfn) p.f = _xlfn(p.f); + if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + var ___f = unescapexml(utf8read(cref[1])); + if(!opts.xlfn) ___f = _xlfn(___f); + sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + } } } else if((cref=d.match(/]*\/>/))) { ftag = parsexmltag(cref[0]); @@ -15726,8 +16080,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -15746,8 +16100,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -15772,6 +16126,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook var o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -15780,7 +16135,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}/*:any*/); @@ -16475,6 +16830,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ XLSBRecordEnum[0x0010] = { n:"BrtShortReal", f:parse_BrtShortReal }; var cm, vm; + var date1904 = 1462 * +!!((wb||{}).WBProps||{}).date1904; recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; @@ -16518,7 +16874,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ case 'str': p.t = 's'; p.v = val[1]; break; case 'is': p.t = 's'; p.v = val[1].t; break; } - if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles); + if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles, date1904>0); C = val[0].c == -1 ? C + 1 : val[0].c; if(opts.dense) { if(!s["!data"][R]) s["!data"][R] = []; s["!data"][R][C] = p; } else s[encode_col(C) + rr] = p; @@ -16539,7 +16895,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(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) { - 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); } + var _d = SSF_parse_date_code(p.v + date1904); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } if(cm) { if(cm.type == 'XLDAPR') p.D = true; @@ -16619,6 +16975,10 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ } break; + case 0x0227: /* 'BrtLegacyDrawing' */ + if(val) s["!legrel"] = val; + break; + case 0x00A1: /* 'BrtBeginAFilter' */ s['!autofilter'] = { ref:encode_range(val) }; break; @@ -16675,7 +17035,6 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ case 0x0499: /* 'BrtFilter14' */ case 0x00A9: /* 'BrtIconFilter' */ case 0x049D: /* 'BrtIconFilter14' */ - case 0x0227: /* 'BrtLegacyDrawing' */ case 0x0228: /* 'BrtLegacyDrawingHF' */ case 0x0295: /* 'BrtListPart' */ case 0x027F: /* 'BrtOleObject' */ @@ -16734,11 +17093,12 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ if(merges.length > 0) s["!merges"] = merges; if(colinfo.length > 0) s["!cols"] = colinfo; if(rowinfo.length > 0) s["!rows"] = rowinfo; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ { +function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/, date1904/*:boolean*/)/*:boolean*/ { var o/*:any*/ = ({r:R, c:C}/*:any*/); if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]); if(cell.v === undefined) return false; @@ -16748,7 +17108,7 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num case 'd': // no BrtCellDate :( cell = dup(cell); cell.z = cell.z || table_fmt[14]; - cell.v = datenum(parseDate(cell.v)); cell.t = 'n'; + cell.v = datenum(parseDate(cell.v, date1904), date1904); cell.t = 'n'; break; /* falls through */ case 'n': case 'e': vv = ''+cell.v; break; @@ -16775,6 +17135,12 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) { if(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o)); else write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o)); + } else if(isNaN(cell.v)) { + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:"e", v: 0x24}, o)); // #NUM! + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:"e", v: 0x24}, o)); // #NUM! + } else if(!isFinite(cell.v)) { + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:"e", v: 0x07}, o)); // #DIV/0! + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:"e", v: 0x07}, o)); // #DIV/0! } else { if(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o)); else write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o)); @@ -16795,8 +17161,9 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num return true; } -function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { +function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols/*:Array*/ = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; write_record(ba, 0x0091 /* BrtBeginSheetData */); var dense = ws["!data"] != null; var cap = range.e.r; @@ -16814,7 +17181,7 @@ function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Work var cell = dense ? (ws["!data"][R]||[])[C] : ws[ref]; if(!cell) { last_seen = false; continue; } /* write cell */ - last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); + last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904); } } write_record(ba, 0x0092 /* BrtEndSheetData */); @@ -17973,10 +18340,10 @@ function xlml_parsexmltagobj(tag/*:string*/) { /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap/*: {[string]:string}*/; -function xlml_format(format, value)/*:string*/ { +function xlml_format(format, value, date1904)/*:string*/ { var fmt = XLMLFormatMap[format] || unescapexml(format); if(fmt === "General") return SSF_general(value); - return SSF_format(fmt, value); + return SSF_format(fmt, value, {date1904: !!date1904}); } function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { @@ -17992,7 +18359,7 @@ function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { Custprops[unescapexml(key)] = oval; } -function safe_format_xlml(cell/*:Cell*/, nf, o) { +function safe_format_xlml(cell/*:Cell*/, nf, o, date1904) { if(cell.t === 'z') return; if(!o || o.cellText !== false) try { if(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; } @@ -18003,13 +18370,13 @@ function safe_format_xlml(cell/*:Cell*/, nf, o) { } else cell.w = SSF_general(cell.v); } - else cell.w = xlml_format(nf||"General", cell.v); + else cell.w = xlml_format(nf||"General", cell.v, date1904); } catch(e) { if(o.WTF) throw e; } try { var z = XLMLFormatMap[nf]||nf||"General"; if(o.cellNF) cell.z = z; if(o.cellDates && cell.t == 'n' && fmt_is_date(z)) { - var _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } + var _d = SSF_parse_date_code(cell.v + (date1904 ? 1462 : 0)); if(_d) { cell.t = 'd'; cell.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } catch(e) { if(o.WTF) throw e; } } @@ -18025,7 +18392,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) { +function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o, date1904) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; var i = 0; @@ -18048,9 +18415,8 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a break; case 'DateTime': if(xml.slice(-1) != "Z") xml += "Z"; - cell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); + cell.v = datenum(parseDate(xml, date1904), date1904); if(cell.v !== cell.v) cell.v = unescapexml(xml); - else if(cell.v<60) cell.v = cell.v -1; if(!nf || nf == "General") nf = "yyyy-mm-dd"; /* falls through */ case 'Number': @@ -18063,7 +18429,7 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a else { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); } break; } - safe_format_xlml(cell, nf, o); + safe_format_xlml(cell, nf, o, date1904); if(o.cellFormula !== false) { if(cell.Formula) { var fstr = unescapexml(cell.Formula); @@ -18165,7 +18531,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { break; } if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts, Workbook.WBProps.date1904); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'cell' /*case 'Cell'*/: @@ -18376,6 +18742,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { } else { state.push([Rn[3], false]); tmp = xlml_parsexmltag(Rn[0]); + if(!parsexmlbool(tmp["ShowAlways"]||"0")) comments.hidden = true; comment = ({a:tmp.Author}/*:any*/); } break; @@ -18467,6 +18834,9 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { /*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */ Workbook.WBProps.date1904 = true; break; + case 'hidehorizontalscrollbar' /*case 'HideHorizontalScrollBar'*/: break; + case 'hideverticalscrollbar' /*case 'HideVerticalScrollBar'*/: break; + case 'hideworkbooktabs' /*case 'HideWorkbookTabs'*/: break; case 'windowheight' /*case 'WindowHeight'*/: break; case 'windowwidth' /*case 'WindowWidth'*/: break; case 'windowtopx' /*case 'WindowTopX'*/: break; @@ -19035,11 +19405,15 @@ function write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workb return writextag("WorksheetOptions", o.join(""), {xmlns:XLMLNS.x}); } function write_ws_xlml_comment(comments/*:Array*/)/*:string*/ { + /* TODO: test multiple comments */ return comments.map(function(c) { // TODO: formatted text var t = xlml_unfixstr(c.t||""); var d =writextag("ss:Data", t, {"xmlns":"http://www.w3.org/TR/REC-html40"}); - return writextag("Comment", d, {"ss:Author":c.a}); + var p = {}; + if(c.a) p["ss:Author"] = c.a; + if(!comments.hidden) p["ss:ShowAlways"] = "1"; + return writextag("Comment", d, p); }).join(""); } function write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{ @@ -19260,7 +19634,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { var fmtid = 0; try { fmtid = p.z || p.XF.numFmtId || 0; - if(opts.cellNF) p.z = table_fmt[fmtid]; + if(opts.cellNF && p.z == null) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { if(p.t === 'e') { p.w = p.w || BErr[p.v]; } @@ -19274,7 +19648,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { else p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF}); } catch(e) { if(opts.WTF) throw e; } if(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) { - 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); } + var _d = SSF_parse_date_code(p.v + (date1904 ? 1462 : 0)); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } @@ -19302,6 +19676,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var XFs = []; /* XF records */ var palette/*:Array<[number, number, number]>*/ = []; var Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {}; + var biff4w = false; var get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ { if(icv < 8) return XLSIcv[icv]; if(icv < 64) return palette[icv-8] || XLSIcv[icv]; @@ -19317,7 +19692,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } }; var addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) { - if(file_depth > 1) return; + if(!biff4w && file_depth > 1) return; if(options.sheetRows && cell.r >= options.sheetRows) return; if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options); delete line.ixfe; delete line.XF; @@ -19448,6 +19823,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; break; // TODO + case 0x0043: /* BIFF2XF */ case 0x0243: /* BIFF3XF */ case 0x0443: /* BIFF4XF */ case 0x00e0 /* XF */: XFs.push(val); break; case 0x01ae /* SupBook */: @@ -19482,11 +19858,11 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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; + Directory[opts.biff == 4 ? opts.snames.length : val.pos] = val; opts.snames.push(val.name); } break; case 0x000a /* EOF */: { - if(--file_depth) break; + if(--file_depth ? !biff4w : biff4w) break; if(range.e) { if(range.e.r > 0 && range.e.c > 0) { range.e.r--; range.e.c--; @@ -19525,13 +19901,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { }[val.BIFFVer] || 8; opts.biffguess = val.BIFFVer == 0; if(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); } + if(opts.biff == 4 && val.dt & 0x100) biff4w = true; if(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2; - if(file_depth++) break; + if(file_depth++ && !biff4w) break; out = ({}/*:any*/); if(options.dense) out["!data"] = []; if(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); } - - if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { + if(opts.biff == 4 && biff4w) { + cur_sheet = (Directory[opts.snames.indexOf(cur_sheet)+1] || {name:""}).name; + } else if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; /* fake BoundSheet8 */ @@ -19552,19 +19930,19 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out["!data"][val.r]||[])[val.c]: out[encode_col(val.c) + encode_row(val.r)]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x0005: case 0x0205 /* BoolErr */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x027e /* RK */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19572,7 +19950,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } @@ -19590,7 +19968,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { else temp_val.F = ((options.dense ? (out["!data"][_fr]||[])[_fc]: out[_fe]) || {}).F; } else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -19603,7 +19981,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(options.cellFormula) { temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -19634,13 +20012,13 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x0201 /* Blank */: if(options.sheetStubs) { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19648,7 +20026,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:_j, r:val.r}, temp_val, options); } @@ -19657,7 +20035,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19669,7 +20047,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { sst = val; } break; case 0x041e /* Format */: { /* val = [id, fmt] */ - if(opts.biff == 4) { + if(opts.biff >= 3 && opts.biff <= 4) { BIFF2FmtTable[BIFF2Fmt++] = val[1]; for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break; if(b4idx >= 163) SSF__load(val[1], BIFF2Fmt + 163); @@ -19703,9 +20081,8 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { } } break; case 0x001c /* Note */: { - if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ + /* TODO: comment continuation (row == -1 / 0xFFFF) */ cc = options.dense ? (out["!data"][val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; - var noteobj = objects[val[2]]; if(!cc) { if(options.dense) { if(!out["!data"][val[0].r]) out["!data"][val[0].r] = []; @@ -19719,7 +20096,12 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { range.s.c = Math.min(range.s.c, val[0].c); } if(!cc.c) cc.c = []; - cmnt = {a:val[1],t:noteobj.TxO.t}; + if(opts.biff <= 5 && opts.biff >= 2) cmnt = {a:"SheetJ5", t:val[1]}; + else { + var noteobj = objects[val[2]]; + cmnt = {a:val[1],t:noteobj.TxO.t}; + if(val[3] != null && !(val[3] & 0x02)) cc.c.hidden = true; + } cc.c.push(cmnt); } break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; @@ -20392,7 +20774,7 @@ var XLSBRecordEnum = { /*::[*/0x0224/*::]*/: { /* n:"BrtFileSharing" */ }, /*::[*/0x0225/*::]*/: { /* n:"BrtOleSize" */ }, /*::[*/0x0226/*::]*/: { /* n:"BrtDrawing", */ f:parse_RelID }, - /*::[*/0x0227/*::]*/: { /* n:"BrtLegacyDrawing" */ }, + /*::[*/0x0227/*::]*/: { /* n:"BrtLegacyDrawing", */ f:parse_XLNullableWideString }, /*::[*/0x0228/*::]*/: { /* n:"BrtLegacyDrawingHF" */ }, /*::[*/0x0229/*::]*/: { /* n:"BrtWebOpt" */ }, /*::[*/0x022A/*::]*/: { /* n:"BrtBeginWebPubItems", */ T:1 }, @@ -21131,7 +21513,7 @@ var XLSRecordEnum = { /*::[*/0x0002/*::]*/: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, /*::[*/0x0003/*::]*/: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, /*::[*/0x0004/*::]*/: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, - /*::[*/0x0005/*::]*/: { /* n:"BoolErr", */ f:parse_BoolErr }, + /*::[*/0x0005/*::]*/: { /* n:"BIFF2BOOLERR", */ f:parse_BIFF2BOOLERR }, /*::[*/0x0007/*::]*/: { /* n:"String", */ f:parse_BIFF2STRING }, /*::[*/0x0008/*::]*/: { /* n:"BIFF2ROW", */ }, /*::[*/0x0009/*::]*/: { /* n:"BOF", */ f:parse_BOF }, @@ -21143,34 +21525,34 @@ var XLSRecordEnum = { /*::[*/0x0021/*::]*/: { /* n:"Array", */ f:parse_Array }, /*::[*/0x0024/*::]*/: { /* n:"COLWIDTH", */ }, /*::[*/0x0025/*::]*/: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, - // 0x2c ?? - // 0x2d ?? - // 0x2e ?? - // 0x30 FONTCOUNT: number of fonts + // 0x002c ?? + // 0x002d ?? + // 0x002e ?? + // 0x0030 FONTCOUNT: number of fonts /*::[*/0x0032/*::]*/: { /* n:"BIFF2FONTXTRA", */ f:parse_BIFF2FONTXTRA }, - // 0x35: INFOOPTS - // 0x36: TABLE (BIFF2 only) - // 0x37: TABLE2 (BIFF2 only) - // 0x38: WNDESK - // 0x39 ?? - // 0x3a: BEGINPREF - // 0x3b: ENDPREF + // 0x0035: INFOOPTS + // 0x0036: TABLE (BIFF2 only) + // 0x0037: TABLE2 (BIFF2 only) + // 0x0038: WNDESK + // 0x0039 ?? + // 0x003a: BEGINPREF + // 0x003b: ENDPREF /*::[*/0x003e/*::]*/: { /* n:"BIFF2WINDOW2", */ }, - // 0x3f ?? - // 0x46: SHOWSCROLL - // 0x47: SHOWFORMULA - // 0x48: STATUSBAR - // 0x49: SHORTMENUS - // 0x4A: - // 0x4B: - // 0x4C: - // 0x4E: - // 0x4F: - // 0x58: TOOLBAR (BIFF3) + // 0x003f ?? + // 0x0046: SHOWSCROLL + // 0x0047: SHOWFORMULA + // 0x0048: STATUSBAR + // 0x0049: SHORTMENUS + // 0x004A: + // 0x004B: + // 0x004C: + // 0x004E: + // 0x004F: + // 0x0058: TOOLBAR (BIFF3) /* - - - */ /*::[*/0x0034/*::]*/: { /* n:"DDEObjName", */ }, - /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ }, + /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ f:parse_BIFF2XF }, /*::[*/0x0044/*::]*/: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, /*::[*/0x0045/*::]*/: { /* n:"BIFF2FONTCLR", */ }, /*::[*/0x0056/*::]*/: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ @@ -21182,7 +21564,7 @@ var XLSRecordEnum = { // 0x8A // 0x8B LH: alternate menu key flag (BIFF3/4) // 0x8E - // 0x8F + /*::[*/0x008F/*::]*/: { /* n:"BIFF4SheetInfo", */ f:parse_BIFF4SheetInfo }, /*::[*/0x0091/*::]*/: { /* n:"Sub", */ }, // 0x93 STYLE /*::[*/0x0094/*::]*/: { /* n:"LHRecord", */ }, @@ -21208,10 +21590,10 @@ var XLSRecordEnum = { /*::[*/0x0218/*::]*/: { /* n:"Lbl", */ f:parse_Lbl }, /*::[*/0x0223/*::]*/: { /* n:"ExternName", */ f:parse_ExternName }, /*::[*/0x0231/*::]*/: { /* n:"Font", */ }, - /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ }, + /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ f:parse_BIFF3XF }, /*::[*/0x0406/*::]*/: { /* n:"Formula", */ f:parse_Formula }, /*::[*/0x0409/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ }, + /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ f:parse_BIFF4XF }, /*::[*/0x086d/*::]*/: { /* n:"FeatInfo", */ }, /*::[*/0x0873/*::]*/: { /* n:"FeatInfo11", */ }, /*::[*/0x0881/*::]*/: { /* n:"SXAddl12", */ }, @@ -21275,16 +21657,7 @@ function write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/* } } -function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { - if(!out) out = new_buf(7); - out.write_shift(2, r); - out.write_shift(2, c); - out.write_shift(2, 0); - out.write_shift(1, 0); - return out; -} - -function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) { +function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:string*/) { var out = new_buf(9); write_BIFF2Cell(out, r, c); write_Bes(val, t || 'b', out); @@ -21300,25 +21673,59 @@ function write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) { return out.l < out.length ? out.slice(0, out.l) : out; } -function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) { +function write_comments_biff2(ba/*:BufArray*/, comments/*:Array<[Comment[], number, number]>*/) { + comments.forEach(function(data) { + var text = data[0].map(function(cc) { return cc.t; }).join(""); + // TODO: should '\n' be translated to '\r' to correct for Excel 5.0 bug when exporting to BIFF2/3 ? + if(text.length <= 2048) return write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text, data[1], data[2])); + write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(0, 2048), data[1], data[2], text.length)); + for(var i = 2048; i < text.length; i += 2048) + write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(i, Math.min(i+2048, text.length)), -1, -1, Math.min(2048, text.length - i))); + }); +} + +/* TODO: BIFF3/4 use different records -- see comments*/ +function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) { + var ifmt = 0; + if(cell.z != null) { + ifmt = opts._BIFF2FmtTable.indexOf(cell.z); + if(ifmt == -1) { opts._BIFF2FmtTable.push(cell.z); ifmt = opts._BIFF2FmtTable.length - 1; } + } + var ixfe = 0; + if(cell.z != null) { + for(; ixfe < opts.cellXfs.length; ++ixfe) if(opts.cellXfs[ixfe].numFmtId == ifmt) break; + if(ixfe == opts.cellXfs.length) opts.cellXfs.push({numFmtId: ifmt}); + } if(cell.v != null) switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; - if((v == (v|0)) && (v >= 0) && (v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v)); + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; + if(opts.biff == 2 && (v == (v|0)) && (v >= 0) && (v < 65536)) + // 0x027E (RK) in BIFF3/4 + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v, ixfe, ifmt)); + else if(isNaN(v)) + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x24, "e")); // #NUM! + else if(!isFinite(v)) + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x07, "e")); // #DIV/0! else - write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v)); + // 0x0203 in BIFF3/4 + write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v, ixfe, ifmt)); return; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; + case 'b': case 'e': + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': + // 0x0204 in BIFF3/4 write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v == null ? "" : String(cell.v).slice(0,255))); return; } + // 0x0201 in BIFF3/4 write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); } -function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { +function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { var dense = ws["!data"] != null; var range = safe_decode_range(ws['!ref'] || "A1"), ref/*:string*/, rr = "", cols/*:Array*/ = []; if(range.e.c > 0xFF || range.e.r > 0x3FFF) { @@ -21326,7 +21733,9 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ range.e.c = Math.min(range.e.c, 0xFF); range.e.r = Math.min(range.e.c, 0x3FFF); } - var row = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var row = [], comments = []; + /* TODO: 0x0000 / 0x0200 dimensions? */ for(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(var R = range.s.r; R <= range.e.r; ++R) { if(dense) row = ws["!data"][R] || []; @@ -21335,26 +21744,300 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ var cell = dense ? row[C] : ws[cols[C] + rr]; if(!cell) continue; /* write cell */ - write_ws_biff2_cell(ba, cell, R, C, opts); + write_ws_biff2_cell(ba, cell, R, C, opts, date1904); + if(cell.c) comments.push([cell.c, R, C]); } } + + /* ... 0x12 0x19 0x13 (Password) */ + write_comments_biff2(ba, comments); + /* 0x3d (Window1) ... */ } /* Based on test files */ function write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { var o = opts || {}; + var ba = buf_array(); var idx = 0; for(var i=0;i*/ = ["General"]; o._Fonts = []; + var body = buf_array(); + write_ws_biff2(body, wb.Sheets[wb.SheetNames[idx]], idx, o, wb); + + o._BIFF2FmtTable.forEach(function(f) { + if(o.biff <= 3) write_biff_rec(ba, 0x001E, write_BIFF2Format(f)); + else write_biff_rec(ba, 0x041E, write_BIFF4Format(f)); + }); + o.cellXfs.forEach(function(xf) { + switch(o.biff) { + case 2: write_biff_rec(ba, 0x0043, write_BIFF2XF(xf)); break; + case 3: write_biff_rec(ba, 0x0243, write_BIFF3XF(xf)); break; + case 4: write_biff_rec(ba, 0x0443, write_BIFF4XF(xf)); break; + } + }); + delete o._BIFF2FmtTable; delete o.cellXfs; delete o._Fonts; + + ba.push(body.end()); write_biff_rec(ba, 0x000A); return ba.end(); } +var b8oid = 1, b8ocnts/*:Array<[number, number, number]>*/ = []; +function write_MsoDrawingGroup() { + var buf = new_buf(82 + 8 * b8ocnts.length); + /* [MS-ODRAW] 2.2.12 OfficeArtDggContainer */ + buf.write_shift(2, 0x0F); + buf.write_shift(2, 0xF000); + buf.write_shift(4, 74 + 8 * b8ocnts.length); + /* 2.2.48 OfficeArtFDGGBlock */ + { + buf.write_shift(2, 0); + buf.write_shift(2, 0xF006); + buf.write_shift(4, 16 + 8 * b8ocnts.length); + /* 2.2.47 OfficeArtFDGG */ + { + buf.write_shift(4, b8oid); + buf.write_shift(4, b8ocnts.length+1); + var acc = 0; for(var i = 0; i < b8ocnts.length; ++i) acc += (b8ocnts[i] && b8ocnts[i][1] || 0); buf.write_shift(4, acc); + buf.write_shift(4, b8ocnts.length); + } + /* 2.2.46 OfficeArtIDCL + */ + b8ocnts.forEach(function(b8) { + buf.write_shift(4, b8[0]); + buf.write_shift(4, b8[2]); + }); + } + /* 2.2.9 OfficeArtFOPT */ + { + buf.write_shift(2, 0x33); // 0x03 | (3 << 4) + buf.write_shift(2, 0xF00B); + buf.write_shift(4, 0x12); // 3 * 6 + /* 2.3.21.15 Text Boolean Properties */ + buf.write_shift(2, 0xBF); buf.write_shift(4, 0x00080008); + /* 2.3.7.2 fillColor */ + buf.write_shift(2, 0x0181); buf.write_shift(4, 0x08000041); + /* 2.3.8.1 lineColor */ + buf.write_shift(2, 0x01C0); buf.write_shift(4, 0x08000040); + } + /* 2.2.45 OfficeArtSplitMenuColorContainer */ + { + buf.write_shift(2, 0x40); + buf.write_shift(2, 0xF11E); + buf.write_shift(4, 16); + buf.write_shift(4, 0x0800000D); + buf.write_shift(4, 0x0800000C); + buf.write_shift(4, 0x08000017); + buf.write_shift(4, 0x100000F7); + } + return buf; +} +function write_comments_biff8(ba/*:BufArray*/, comments/*:Array<[Comment[], number, number]>*/) { + var notes/*:Array*/ = [], sz = 0, pl = buf_array(), baseid = b8oid; + var _oasc; + comments.forEach(function(c, ci) { + var author = ""; + var text = c[0].map(function(t) { if(t.a && !author) author = t.a; return t.t; }).join(""); + ++b8oid; + + /* 2.2.14 OfficeArtSpContainer */ + { + var oasc = new_buf(0x96); + oasc.write_shift(2, 0x0F); + oasc.write_shift(2, 0xF004); + oasc.write_shift(4, 0x96); + /* 2.2.40 OfficeArtFSP */ + { + oasc.write_shift(2, 0xca2); // 0x02 | (0xca << 4) + oasc.write_shift(2, 0xF00A); + oasc.write_shift(4, 8); + oasc.write_shift(4, b8oid); + oasc.write_shift(4, 0xA00); + } + /* 2.2.9 OfficeArtFOPT */ + { + oasc.write_shift(2, 0xE3); // 0x03 | (14 << 4) + oasc.write_shift(2, 0xF00B); + oasc.write_shift(4, 0x54); // 14 * 6 + /* 2.3.21.1 ITxid */ + oasc.write_shift(2, 0x80); oasc.write_shift(4, 0); + /* 2.3.21.12 txdir */ + oasc.write_shift(2, 0x8B); oasc.write_shift(4, 0x02); + /* 2.3.21.15 Text Boolean Properties */ + oasc.write_shift(2, 0xBF); oasc.write_shift(4, 0x00080008); + /* 2.3.6.30 cxk */ + oasc.write_shift(2, 0x0158); oasc.l += 4; + /* 2.3.7.2 fillColor */ + oasc.write_shift(2, 0x0181); oasc.write_shift(4, 0x08000050); + /* 2.3.7.4 fillBackColor */ + oasc.write_shift(2, 0x0183); oasc.write_shift(4, 0x08000050); + /* 2.3.7.6 fillCrMod */ + oasc.write_shift(2, 0x0185); oasc.write_shift(4, 0x100000F4); + /* 2.3.7.43 Fill Style Boolean Properties */ + oasc.write_shift(2, 0x01BF); oasc.write_shift(4, 0x00100010); + /* 2.3.8.1 lineColor */ + oasc.write_shift(2, 0x01C0); oasc.write_shift(4, 0x08000051); + /* 2.3.8.4 lineCrMod */ + oasc.write_shift(2, 0x01C3); oasc.write_shift(4, 0x100000F4); + /* 2.3.13.2 shadowColor */ + oasc.write_shift(2, 0x0201); oasc.write_shift(4, 0x08000051); + /* 2.3.13.4 shadowCrMod */ + oasc.write_shift(2, 0x0203); oasc.write_shift(4, 0x100000F4); + /* 2.3.13.23 Shadow Style Boolean Properties */ + oasc.write_shift(2, 0x023F); oasc.write_shift(4, 0x00030001); + /* 2.3.4.44 Group Shape Boolean Properties */ + oasc.write_shift(2, 0x03BF); oasc.write_shift(4, 0x00020000 | (c[0].hidden ? 2 : 0)); + } + /* [MS-XLS] 2.5.193 OfficeArtClientAnchorSheet */ + { + oasc.l += 2; + oasc.write_shift(2, 0xF010); + oasc.write_shift(4, 0x12); + oasc.write_shift(2, 0x3); // do not move or size with cells + oasc.write_shift(2, c[2] + 2); oasc.l += 2; + oasc.write_shift(2, c[1] + 1); oasc.l += 2; + oasc.write_shift(2, c[2] + 4); oasc.l += 2; + oasc.write_shift(2, c[1] + 5); oasc.l += 2; + } + /* [MS-XLS] 2.5.194 OfficeArtClientData */ + { + oasc.l += 2; + oasc.write_shift(2, 0xF011); + oasc.l += 4; + } + oasc.l = 0x96; + if(ci == 0) /* write_biff_rec(pl, 0x003C, oasc); */ _oasc = oasc; + else write_biff_rec(pl, 0x00EC, oasc); + } + sz += 0x96; + + /* [MS-XLS] 2.4.181 Obj */ + { + var obj = new_buf(52); // 22 + 26 + 4 + /* [MS-XLS] 2.5.143 FtCmo */ + obj.write_shift(2, 0x15); + obj.write_shift(2, 0x12); + obj.write_shift(2, 0x19); + obj.write_shift(2, b8oid); + obj.write_shift(2, 0); + obj.l = 22; + /* [MS-XLS] 2.5.149 FtNts */ + obj.write_shift(2, 0x0D); + obj.write_shift(2, 0x16); + obj.write_shift(4, 0x62726272); + obj.write_shift(4, 0x95374305); + obj.write_shift(4, 0x80301328); + obj.write_shift(4, 0x69696904 + b8oid*256); + obj.write_shift(2,0); + obj.write_shift(4,0); + // reserved + obj.l += 4; + write_biff_rec(pl, 0x005D, obj); + } + + /* [MS-XLS] 2.5.195 OfficeArtClientTextbox */ + { + var oact = new_buf(8); + oact.l += 2; + oact.write_shift(2, 0xF00D); + oact.l += 4; + write_biff_rec(pl, 0x00EC, oact); + } + sz += 8; + + /* [MS-XLS] 2.4.329 TxO */ + { + var txo = new_buf(18); + txo.write_shift(2, 0x12); + txo.l += 8; + txo.write_shift(2, text.length); + txo.write_shift(2, 0x10); + txo.l += 4; + write_biff_rec(pl, 0x01b6, txo); + /* text continue record TODO: switch to wide strings */ + { + var cont = new_buf(1 + text.length); + cont.write_shift(1, 0); + cont.write_shift(text.length, text, "sbcs"); + write_biff_rec(pl, 0x003C, cont); + } + /* formatting continue records */ + { + var conf = new_buf(0x10); + conf.l += 8; + conf.write_shift(2, text.length); + conf.l += 6; + write_biff_rec(pl, 0x003C, conf); + } + } + + /* 2.4.179 Note */ + { + var notesh = new_buf(12 + author.length); + notesh.write_shift(2, c[1]); + notesh.write_shift(2, c[2]); + notesh.write_shift(2, 0 | (c[0].hidden ? 0 : 2)); + notesh.write_shift(2, b8oid); + notesh.write_shift(2, author.length); + notesh.write_shift(1, 0); + notesh.write_shift(author.length, author, "sbcs"); + notesh.l ++; + notes.push(notesh); + } + }); + /* [MS-ODRAW] 2.2.13 OfficeArtDgContainer */ + { + var hdr = new_buf(80); + hdr.write_shift(2, 0x0F); + hdr.write_shift(2, 0xF002); + hdr.write_shift(4, sz + hdr.length - 8); + /* [MS-ODRAW] 2.2.49 OfficeArtFDG */ + { + hdr.write_shift(2, 0x10); + hdr.write_shift(2, 0xF008); + hdr.write_shift(4, 0x08); + hdr.write_shift(4, comments.length + 1); + hdr.write_shift(4, b8oid); + } + /* [MS-ODRAW] 2.2.16 OfficeArtSpgrContainer */ + { + hdr.write_shift(2, 0x0f); + hdr.write_shift(2, 0xF003); + hdr.write_shift(4, sz + 0x30); + /* [MS-ODRAW] 2.2.14 OfficeArtSpContainer */ + { + hdr.write_shift(2, 0x0f); + hdr.write_shift(2, 0xF004); + hdr.write_shift(4, 0x28); + /* [MS-ODRAW] 2.2.38 OfficeArtFSPGR */ + { + hdr.write_shift(2, 0x01); + hdr.write_shift(2, 0xF009); + hdr.write_shift(4, 0x10); + hdr.l += 16; + } + /* [MS-ODRAW] 2.2.40 OfficeArtFSP */ + { + hdr.write_shift(2, 0x02); + hdr.write_shift(2, 0xF00A); + hdr.write_shift(4, 0x08); + hdr.write_shift(4, baseid); + hdr.write_shift(4, 0x05); + } + } + } + write_biff_rec(ba, 0x00EC, /* hdr */ _oasc ? bconcat([hdr, _oasc]) : hdr); + } + ba.push(pl.end()); + notes.forEach(function(n) { write_biff_rec(ba, 0x001C, n); }); + b8ocnts.push([baseid, comments.length + 1, b8oid]); + ++b8oid; +} + function write_FONTS_biff8(ba, data, opts) { write_biff_rec(ba, 0x0031 /* Font */, write_Font({ sz:12, @@ -21416,7 +22099,7 @@ function write_ws_cols_biff8(ba, cols) { }); } -function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { +function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) { var os = 16 + get_cell_style(opts.cellXfs, cell, opts); if(cell.v == null && !cell.bf) { write_biff_rec(ba, 0x0201 /* Blank */, write_XLSCell(R, C, os)); @@ -21425,9 +22108,11 @@ function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:n if(cell.bf) write_biff_rec(ba, 0x0006 /* Formula */, write_Formula(cell, R, C, opts, os)); else switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; + if(isNaN(v)) write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, 0x24, os, opts, "e")); // #NUM! + else if(!isFinite(v)) write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, 0x07, os, opts, "e")); // #DIV/0! /* TODO: emit RK as appropriate */ - write_biff_rec(ba, 0x0203 /* Number */, write_Number(R, C, v, os, opts)); + else write_biff_rec(ba, 0x0203 /* Number */, write_Number(R, C, v, os, opts)); break; case 'b': case 'e': write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, cell.v, os, opts, cell.t)); @@ -21484,6 +22169,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { write_biff_rec(ba, 0x0200 /* Dimensions */, write_Dimensions(range, opts)); /* ... */ + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; if(b8) ws['!links'] = []; var comments = []; var row = []; @@ -21496,14 +22182,14 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { var cell = dense ? row[C] : ws[ref]; if(!cell) continue; /* write cell */ - write_ws_biff8_cell(ba, cell, R, C, opts); + write_ws_biff8_cell(ba, cell, R, C, opts, date1904); if(b8 && cell.l) ws['!links'].push([ref, cell.l]); - if(b8 && cell.c) comments.push([ref, cell.c]); + if(cell.c) comments.push([cell.c, R, C]); } } var cname/*:string*/ = _sheet.CodeName || _sheet.name || s; /* ... */ - // if(b8) comments.forEach(function(comment) { write_biff_rec(ba, 0x001c /* Note */, write_NoteSh(comment)); }); + if(b8) write_comments_biff8(ba, comments); else write_comments_biff2(ba, comments); /* ... */ if(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0])); /* ... */ @@ -21573,8 +22259,10 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { var C = buf_array(); /* METADATA [MTRSettings] [ForceFullCalculation] */ if(b8) write_biff_rec(C, 0x008C /* Country */, write_Country()); - /* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */ + /* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture */ + /* BIFF8: MsoDrawingGroup [*Continue] */ + if(b8 && b8ocnts.length) write_biff_rec(C, 0x00EB /* MsoDrawingGroup */, write_MsoDrawingGroup()); /* BIFF8: [SST *Continue] ExtSST */ if(b8 && opts.Strings) write_biff_continue(C, 0x00FC /* SST */, write_SST(opts.Strings, opts)); @@ -21617,6 +22305,7 @@ function write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { o.ssf = wb.SSF; } + b8oid = 1; b8ocnts = []; o.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0; fix_write_opts(o); @@ -21694,9 +22383,11 @@ function html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ { else if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)}; else if(!isNaN(fuzzydate(m).getDate())) { o = ({t:'d', v:parseDate(m)}/*:any*/); + if(opts.UTC === false) o.v = utc_to_local(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } + if(o.cellText !== false) o.w = m; if(dense) { if(!ws["!data"][R]) ws["!data"][R] = []; ws["!data"][R][C] = o; } else ws[encode_cell({r:R, c:C})] = o; C += CS; @@ -21730,7 +22421,8 @@ function make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HT if(o.editable) w = '' + w + ''; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -21836,6 +22528,7 @@ function sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/ else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}/*:any*/); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } @@ -22140,8 +22833,8 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { var ws = ({}/*:any*/); if(opts.dense) ws["!data"] = []; var Rn, q/*:: :any = ({t:"", v:null, z:null, w:"",c:[],}:any)*/; var ctag = ({value:""}/*:any*/); - var textp = "", textpidx = 0, textptag/*:: = {}*/; - var textR = []; + var textp = "", textpidx = 0, textptag/*:: = {}*/, oldtextp = "", oldtextpidx = 0; + var textR = [], oldtextR = []; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var row_ol = 0; var number_format_map = _nfm || {}, styles = {}; @@ -22155,7 +22848,6 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -22226,7 +22918,7 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { C+= colpeat-1; } else if(Rn[1]!=='/') { ++C; - textp = ""; textpidx = 0; textR = []; + textp = oldtextp = ""; textpidx = oldtextpidx = 0; textR = []; oldtextR = []; colpeat = 1; var rptR = rowpeat ? R + rowpeat - 1 : R; if(C > range.e.c) range.e.c = C; @@ -22262,19 +22954,23 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -22335,10 +23031,17 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { if(textR.length) /*::(*/comment/*:: :any)*/.R = textR; comment.a = creator; comments.push(comment); + textp = oldtextp; textpidx = oldtextpidx; textR = oldtextR; + } + else if(Rn[0].charAt(Rn[0].length-2) !== '/') { + state.push([Rn[3], false]); + var annotag = parsexmltag(Rn[0], true); + /* office:display TODO: check if there is a global override */ + if(!(annotag["display"] && parsexmlbool(annotag["display"]))) comments.hidden = true; + oldtextp = textp; oldtextpidx = textpidx; oldtextR = textR; + textp = ""; textpidx = 0; textR = []; } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);} creator = ""; creatoridx = 0; - textp = ""; textpidx = 0; textR = []; break; case 'creator': // 4.3.2.7 @@ -22464,9 +23167,7 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; @@ -22488,6 +23189,9 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { if(Rn[1]==='/' && (!ctag || !ctag['string-value'])) { var ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag); textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0]; + } else if(Rn[0].slice(-2) == "/>") { + /* TODO: is self-closing 文本串 valid? */ + textp += "\n"; } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; } break; // case 's': break; // @@ -22772,7 +23476,9 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -22799,7 +23505,7 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -22855,10 +23561,15 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -22877,8 +23588,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function }; var null_cell_xml = ' \n'; - var covered_cell_xml = ' \n'; - var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs)/*:string*/ { + var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs, date1904)/*:string*/ { /* Section 9 Tables */ var o/*:Array*/ = []; o.push(' \n'); @@ -22909,7 +23619,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function ct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1); break; } - if(skip) { o.push(covered_cell_xml); continue; } + if(skip) { o.push(' \n'); continue; } var ref = encode_cell({r:R, c:C}), cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(cell && cell.f) { ct['table:formula'] = escapexml(csf_to_ods_formula(cell.f)); @@ -22938,13 +23648,13 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; - //case 'e': - default: o.push(null_cell_xml); continue; + //case 'e': // TODO: translate to ODS errors + default: o.push(null_cell_xml); continue; // TODO: empty cell with comments } var text_p = write_text_p(textp); if(cell.l && cell.l.Target) { @@ -22955,7 +23665,17 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function text_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, "&")}); } if(nfs[cell.z]) ct["table:style-name"] = "ce" + nfs[cell.z].slice(1); - o.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\n'); + var payload = writextag('text:p', text_p, {}); + if(cell.c) { + var acreator = "", apayload = "", aprops = {}; + for(var ci = 0; ci < cell.c.length; ++ci) { + if(!acreator && cell.c[ci].a) acreator = cell.c[ci].a; + apayload += "" + write_text_p(cell.c[ci].t) + ""; + } + if(!cell.c.hidden) aprops["office:display"] = true; + payload = writextag('office:annotation', apayload, aprops) + payload; + } + o.push(' ' + writextag('table:table-cell', payload, ct) + '\n'); } o.push(' \n'); } @@ -23100,7 +23820,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); @@ -23301,19 +24021,18 @@ function write_packed_varints(nums) { } 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 (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 15) << 28; return i32; } function varint_to_u64(buf) { @@ -23606,7 +24325,7 @@ function compress_iwa_file(buf) { return u8concat(out); } var numbers_lut_new = function() { - return { sst: [], rsst: [], ofmt: [], nfmt: [] }; + return { sst: [], rsst: [], ofmt: [], nfmt: [], fmla: [], ferr: [], cmnt: [] }; }; function numbers_format_cell(cell, t, flags, ofmt, nfmt) { var _a, _b, _c, _d; @@ -23722,10 +24441,10 @@ function numbers_format_cell(cell, t, flags, ofmt, nfmt) { cell.w = cell.w.replace(/:(\d\d\d)$/, ".$1"); } } -function parse_old_storage(buf, lut, v) { +function parse_old_storage(buf, lut, v, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); - var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)); var doff = v > 1 ? 12 : 8; if (flags & 2) { zidx = dv.getUint32(doff, true); @@ -23746,7 +24465,7 @@ function parse_old_storage(buf, lut, v) { doff += 8; } if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (v > 1) { @@ -23769,7 +24488,12 @@ function parse_old_storage(buf, lut, v) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -23782,9 +24506,12 @@ function parse_old_storage(buf, lut, v) { break; case 9: { - if (ridx > -1) - ret = { t: "s", v: lut.rsst[ridx] }; - else + if (ridx > -1) { + var rts = lut.rsst[ridx]; + ret = { t: "s", v: rts.v }; + if (rts.l) + ret.l = { Target: rts.l }; + } else throw new Error("Unsupported cell type ".concat(buf[subarray](0, 4))); } break; @@ -23797,12 +24524,12 @@ function parse_old_storage(buf, lut, v) { ret.v /= 86400; return ret; } -function parse_new_storage(buf, lut) { +function parse_new_storage(buf, lut, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; if (fields & 1) { d128 = readDecimal128LE(buf, doff); doff += 16; @@ -23812,7 +24539,7 @@ function parse_new_storage(buf, lut) { doff += 8; } if (fields & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (fields & 8) { @@ -23823,11 +24550,22 @@ function parse_new_storage(buf, lut) { ridx = dv.getUint32(doff, true); doff += 4; } + doff += popcnt(fields & 480) * 4; + if (fields & 512) { + fidx = dv.getUint32(doff, true); + doff += 4; + } + doff += popcnt(fields & 1024) * 4; + if (fields & 2048) { + eidx = dv.getUint32(doff, true); + doff += 4; + } var ret; var t = buf[1]; switch (t) { case 0: - return void 0; + ret = { t: "z" }; + break; case 2: ret = { t: "n", v: d128 }; break; @@ -23835,7 +24573,12 @@ function parse_new_storage(buf, lut) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -23847,7 +24590,15 @@ function parse_new_storage(buf, lut) { ret = { t: "e", v: 0 }; break; case 9: - ret = { t: "s", v: lut.rsst[ridx] }; + { + if (ridx > -1) { + var rts = lut.rsst[ridx]; + ret = { t: "s", v: rts.v }; + if (rts.l) + ret.l = { Target: rts.l }; + } else + throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(fields & 31, " : ").concat(buf[subarray](0, 4))); + } break; case 10: ret = { t: "n", v: d128 }; @@ -23855,92 +24606,187 @@ function parse_new_storage(buf, lut) { default: throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(fields & 31, " : ").concat(buf[subarray](0, 4))); } - doff += popcnt(fields & 8160) * 4; + doff += popcnt(fields & 4096) * 4; if (fields & 516096) { if (zidx == -1) zidx = dv.getUint32(doff, true); doff += 4; } + if (fields & 524288) { + var cmntidx = dv.getUint32(doff, true); + doff += 4; + if (lut.cmnt[cmntidx]) + ret.c = iwa_to_s5s_comment(lut.cmnt[cmntidx]); + } if (zidx > -1) numbers_format_cell(ret, t | 5 << 8, fields >> 13, lut.ofmt[zidx], lut.nfmt[zidx]); if (t == 7) ret.v /= 86400; return ret; } -function write_new_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; +function write_new_storage(cell, lut) { + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; out[0] = 5; switch (cell.t) { case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - flags |= 1; - l += 16; + if (cell.z && fmt_is_date(cell.z)) { + out[1] = 5; + dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + } else { + out[1] = 2; + writeDecimal128LE(out, l, cell.v); + fields |= 1; + l += 16; + } break; case "b": out[1] = 6; dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 2; + fields |= 2; l += 8; break; case "s": - var s = cell.v == null ? "" : String(cell.v); - var isst = sst.indexOf(s); - if (isst == -1) - sst[isst = sst.length] = s; - out[1] = 3; - dv.setUint32(l, isst, true); - flags |= 8; - l += 4; + { + var s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + var irsst = lut.rsst.findIndex(function(v) { + var _a; + return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target); + }); + if (irsst == -1) + lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; + out[1] = 9; + dv.setUint32(l, irsst, true); + fields |= 16; + l += 4; + } else { + var isst = lut.sst.indexOf(s); + if (isst == -1) + lut.sst[isst = lut.sst.length] = s; + out[1] = 3; + dv.setUint32(l, isst, true); + fields |= 8; + l += 4; + } + } + break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + case "z": + out[1] = 0; break; default: throw "unsupported cell type " + cell.t; } - dv.setUint32(8, flags, true); + if (cell.c) { + lut.cmnt.push(s5s_to_iwa_comment(cell.c)); + dv.setUint32(l, lut.cmnt.length - 1, true); + fields |= 524288; + l += 4; + } + dv.setUint32(8, fields, true); return out[subarray](0, l); } -function write_old_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; +function write_old_storage(cell, lut) { + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; switch (cell.t) { case "n": - out[2] = 2; - dv.setFloat64(l, cell.v, true); - flags |= 32; - l += 8; break; case "b": - out[2] = 6; - dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 32; - l += 8; break; case "s": - var s = cell.v == null ? "" : String(cell.v); - var isst = sst.indexOf(s); - if (isst == -1) - sst[isst = sst.length] = s; - out[2] = 3; - dv.setUint32(l, isst, true); - flags |= 16; - l += 4; + { + s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + var irsst = lut.rsst.findIndex(function(v) { + var _a; + return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target); + }); + if (irsst == -1) + lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; + out[1] = 9; + dv.setUint32(l, irsst, true); + fields |= 512; + l += 4; + } else { + } + } + break; + case "d": + break; + case "e": + break; + case "z": break; default: throw "unsupported cell type " + cell.t; } - dv.setUint32(8, flags, true); + if (cell.c) { + dv.setUint32(l, lut.cmnt.length - 1, true); + fields |= 4096; + l += 4; + } + switch (cell.t) { + case "n": + out[1] = 2; + dv.setFloat64(l, cell.v, true); + fields |= 32; + l += 8; + break; + case "b": + out[1] = 6; + dv.setFloat64(l, cell.v ? 1 : 0, true); + fields |= 32; + l += 8; + break; + case "s": + { + s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + } else { + var isst = lut.sst.indexOf(s); + if (isst == -1) + lut.sst[isst = lut.sst.length] = s; + out[1] = 3; + dv.setUint32(l, isst, true); + fields |= 16; + l += 4; + } + } + break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 64; + l += 8; + break; + case "z": + out[1] = 0; + break; + default: + throw "unsupported cell type " + cell.t; + } + dv.setUint32(8, fields, true); return out[subarray](0, l); } -function parse_cell_storage(buf, lut) { +function parse_cell_storage(buf, lut, opts) { switch (buf[0]) { case 0: case 1: case 2: case 3: case 4: - return parse_old_storage(buf, lut, buf[0]); + return parse_old_storage(buf, lut, buf[0], opts); case 5: - return parse_new_storage(buf, lut); + return parse_new_storage(buf, lut, opts); default: throw new Error("Unsupported payload version ".concat(buf[0])); } @@ -23977,6 +24823,7 @@ function parse_TST_TableDataList(M, root) { var entries = pb[3]; var data = []; (entries || []).forEach(function(entry) { + var _a, _b; var le = parse_shallow(entry.data); if (!le[1]) return; @@ -23994,14 +24841,49 @@ function parse_TST_TableDataList(M, root) { 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) { + var richtext = { v: tswpsa[3].map(function(x) { return u8str(x.data); - }).join(""); + }).join("") }; + data[key] = richtext; + sfields: + if ((_a = tswpsa == null ? void 0 : tswpsa[11]) == null ? void 0 : _a[0]) { + var smartfields = (_b = parse_shallow(tswpsa[11][0].data)) == null ? void 0 : _b[1]; + if (!smartfields) + break sfields; + smartfields.forEach(function(sf) { + var _a2, _b2, _c; + var attr = parse_shallow(sf.data); + if ((_a2 = attr[2]) == null ? void 0 : _a2[0]) { + var obj = M[parse_TSP_Reference((_b2 = attr[2]) == null ? void 0 : _b2[0].data)][0]; + var objtype = varint_to_i32(obj.meta[1][0].data); + switch (objtype) { + case 2032: + var hlink = parse_shallow(obj.data); + if (((_c = hlink == null ? void 0 : hlink[2]) == null ? void 0 : _c[0]) && !richtext.l) + richtext.l = u8str(hlink[2][0].data); + break; + case 2039: + break; + default: + console.log("unrecognized ObjectAttribute type ".concat(objtype)); + } + } + }); + } } break; case 2: data[key] = parse_shallow(le[6][0].data); break; + case 3: + data[key] = parse_shallow(le[5][0].data); + break; + case 10: + { + var cs = M[parse_TSP_Reference(le[10][0].data)][0]; + data[key] = parse_TSD_CommentStorageArchive(M, cs.data); + } + break; default: throw type; } @@ -24067,8 +24949,50 @@ function parse_TST_Tile(M, root) { }, []) }; } -function parse_TST_TableModelArchive(M, root, ws) { - var _a, _b, _c, _d, _e, _f; +function parse_TSD_CommentStorageArchive(M, data) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var out = { t: "", a: "" }; + var csp = parse_shallow(data); + if ((_b = (_a = csp == null ? void 0 : csp[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) + out.t = u8str((_d = (_c = csp == null ? void 0 : csp[1]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) || ""; + if ((_f = (_e = csp == null ? void 0 : csp[3]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data) { + var as = M[parse_TSP_Reference((_h = (_g = csp == null ? void 0 : csp[3]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data)][0]; + var asp = parse_shallow(as.data); + if ((_j = (_i = asp[1]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) + out.a = u8str(asp[1][0].data); + } + if (csp == null ? void 0 : csp[4]) { + out.replies = []; + csp[4].forEach(function(pi) { + var cs = M[parse_TSP_Reference(pi.data)][0]; + out.replies.push(parse_TSD_CommentStorageArchive(M, cs.data)); + }); + } + return out; +} +function iwa_to_s5s_comment(iwa) { + var out = []; + out.push({ t: iwa.t || "", a: iwa.a, T: iwa.replies && iwa.replies.length > 0 }); + if (iwa.replies) + iwa.replies.forEach(function(reply) { + out.push({ t: reply.t || "", a: reply.a, T: true }); + }); + return out; +} +function s5s_to_iwa_comment(s5s) { + var out = { a: "", t: "", replies: [] }; + for (var i = 0; i < s5s.length; ++i) { + if (i == 0) { + out.a = s5s[i].a; + out.t = s5s[i].t; + } else { + out.replies.push({ a: s5s[i].a, t: s5s[i].t }); + } + } + return out; +} +function parse_TST_TableModelArchive(M, root, ws, opts) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i; 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; @@ -24083,11 +25007,17 @@ function parse_TST_TableModelArchive(M, root, ws) { var lut = numbers_lut_new(); if ((_a = store[4]) == null ? void 0 : _a[0]) lut.sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); - if ((_b = store[11]) == null ? void 0 : _b[0]) + if ((_b = store[6]) == null ? void 0 : _b[0]) + lut.fmla = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[6][0].data)][0]); + if ((_c = store[11]) == null ? void 0 : _c[0]) lut.ofmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[11][0].data)][0]); - if ((_c = store[17]) == null ? void 0 : _c[0]) + if ((_d = store[12]) == null ? void 0 : _d[0]) + lut.ferr = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[12][0].data)][0]); + if ((_e = store[17]) == null ? void 0 : _e[0]) lut.rsst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]); - if ((_d = store[22]) == null ? void 0 : _d[0]) + if ((_f = store[19]) == null ? void 0 : _f[0]) + lut.cmnt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[19][0].data)][0]); + if ((_g = store[22]) == null ? void 0 : _g[0]) lut.nfmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[22][0].data)][0]); var tile = parse_shallow(store[3][0].data); var _R = 0; @@ -24100,7 +25030,7 @@ function parse_TST_TableModelArchive(M, root, ws) { var _tile = parse_TST_Tile(M, ref2); _tile.data.forEach(function(row, R) { row.forEach(function(buf, C) { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if (res) { if (dense) { if (!dws["!data"][_R + R]) @@ -24114,12 +25044,12 @@ function parse_TST_TableModelArchive(M, root, ws) { }); _R += _tile.nrows; }); - if ((_e = store[13]) == null ? void 0 : _e[0]) { + if ((_h = store[13]) == null ? void 0 : _h[0]) { var ref = M[parse_TSP_Reference(store[13][0].data)][0]; var mtype = varint_to_i32(ref.meta[1][0].data); if (mtype != 6144) throw new Error("Expected merge type 6144, found ".concat(mtype)); - ws["!merges"] = (_f = parse_shallow(ref.data)) == null ? void 0 : _f[1].map(function(pi) { + ws["!merges"] = (_i = parse_shallow(ref.data)) == null ? void 0 : _i[1].map(function(pi) { var merge = parse_shallow(pi.data); var origin = u8_to_dataview(parse_shallow(merge[1][0].data)[1][0].data), size = u8_to_dataview(parse_shallow(merge[2][0].data)[1][0].data); return { @@ -24141,7 +25071,7 @@ function parse_TST_TableInfoArchive(M, root, opts) { 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); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } function parse_TN_SheetArchive(M, root, opts) { @@ -24164,6 +25094,7 @@ function parse_TN_SheetArchive(M, root, opts) { function parse_TN_DocumentArchive(M, root, opts) { var _a; var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if ((_a = pb[2]) == null ? void 0 : _a[0]) throw new Error("Keynote presentations are not supported"); @@ -24234,8 +25165,8 @@ function parse_numbers_iwa(cfb, opts) { throw new Error("Cannot find Document root"); return parse_TN_DocumentArchive(M, docroot, opts); } -function write_TST_TileRowInfo(data, SST, wide) { - var _a, _b; +function write_TST_TileRowInfo(data, lut, wide) { + var _a, _b, _c; var tri = [ [], [{ type: 0, data: write_varint49(0) }], @@ -24268,7 +25199,7 @@ function write_TST_TileRowInfo(data, SST, wide) { var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = []; var width = wide ? 4 : 1; for (var C = 0; C < data.length; ++C) { - if (data[C] == null) { + if (data[C] == null || data[C].t == "z" && !((_c = data[C].c) == null ? void 0 : _c.length) || data[C].t == "e") { dv.setUint16(C * 2, 65535, true); _dv.setUint16(C * 2, 65535); continue; @@ -24276,25 +25207,24 @@ function write_TST_TileRowInfo(data, SST, wide) { dv.setUint16(C * 2, last_offset / width, true); _dv.setUint16(C * 2, _last_offset / width, true); var celload, _celload; - switch (typeof data[C]) { - case "string": - celload = write_new_storage({ t: "s", v: data[C] }, SST); - _celload = write_old_storage({ t: "s", v: data[C] }, SST); - break; - case "number": - celload = write_new_storage({ t: "n", v: data[C] }, SST); - _celload = write_old_storage({ t: "n", v: data[C] }, SST); - break; - case "boolean": - celload = write_new_storage({ t: "b", v: data[C] }, SST); - _celload = write_old_storage({ t: "b", v: data[C] }, SST); - break; - default: - if (data[C] instanceof Date) { - celload = write_new_storage({ t: "s", v: data[C].toISOString() }, SST); - _celload = write_old_storage({ t: "s", v: data[C].toISOString() }, SST); + switch (data[C].t) { + case "d": + if (data[C].v instanceof Date) { + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); break; } + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); + break; + case "s": + case "n": + case "b": + case "z": + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); + break; + default: throw new Error("Unsupported value " + data[C]); } cell_storage.push(celload); @@ -24372,6 +25302,34 @@ function build_numbers_deps(cfb) { }); return dependents; } +function write_TSP_Color_RGB(r, g, b) { + return write_shallow([ + [], + [{ type: 0, data: write_varint49(1) }], + [], + [{ type: 5, data: new Uint8Array(Float32Array.from([r / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([g / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([b / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([1]).buffer) }], + [], + [], + [], + [], + [], + [{ type: 0, data: write_varint49(1) }] + ]); +} +function get_author_color(n) { + switch (n) { + case 0: + return write_TSP_Color_RGB(99, 222, 171); + case 1: + return write_TSP_Color_RGB(162, 197, 240); + case 2: + return write_TSP_Color_RGB(255, 189, 189); + } + return write_TSP_Color_RGB(Math.random() * 255, Math.random() * 255, Math.random() * 255); +} function write_numbers_iwa(wb, opts) { if (!opts || !opts.numbers) throw new Error("Must pass a `numbers` option -- check the README"); @@ -24415,6 +25373,85 @@ function numbers_iwa_find(cfb, deps, id) { }); return ainfo; } +function numbers_add_meta(mlist, newid, newloc) { + mlist[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(newid) }], + [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], + [{ type: 2, data: stru8(newloc) }], + [{ type: 2, data: new Uint8Array([2, 0, 0]) }], + [{ type: 2, data: new Uint8Array([2, 0, 0]) }], + [], + [], + [], + [], + [{ type: 0, data: write_varint49(0) }], + [], + [{ type: 0, data: write_varint49(0) }] + ]) }); + mlist[1] = [{ type: 0, data: write_varint49(Math.max(newid + 1, varint_to_i32(mlist[1][0].data))) }]; +} +function numbers_add_msg(cfb, type, msg, path, deps, id) { + if (!id) + id = get_unique_msgid({ deps: [], location: "", type: type }, deps); + var loc = "".concat(path, "-").concat(id, ".iwa"); + deps[id].location = "Root Entry" + loc; + CFB.utils.cfb_add(cfb, loc, compress_iwa_file(write_iwa_file([{ + id: id, + messages: [write_iwam(type, write_shallow(msg))] + }]))); + var newloc = loc.replace(/^[\/]/, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_add_meta(mlist, id || 0, newloc); + ai.messages[0].data = write_shallow(mlist); + }); + return id; +} +function numbers_meta_add_dep(mlist, deps, id, dep) { + var loc = deps[id].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + var parentidx = mlist[3].findIndex(function(m) { + var _a, _b; + var mm = parse_shallow(m.data); + if ((_a = mm[3]) == null ? void 0 : _a[0]) + return u8str(mm[3][0].data) == loc; + if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) + return true; + return false; + }); + var parent = parse_shallow(mlist[3][parentidx].data); + if (!parent[6]) + parent[6] = []; + (Array.isArray(dep) ? dep : [dep]).forEach(function(dep2) { + parent[6].push({ + type: 2, + data: write_shallow([ + [], + [{ type: 0, data: write_varint49(dep2) }] + ]) + }); + }); + mlist[3][parentidx].data = write_shallow(parent); +} +function numbers_meta_del_dep(mlist, deps, id, dep) { + var loc = deps[id].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + var parentidx = mlist[3].findIndex(function(m) { + var _a, _b; + var mm = parse_shallow(m.data); + if ((_a = mm[3]) == null ? void 0 : _a[0]) + return u8str(mm[3][0].data) == loc; + if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) + return true; + return false; + }); + var parent = parse_shallow(mlist[3][parentidx].data); + if (!parent[6]) + parent[6] = []; + parent[6] = parent[6].filter(function(m) { + return varint_to_i32(parse_shallow(m.data)[1][0].data) != dep; + }); + mlist[3][parentidx].data = write_shallow(parent); +} function numbers_add_ws(cfb, deps, wsidx) { var sheetref = -1, newsheetref = -1; var remap = {}; @@ -24453,31 +25490,9 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[drawables[0]].location == deps[newsheetref].location) arch.push(tia); else { - var loc2 = deps[newsheetref].location; - loc2 = loc2.replace(/^Root Entry\//, ""); - loc2 = loc2.replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc2; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc2) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(tiaref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, newsheetref, tiaref); ai.messages[0].data = write_shallow(mlist); }); numbers_iwa_doit(cfb, deps, tiaref, function(_, x) { @@ -24511,13 +25526,10 @@ function numbers_add_ws(cfb, deps, wsidx) { }); tiaroot.messages[0].data = write_shallow(tia); }); - var loc = deps[tmaref].location; - loc = loc.replace(/^Root Entry\//, ""); - loc = loc.replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, tmaref, function(tmaroot, arch) { var _a, _b; var tma = parse_shallow(tmaroot.messages[0].data); - var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, "-".concat(wsidx.toString(16).padStart(4, "0"))); + var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, "-".concat(("0000" + wsidx.toString(16)).slice(-4))); tma[1][0].data = stru8(new_uuid); [12, 13, 29, 31, 32, 33, 39, 44, 47, 81, 82, 84].forEach(function(n) { return delete tma[n]; @@ -24595,47 +25607,11 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[newref].location == deps[oldref].location) deps[newref].location = deps[newref].location.replace(/\.iwa/, "-".concat(newref, ".iwa")); CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg]))); - var newloc = deps[newref].location; - newloc = newloc.replace(/^Root Entry\//, ""); - newloc = newloc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var newloc = deps[newref].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - mlist[3].push({ type: 2, data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }], - [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], - [{ type: 2, data: stru8(newloc) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [], - [], - [], - [], - [{ type: 0, data: write_varint49(0) }], - [], - [{ type: 0, data: write_varint49(0) }] - ]) }); - mlist[1] = [{ type: 0, data: write_varint49(Math.max(newref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a3, _b2; - var mm = parse_shallow(m.data); - if ((_a3 = mm[3]) == null ? void 0 : _a3[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_add_meta(mlist, newref, newloc); + numbers_meta_add_dep(mlist, deps, tmaref, newref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24658,47 +25634,11 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[newref].location == deps[oldref].location) deps[newref].location = deps[newref].location.replace(/\.iwa/, "-".concat(newref, ".iwa")); CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg]))); - var newloc = deps[newref].location; - newloc = newloc.replace(/^Root Entry\//, ""); - newloc = newloc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var newloc = deps[newref].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - mlist[3].push({ type: 2, data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }], - [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], - [{ type: 2, data: stru8(newloc) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [], - [], - [], - [], - [{ type: 0, data: write_varint49(0) }], - [], - [{ type: 0, data: write_varint49(0) }] - ]) }); - mlist[1] = [{ type: 0, data: write_varint49(Math.max(newref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a2, _b2; - var mm = parse_shallow(m.data); - if ((_a2 = mm[3]) == null ? void 0 : _a2[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_add_meta(mlist, newref, newloc); + numbers_meta_add_dep(mlist, deps, tmaref, newref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24739,26 +25679,7 @@ function numbers_add_ws(cfb, deps, wsidx) { [{ type: 0, data: write_varint49(0) }] ]) }); mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a2, _b2; - var mm = parse_shallow(m.data); - if ((_a2 = mm[3]) == null ? void 0 : _a2[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newtileref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, newtileref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24803,11 +25724,33 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { } if (trunc) console.error("Truncating to ".concat(encode_range(range))); - var data = sheet_to_json(ws, { range: range, header: 1 }); - var SST = ["~Sh33tJ5~"]; - var loc = deps[tmaref].location; - loc = loc.replace(/^Root Entry\//, ""); - loc = loc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var data = []; + if (ws["!data"]) + data = ws["!data"]; + else { + var colstr = []; + for (var _C = 0; _C <= range.e.c; ++_C) + colstr[_C] = encode_col(_C); + for (var R_ = 0; R_ <= range.e.r; ++R_) { + data[R_] = []; + var _R = "" + (R_ + 1); + for (_C = 0; _C <= range.e.c; ++_C) { + var _cell = ws[colstr[_C] + _R]; + if (!_cell) + continue; + data[R_][_C] = _cell; + } + } + } + var LUT = { + cmnt: [{ a: "~54ee77S~", t: "... the people who are crazy enough to think they can change the world, are the ones who do." }], + ferr: [], + fmla: [], + nfmt: [], + ofmt: [], + rsst: [{ v: "~54ee77S~", l: "https://sheetjs.com/" }], + sst: ["~Sh33tJ5~"] + }; var pb = parse_shallow(tmaroot.messages[0].data); { pb[6][0].data = write_varint49(range.e.r + 1); @@ -24861,22 +25804,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { mlist[3] = mlist[3].filter(function(m) { return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref; }); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6] = parent[6].filter(function(m) { - return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref; - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_del_dep(mlist, deps, tmaref, tileref); ai.messages[0].data = write_shallow(mlist); }); numbers_del_oref(tmaroot, tileref); @@ -24902,7 +25830,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { [{ type: 0, data: write_varint49(USE_WIDE_ROWS ? 1 : 0) }] ]; for (var R = tidx * tstride; R <= Math.min(range.e.r, (tidx + 1) * tstride - 1); ++R) { - var tilerow = write_TST_TileRowInfo(data[R], SST, USE_WIDE_ROWS); + var tilerow = write_TST_TileRowInfo(data[R], LUT, USE_WIDE_ROWS); tilerow[1][0].data = write_varint49(R - tidx * tstride); tiledata[5].push({ data: write_shallow(tilerow), type: 2 }); } @@ -24935,26 +25863,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { [{ type: 0, data: write_varint49(save_token) }] ]) }); mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileid + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newtileid) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, newtileid); ai.messages[0].data = write_shallow(mlist); }); numbers_add_oref(tmaroot, newtileid); @@ -24996,26 +25905,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { store[13] = [{ type: 2, data: write_TSP_Reference(mergeid) }]; numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(mergeid) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, mergeid); ai.messages[0].data = write_shallow(mlist); }); numbers_add_oref(tmaroot, mergeid); @@ -25026,7 +25916,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { var sstdata = parse_shallow(sstroot.messages[0].data); { sstdata[3] = []; - SST.forEach(function(str, i) { + LUT.sst.forEach(function(str, i) { if (i == 0) return; sstdata[3].push({ type: 2, data: write_shallow([ @@ -25039,6 +25929,197 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { } sstroot.messages[0].data = write_shallow(sstdata); }); + var rsstref = parse_TSP_Reference(store[17][0].data); + numbers_iwa_doit(cfb, deps, rsstref, function(rsstroot) { + var rsstdata = parse_shallow(rsstroot.messages[0].data); + rsstdata[3] = []; + var style_indices = [ + 904980, + 903835, + 903815, + 903845 + ]; + LUT.rsst.forEach(function(rsst, i) { + if (i == 0) + return; + var tswpsa = [ + [], + [{ type: 0, data: new Uint8Array([5]) }], + [], + [{ type: 2, data: stru8(rsst.v) }] + ]; + tswpsa[10] = [{ type: 0, data: new Uint8Array([1]) }]; + tswpsa[19] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 18, 2, 101, 110]) }]; + tswpsa[5] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 155, 149, 55]) }]; + tswpsa[2] = [{ type: 2, data: new Uint8Array([8, 148, 158, 55]) }]; + tswpsa[6] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + tswpsa[7] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 135, 149, 55]) }]; + tswpsa[8] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 165, 149, 55]) }]; + tswpsa[14] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + tswpsa[24] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + var tswpsaid = get_unique_msgid({ deps: [], location: "", type: 2001 }, deps); + var tswpsarefs = []; + if (rsst.l) { + var newhlinkid = numbers_add_msg(cfb, 2032, [ + [], + [], + [{ type: 2, data: stru8(rsst.l) }] + ], "/Index/Tables/DataList", deps); + tswpsa[11] = []; + var smartfield = [[], []]; + if (!smartfield[1]) + smartfield[1] = []; + smartfield[1].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(0) }], + [{ type: 2, data: write_TSP_Reference(newhlinkid) }] + ]) }); + tswpsa[11][0] = { type: 2, data: write_shallow(smartfield) }; + tswpsarefs.push(newhlinkid); + } + numbers_add_msg(cfb, 2001, tswpsa, "/Index/Tables/DataList", deps, tswpsaid); + numbers_iwa_doit(cfb, deps, tswpsaid, function(iwa) { + style_indices.forEach(function(ref) { + return numbers_add_oref(iwa, ref); + }); + tswpsarefs.forEach(function(ref) { + return numbers_add_oref(iwa, ref); + }); + }); + var rtpaid = numbers_add_msg(cfb, 6218, [ + [], + [{ type: 2, data: write_TSP_Reference(tswpsaid) }], + [], + [{ type: 2, data: new Uint8Array([13, 255, 255, 255, 0, 18, 10, 16, 255, 255, 1, 24, 255, 255, 255, 255, 7]) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, rtpaid, function(iwa) { + return numbers_add_oref(iwa, tswpsaid); + }); + rsstdata[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(1) }], + [], + [], + [], + [], + [], + [], + [{ type: 2, data: write_TSP_Reference(rtpaid) }] + ]) }); + numbers_add_oref(rsstroot, rtpaid); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, rsstref, rtpaid); + numbers_meta_add_dep(mlist, deps, rtpaid, tswpsaid); + numbers_meta_add_dep(mlist, deps, tswpsaid, tswpsarefs); + numbers_meta_add_dep(mlist, deps, tswpsaid, style_indices); + ai.messages[0].data = write_shallow(mlist); + }); + }); + rsstroot.messages[0].data = write_shallow(rsstdata); + }); + if (LUT.cmnt.length > 1) { + var cmntref = parse_TSP_Reference(store[19][0].data); + var authors = {}, iauthor = 0; + numbers_iwa_doit(cfb, deps, cmntref, function(cmntroot) { + var cmntdata = parse_shallow(cmntroot.messages[0].data); + { + cmntdata[3] = []; + LUT.cmnt.forEach(function(cc, i) { + if (i == 0) + return; + var replies = []; + if (cc.replies) + cc.replies.forEach(function(c) { + if (!authors[c.a || ""]) + authors[c.a || ""] = numbers_add_msg(cfb, 212, [ + [], + [{ type: 2, data: stru8(c.a || "") }], + [{ type: 2, data: get_author_color(++iauthor) }], + [], + [{ type: 0, data: write_varint49(0) }] + ], "/Index/Tables/DataList", deps); + var aaaid2 = authors[c.a || ""]; + var csaid2 = numbers_add_msg(cfb, 3056, [ + [], + [{ type: 2, data: stru8(c.t || "") }], + [{ type: 2, data: write_shallow([ + [], + [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }] + ]) }], + [{ type: 2, data: write_TSP_Reference(aaaid2) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, csaid2, function(iwa) { + return numbers_add_oref(iwa, aaaid2); + }); + replies.push(csaid2); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, csaid2, aaaid2); + ai.messages[0].data = write_shallow(mlist); + }); + }); + if (!authors[cc.a || ""]) + authors[cc.a || ""] = numbers_add_msg(cfb, 212, [ + [], + [{ type: 2, data: stru8(cc.a || "") }], + [{ type: 2, data: get_author_color(++iauthor) }], + [], + [{ type: 0, data: write_varint49(0) }] + ], "/Index/Tables/DataList", deps); + var aaaid = authors[cc.a || ""]; + var csaid = numbers_add_msg(cfb, 3056, [ + [], + [{ type: 2, data: stru8(cc.t || "") }], + [{ type: 2, data: write_shallow([ + [], + [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }] + ]) }], + [{ type: 2, data: write_TSP_Reference(aaaid) }], + replies.map(function(r) { + return { type: 2, data: write_TSP_Reference(r) }; + }), + [{ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(0) }] + ]) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, csaid, function(iwa) { + numbers_add_oref(iwa, aaaid); + replies.forEach(function(r) { + return numbers_add_oref(iwa, r); + }); + }); + cmntdata[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(1) }], + [], + [], + [], + [], + [], + [], + [], + [{ type: 2, data: write_TSP_Reference(csaid) }] + ]) }); + numbers_add_oref(cmntroot, csaid); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, cmntref, csaid); + numbers_meta_add_dep(mlist, deps, csaid, aaaid); + if (replies.length) + numbers_meta_add_dep(mlist, deps, csaid, replies); + ai.messages[0].data = write_shallow(mlist); + }); + }); + } + cmntdata[2][0].data = write_varint49(LUT.cmnt.length + 1); + cmntroot.messages[0].data = write_shallow(cmntdata); + }); + } } pb[4][0].data = write_shallow(store); } @@ -25105,6 +26186,13 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } +function parse_sheet_legacy_drawing(sheet, type, zip, path, idx, opts, wb, comments) { + if(!sheet || !sheet['!legdrawel']) return; + var dfile = resolve_path(sheet['!legdrawel'].Target, path); + var draw = getzipstr(zip, dfile, true); + if(draw) parse_vml(utf8read(draw), sheet, comments||[]); +} + 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); @@ -25143,6 +26231,7 @@ function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/ } }); if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); + parse_sheet_legacy_drawing(_ws, stype, zip, path, idx, opts, wb, comments); } catch(e) { if(opts.WTF) throw e; } } @@ -25445,6 +26534,9 @@ function write_zip_xlsb(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]]; @@ -25464,6 +26556,17 @@ function write_zip_xlsb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { var need_vml = false; var cf = ""; if(comments && comments.length > 0) { + 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 + ".xml"; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + ".xml", RELS.TCMNT); + } + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_bin(comments, opts)); ct.comments.push(cf); @@ -25519,6 +26622,13 @@ function write_zip_xlsb(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)); @@ -26032,7 +27142,7 @@ function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Ar } if(!dense || sheet["!data"][R]) for (var C = r.s.c; C <= r.e.c; ++C) { var val = dense ? (sheet["!data"][R]||[])[C] : sheet[cols[C] + rr]; - if(val === undefined || val.t === undefined) { + if(val == null || val.t === undefined) { if(defval === undefined) continue; if(hdr[C] != null) { row[hdr[C]] = defval; } continue; @@ -26041,7 +27151,12 @@ function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Ar switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -26251,6 +27366,7 @@ function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); } diff --git a/xlsx.js b/xlsx.js index ccbd3dd..ed7cbc6 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, DataView:false, Deno:false */ +/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false, Float32Array:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; var current_codepage = 1200, current_ansi = 1252; /*global cptable:true, window */ var $cptable; @@ -134,6 +134,26 @@ function Base64_encode_pass(input) { } return o; } +function Base64_encode_arr(input) { + var o = ""; + var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; + for (var i = 0; i < input.length; ) { + c1 = input[i++]; + e1 = c1 >> 2; + c2 = input[i++]; + e2 = (c1 & 3) << 4 | c2 >> 4; + c3 = input[i++]; + e3 = (c2 & 15) << 2 | c3 >> 6; + e4 = c3 & 63; + if (isNaN(c2)) { + e3 = e4 = 64; + } else if (isNaN(c3)) { + e4 = 64; + } + o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4); + } + return o; +} function Base64_decode(input) { var o = ""; var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; @@ -474,15 +494,6 @@ function SSF_parse_date_code(v,opts,b2) { out.q = dow; return out; } -var SSFbasedate = new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = SSFbasedate.getTime(); -var SSFbase1904 = new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v, date1904) { - var epoch = v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (v.getTimezoneOffset() - SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -540,7 +551,7 @@ function SSF_general(v, opts) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -1222,7 +1233,7 @@ function SSF_format(fmt,v,o) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; @@ -1305,6 +1316,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF) { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str, dateNF, match) { @@ -1317,6 +1329,7 @@ function dateNF_fix(str, dateNF, match) { case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; @@ -3202,7 +3215,7 @@ if(typeof saveAs !== 'undefined') return saveAs(blob, fname); var url = URL.createObjectURL(blob); if(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == "function") { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return chrome.downloads.download({ url: url, filename: fname, saveAs: true}); + return chrome.downloads.download({ url: url, filename: fname, saveAs: true }); } var a = document.createElement("a"); if(a.download != null) { @@ -3211,6 +3224,10 @@ document.body.removeChild(a); if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); return url; } + } else if(typeof URL !== 'undefined' && !URL.createObjectURL && typeof chrome === 'object') { + /* manifest v3 extensions -- no URL.createObjectURL */ + var b64 = "data:application/octet-stream;base64," + Base64_encode_arr(new Uint8Array(blobify(data))); + return chrome.downloads.download({ url: b64, filename: fname, saveAs: true }); } } // $FlowIgnore @@ -3269,22 +3286,19 @@ function evert_arr(obj) { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v, date1904) { var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = new Date(); -var dnthresh = basedate.getTime() + (refdate.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; -var refoffset = refdate.getTimezoneOffset(); function numdate(v) { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -3315,27 +3329,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = isNaN(good_pd_date_1.getFullYear()) ? new Date('2/19/17') : good_pd_date_1; -var good_pd = good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str, fixdate) { - var d = new Date(str); - if(good_pd) { -if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str, date1904) { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr, debomit) { @@ -3366,8 +3375,18 @@ function cc2str(arr, debomit) { return new TextDecoder("latin1").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; }); } catch(e) {} - var o = []; - for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + var o = [], i = 0; + // this cascade is for the browsers and runtimes of antiquity (and for modern runtimes that lack TextEncoder) + try { + for(i = 0; i < arr.length - 65536; i+=65536) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 65536))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { try { + for(; i < arr.length - 16384; i+=16384) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 16384))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { + for(; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + } + } return o.join(""); } @@ -3397,32 +3416,49 @@ function fuzzynum(s) { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s) { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -3435,6 +3471,13 @@ var split_regex = (function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} function getdatastr(data) { if(!data) return null; if(data.content && data.type) return cc2str(data.content, true); @@ -4358,6 +4401,7 @@ function sheet_add_aoa(_ws, data, opts) { else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } @@ -6481,11 +6525,22 @@ function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3 /* [MS-XLS] 2.5.19 */ -function parse_XLSCell(blob) { +function parse_XLSCell(blob, length, opts) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); - var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}); + var ret = ({r:rw, c:col, ixfe:0}); + if(opts && opts.biff == 2 || length == 7) { + /* TODO: pass back flags */ + var flags = blob.read_shift(1); + ret.ixfe = flags & 0x3F; + blob.l += 2; + /* + var ifntifmt = blob.read_shift(1); + var ifmt = ifntifmt & 0x3f, ifnt = ifntifmt >> 6; + var flags3 = blob.read_shift(1); + */ + } else ret.ixfe = blob.read_shift(2); + return ret; } function write_XLSCell(R, C, ixfe, o) { if(!o) o = new_buf(6); @@ -6710,6 +6765,12 @@ function parse_WsBool(blob, length, opts) { /* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { + var name = ""; + if(opts.biff == 4) { + name = parse_ShortXLUnicodeString(blob, 0, opts); + if(name.length === 0) name = "Sheet1"; + return { name:name }; + } var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); @@ -6719,7 +6780,7 @@ function parse_BoundSheet8(blob, length, opts) { case 2: dt = 'Chartsheet'; break; case 6: dt = 'VBAModule'; break; } - var name = parse_ShortXLUnicodeString(blob, 0, opts); + name = parse_ShortXLUnicodeString(blob, 0, opts); if(name.length === 0) name = "Sheet1"; return { pos:pos, hs:hidden, dt:dt, name:name }; } @@ -6890,8 +6951,8 @@ function write_Font(data, opts) { } /* [MS-XLS] 2.4.149 */ -function parse_LabelSst(blob) { - var cell = parse_XLSCell(blob); +function parse_LabelSst(blob, length, opts) { + var cell = parse_XLSCell(blob, length, opts); cell.isst = blob.read_shift(4); return cell; } @@ -6906,8 +6967,7 @@ function write_LabelSst(R, C, v, os ) { function parse_Label(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; var target = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) blob.l++; + var cell = parse_XLSCell(blob, length, opts); var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; @@ -6941,6 +7001,19 @@ function write_Format(i, f, opts, o) { return out; } var parse_BIFF2Format = parse_XLUnicodeString2; +function write_BIFF2Format(f) { + var o = new_buf(1 + f.length); + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} +function write_BIFF4Format(f) { + var o = new_buf(3 + f.length); + o.l += 2; + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} /* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { @@ -7064,6 +7137,44 @@ function write_XF(data, ixfeP, opts, o) { o.write_shift(2, 0); return o; } +function parse_BIFF2XF(blob) { + var o = {}; + o.ifnt = blob.read_shift(1); blob.l++; o.flags = blob.read_shift(1); + o.numFmtId = o.flags & 0x3F; o.flags>>=6; + o.fStyle = 0; + o.data = {}; // TODO + return o; +} +function write_BIFF2XF(xf) { + var o = new_buf(4); + o.l+=2; + o.write_shift(1, xf.numFmtId); + o.l++; + return o; +} +function write_BIFF3XF(xf) { + var o = new_buf(12); + o.l++; + o.write_shift(1, xf.numFmtId); + o.l += 10; + return o; +} +/* TODO: check other fields */ +var write_BIFF4XF = write_BIFF3XF; +function parse_BIFF3XF(blob) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} +function parse_BIFF4XF(blob) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} /* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { @@ -7084,8 +7195,7 @@ function write_Guts(guts) { /* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2 || length == 9) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -7101,7 +7211,7 @@ function write_BoolErr(R, C, v, os, opts, t) { /* [MS-XLS] 2.4.180 Number */ function parse_Number(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var xnum = parse_Xnum(blob, 8); cell.val = xnum; return cell; @@ -7234,21 +7344,34 @@ function parse_MTRSettings(blob) { return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; } -/* [MS-XLS] 2.5.186 TODO: BIFF5 */ +/* [MS-XLS] 2.5.186 */ function parse_NoteSh(blob, length, opts) { - if(opts.biff < 8) return; var row = blob.read_shift(2), col = blob.read_shift(2); var flags = blob.read_shift(2), idObj = blob.read_shift(2); var stAuthor = parse_XLUnicodeString2(blob, 0, opts); - if(opts.biff < 8) blob.read_shift(1); return [{r:row,c:col}, stAuthor, idObj, flags]; } /* [MS-XLS] 2.4.179 */ function parse_Note(blob, length, opts) { + if(opts && (opts.biff < 8)) { + var row = blob.read_shift(2), col = blob.read_shift(2); + if(row == 0xFFFF || row == -1) return; // TODO: test continuation + var cch = blob.read_shift(2); + var cmnt = blob.read_shift(Math.min(cch,2048), 'cpstr'); + return [{r:row, c:col}, cmnt]; + } /* TODO: Support revisions */ return parse_NoteSh(blob, length, opts); } +function write_NOTE_BIFF2(text, R, C, len/*?:number*/) { + var o = new_buf(6 + (len || text.length)); + o.write_shift(2, R); + o.write_shift(2, C); + o.write_shift(2, len || text.length); + o.write_shift(text.length, text, "sbcs"); + return o; +} /* [MS-XLS] 2.4.168 */ function parse_MergeCells(blob, length) { @@ -7498,43 +7621,50 @@ function parse_ImData(blob) { return o; } +function write_BIFF2Cell(out, r, c, ixfe, ifmt) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, ixfe||0/* & 0x3F */); + out.write_shift(1, ifmt||0/* & 0x3F */); + out.write_shift(1, 0); + return out; +} + /* BIFF2_??? where ??? is the name from [XLS] */ function parse_BIFF2STR(blob, length, opts) { if(opts.biffguess && opts.biff == 5) opts.biff = 2; - var cell = parse_XLSCell(blob, 6); - ++blob.l; + var cell = parse_XLSCell(blob, 7, opts); var str = parse_XLUnicodeString2(blob, length-7, opts); cell.t = 'str'; cell.val = str; return cell; } -function parse_BIFF2NUM(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2NUM(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = parse_Xnum(blob, 8); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2NUM(r, c, val) { +function write_BIFF2NUM(r, c, val, ixfe, ifmt) { var out = new_buf(15); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(8, val, 'f'); return out; } -function parse_BIFF2INT(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2INT(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = blob.read_shift(2); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2INT(r, c, val) { +function write_BIFF2INT(r, c, val, ixfe, ifmt) { var out = new_buf(9); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(2, val); return out; } @@ -7545,6 +7675,16 @@ function parse_BIFF2STRING(blob) { return blob.read_shift(cch, 'sbcs-cont'); } +function parse_BIFF2BOOLERR(blob, length, opts) { + var bestart = blob.l + 7; + var cell = parse_XLSCell(blob, 6, opts); + blob.l = bestart; + var val = parse_Bes(blob, 2); + cell.val = val; + cell.t = (val === true || val === false) ? 'b' : 'e'; + return cell; +} + /* TODO: convert to BIFF8 font struct */ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 6; // unknown @@ -7558,7 +7698,7 @@ function parse_BIFF2FONTXTRA(blob, length) { /* TODO: parse rich text runs */ function parse_RString(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var cch = blob.read_shift(2); var str = parse_XLUnicodeStringNoCch(blob, cch, opts); blob.l = end; @@ -7566,7 +7706,13 @@ function parse_RString(blob, length, opts) { cell.val = str; return cell; } -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; + +function parse_BIFF4SheetInfo(blob) { + var flags = blob.read_shift(4); + var cch = blob.read_shift(1), name = blob.read_shift(cch, "sbcs"); + if(name.length === 0) name = "Sheet1"; + return { flags: flags, name:name }; +}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 */ @@ -7746,7 +7892,10 @@ var fields = [], field = ({}); if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -7769,7 +7918,12 @@ var fields = [], field = ({}); // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -7972,6 +8126,8 @@ var SYLK = (function() { var sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == "number" ? _getansi(o) : o; }; var decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); }; sylk_escapes["|"] = 254; + /* TODO: evert the escape map */ + var encode_sylk_str = function($$) { return $$.replace(/\n/g, "\x1b :").replace(/\r/g, "\x1b ="); }; /* https://oss.sheetjs.com/notes/sylk/ for more details */ function sylk_to_aoa(d, opts) { switch(opts.type) { @@ -8024,8 +8180,9 @@ var SYLK = (function() { // case 'NU': // ?? case 'C': /* cell */ var C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1, formula = "", cell_t = "z"; + var cmnt = ""; for(rj=1; rj 1 && (val[2] & 0x0F) < 15) { - val[1].z = o.dateNF || table_fmt[14]; - if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); } + if((val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { + val[1].z = o.dateNF || LOTUS_DATE_FMTS[(val[2] & 0x0F)-1] || table_fmt[14]; + if(o.cellDates) { val[1].v = numdate(val[1].v); val[1].t = typeof val[1].v == "number" ? 'n' : 'd'; } } if(o.qpro) { @@ -8726,15 +8937,25 @@ var WK_ = (function() { tmpcell.t = val[1].t; tmpcell.v = val[1].v; if(val[1].z != null) tmpcell.z = val[1].z; if(val[1].f != null) tmpcell.f = val[1].f; + lastcell = tmpcell; break; } if(o.dense) { if(!sdata[val[0].r]) sdata[val[0].r] = []; sdata[val[0].r][val[0].c] = val[1]; } else s[encode_cell(val[0])] = val[1]; + lastcell = val[1]; break; case 0x5405: o.works2 = true; break; - default: + case 0x5402: { + /* TODO: enumerate all extended number formats */ + if(val == 0x14a1) { + lastcell.z = "hh:mm:ss"; + if(o.cellDates && lastcell.t == "n") { + lastcell.v = numdate(lastcell.v); lastcell.t = typeof lastcell.v == "number" ? 'n' : 'd'; + } + } + } break; }}, o); } else if(d[2] == 0x1A || d[2] == 0x0E) { o.Enum = WK3Enum; @@ -8811,10 +9032,17 @@ var WK_ = (function() { var cell = dense ? (ws["!data"][R]||[])[C] : ws[cols[C] + rr]; if(!cell || cell.t == "z") continue; /* TODO: formula records */ - if(cell.t == "n") { - if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v)); - else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v)); - } else { + switch(cell.t) { + case "n": + if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell)); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell)); + break; + case "d": + var dc = datenum(cell.v); + if((dc|0)==dc && dc >= -32768 && dc <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + break; + default: var str = format_cell(cell); write_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239))); } @@ -8948,11 +9176,18 @@ var WK_ = (function() { return o; } + function get_wk1_fmt(cell) { + /* TODO: some fuzzy matching on the number format */ + if(cell.z && fmt_is_date(cell.z)) { + return 0xf0 | (LOTUS_DATE_FMTS.indexOf(cell.z) + 1 || 2); + } + return 0xFF; + } function parse_LABEL(blob, length, opts) { var tgt = blob.l + length; var o = parse_cell(blob, length, opts); o[1].t = 's'; - if(opts.vers == 0x5120) { + if((opts.vers & 0xFFFE) == 0x5120) { // WQ1 / WQ2 blob.l++; var len = blob.read_shift(1); o[1].v = blob.read_shift(len, 'utf8'); @@ -8994,12 +9229,12 @@ var WK_ = (function() { o[1].v = blob.read_shift(2, 'i'); return o; } - function write_INTEGER(R, C, v) { + function write_INTEGER(R, C, cell) { var o = new_buf(7); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(2, v, 'i'); + o.write_shift(2, cell.v, 'i'); return o; } @@ -9008,12 +9243,12 @@ var WK_ = (function() { o[1].v = blob.read_shift(8, 'f'); return o; } - function write_NUMBER(R, C, v) { + function write_NUMBER(R, C, cell) { var o = new_buf(13); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(8, v, 'f'); + o.write_shift(8, cell.v, 'f'); return o; } @@ -9066,7 +9301,7 @@ var WK_ = (function() { 0x33: ["FALSE", 0], 0x34: ["TRUE", 0], 0x35: ["RAND", 0], - // 0x36 DATE + 0x36: ["DATE", 3], // 0x37 NOW // 0x38 PMT // 0x39 PV @@ -9076,7 +9311,7 @@ var WK_ = (function() { // 0x3D MONTH // 0x3E YEAR 0x3F: ["ROUND", 2], - // 0x40 TIME + 0x40: ["TIME", 3], // 0x41 HOUR // 0x42 MINUTE // 0x43 SECOND @@ -9418,13 +9653,24 @@ var WK_ = (function() { 0x0048: { n:"ACOMM" }, 0x0049: { n:"AMACRO" }, 0x004A: { n:"PARSE" }, + // 0x0064 0x0066: { n:"PRANGES??" }, 0x0067: { n:"RRANGES??" }, 0x0068: { n:"FNAME??" }, 0x0069: { n:"MRANGES??" }, + // 0x0096 + // 0x0099 + // 0x009A + // 0x009B + // 0x009C + // 0x00C0 + // 0x00C7 + // 0x00C9 0x00CC: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, + // 0x00CD 0x00DE: { n:"SHEETNAMELP", f:parse_SHEETNAMELP }, 0x00FF: { n:"BOF", f:parseuint16 }, +0x5402: { n:"WKSNF", f:parseuint16 }, 0xFFFF: { n:"" } }; @@ -9554,6 +9800,24 @@ var WK_ = (function() { 0xFFFF: { n:"" } }; + /* TODO: fill out and verify this table across QP versions */ + var QPWNFTable = { +0x05: "dd-mmm-yy", +0x06: "dd-mmm", +0x07: "mmm-yy", +0x08: "mm/dd/yy", // Long Date Intl +0x0A: "hh:mm:ss AM/PM", +0x0B: "hh:mm AM/PM", +0x0E: "dd-mmm-yyyy", +0x0F: "mmm-yyyy", + +0x22: "0.00", +0x32: "0.00;[Red]0.00", +0x42: "0.00;\(0.00\)", +0x52: "0.00;[Red]\(0.00\)", + +162: '"$"#,##0;\\("$"#,##0\\)' // slightly different from SSF 5 + }; /* QPW uses a different set of record types */ function qpw_to_workbook_buf(d, opts) { prep_blob(d, 0); @@ -9564,6 +9828,7 @@ var WK_ = (function() { var range = {s:{r:-1,c:-1}, e:{r:-1,c:-1}}; var cnt = 0, type = 0, C = 0, R = 0; var wb = { SheetNames: [], Sheets: {} }; + var FMTS = []; outer: while(d.l < d.length) { var RT = d.read_shift(2), length = d.read_shift(2); var p = d.slice(d.l, d.l + length); @@ -9574,6 +9839,22 @@ var WK_ = (function() { break; case 0x02: /* EOF */ break outer; + case 0x08: /* NF */ break; // TODO: this is tied to custom number formats + + case 0x0A: /* FORMATS */ { + var fcnt = p.read_shift(4); + var step = ((p.length - p.l)/ fcnt)|0; + for(var ifmt = 0; ifmt < fcnt; ++ifmt) { + var end = p.l + step; + var fmt = {}; + p.l += 2; + fmt.numFmtId = p.read_shift(2); + if(QPWNFTable[fmt.numFmtId]) fmt.z = QPWNFTable[fmt.numFmtId]; + p.l = end; + FMTS.push(fmt); + } + } break; + /* TODO: The behavior here should be consistent with Numbers: QP Notebook ~ .TN.SheetArchive, QP Sheet ~ .TST.TableModelArchive */ case 0x0401: /* BON */ break; case 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break; @@ -9636,18 +9917,21 @@ var WK_ = (function() { var CC = encode_col(C); while(p.l < p.length) { var cell = { t: "z" }; - var flags = p.read_shift(1); - if(flags & 0x80) p.l += 2; + var flags = p.read_shift(1), fmtidx = -1; + if(flags & 0x80) fmtidx = p.read_shift(2); var mul = (flags & 0x40) ? p.read_shift(2) - 1: 0; switch(flags & 0x1F) { + case 0: break; case 1: break; case 2: cell = { t: "n", v: p.read_shift(2) }; break; case 3: cell = { t: "n", v: p.read_shift(2, 'i') }; break; + case 4: cell = { t: "n", v: parse_RkNumber(p) }; break; case 5: cell = { t: "n", v: p.read_shift(8, 'f') }; break; case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; case 8: cell = { t: "n", v: p.read_shift(8, 'f') }; p.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4; break; default: throw "Unrecognized QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1 && (FMTS[fmtidx - 1]||{}).z) cell.z = FMTS[fmtidx-1].z; var delta = 0; if(flags & 0x20) switch(flags & 0x1F) { case 2: delta = p.read_shift(2); break; @@ -9656,10 +9940,14 @@ var WK_ = (function() { default: throw "Unsupported delta for QPW cell type " + (flags & 0x1F); } if(!(!o.sheetStubs && cell.t == "z")) { + var newcell = dup(cell); + if(cell.t == "n" && cell.z && fmt_is_date(cell.z) && o.cellDates) { + newcell.v = numdate(cell.v); newcell.t = typeof newcell.v == "number" ? 'n' : 'd'; + } if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; - s["!data"][R][C] = cell; - } else s[CC + encode_row(R)] = cell; + s["!data"][R][C] = newcell; + } else s[CC + encode_row(R)] = newcell; } ++R; --cnt; while(mul-- > 0 && cnt >= 0) { @@ -9674,6 +9962,7 @@ var WK_ = (function() { case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; default: throw "Cannot apply repeat for QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1); if(!(!o.sheetStubs && cell.t == "z")) { if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; @@ -12033,7 +12322,45 @@ function parse_drawing(data, rels) { } /* L.5.5.2 SpreadsheetML Comments + VML Schema */ -function write_vml(rId, comments) { +var shapevmlregex = /<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g; +function parse_vml(data, sheet, comments) { + var cidx = 0; + (data.match(shapevmlregex)||[]).forEach(function(m) { + var type = ""; + var hidden = true; + var aidx = -1; + var R = -1, C = -1; + m.replace(tagregex, function(x, idx) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': hidden = false; break; + + case '': aidx = idx + x.length; break; + case '': R = +m.slice(aidx, idx).trim(); break; + + case '': aidx = idx + x.length; break; + case '': C = +m.slice(aidx, idx).trim(); break; + } + return ""; + }); + switch(type) { + case 'Note': + var cell = ws_get_cell_stub(sheet, ((R>=0 && C>=0) ? encode_cell({r:R,c:C}) : comments[cidx].ref)); + if(cell.c) { + cell.c.hidden = hidden; + } + ++cidx; + break; + } + + }); +} + + +/* comment boxes */ +function write_vml(rId, comments, ws) { var csize = [21600, 21600]; /* L.5.2.1.2 Path Attribute */ var bbox = ["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(","); @@ -12055,7 +12382,7 @@ function write_vml(rId, comments) { return o.join(""); } -function write_vml_comment(x, _shapeid) { +function write_vml_comment(x, _shapeid, ws) { var c = decode_cell(x[0]); var fillopts = {'color2':"#BEFF82", 'type':"gradient"}; if(fillopts.type == "gradient") fillopts.angle = "-180"; @@ -12193,6 +12520,7 @@ function write_comments_xml(data) { o.push(''); }); } else { + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); /* based on Threaded Comments -> Comments projection */ o.push(''); var t = "Comment:\n " + (ts[0]) + "\n"; @@ -12388,6 +12716,10 @@ function write_comments_bin(data) { if(iauthor.indexOf(c.a) > -1) return; iauthor.push(c.a.slice(0,54)); write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a)); + if(c.T && c.ID && iauthor.indexOf("tc=" + c.ID) == -1) { + iauthor.push("tc=" + c.ID); + write_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor("tc=" + c.ID)); + } }); }); write_record(ba, 0x0277 /* BrtEndCommentAuthors */); @@ -12395,7 +12727,11 @@ function write_comments_bin(data) { write_record(ba, 0x0279 /* BrtBeginCommentList */); data.forEach(function(comment) { comment[1].forEach(function(c) { - c.iauthor = iauthor.indexOf(c.a); + var _ia = -1; + if(c.ID) _ia = iauthor.indexOf("tc=" + c.ID); + if(_ia == -1 && comment[1][0].T && comment[1][0].ID) _ia = iauthor.indexOf("tc=" + comment[1][0].ID); + if(_ia == -1) _ia = iauthor.indexOf(c.a); + c.iauthor = _ia; var range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])}; write_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c])); if(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c)); @@ -13610,8 +13946,7 @@ function write_FormulaValue(value) { /* [MS-XLS] 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); if(opts.biff != 2) { @@ -13805,7 +14140,7 @@ function write_XLSBFormulaRangeWS(_str, wb) { var sname = _str.slice(0, lastbang); _str = _str.slice(lastbang+1); if(sname.charAt(0) == "'") sname = sname.slice(1, -1).replace(/''/g, "'"); - var parts = _str.split(":"); str = parts[0]; + var parts = _str.split(":"); var out = new_buf(27); out.write_shift(4, 19); @@ -15038,7 +15373,7 @@ function ods_to_csf_3D(r) { } function csf_to_ods_3D(r) { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } var strs = {}; // shared strings @@ -15124,7 +15459,7 @@ function get_cell_style(styles, cell, opts) { return len; } -function safe_format(p, fmtid, fillid, opts, themes, styles) { +function safe_format(p, fmtid, fillid, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -15139,14 +15474,14 @@ function safe_format(p, fmtid, fillid, opts, themes, styles) { else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; @@ -15226,7 +15561,7 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -15246,6 +15581,10 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { var margins = data2.match(marginregex); if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); + /* legacyDrawing */ + var m; + if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; + if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -15262,6 +15601,7 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { } if(columns.length > 0) s["!cols"] = columns; if(merges.length > 0) s["!merges"] = merges; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } @@ -15428,21 +15768,27 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb) { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell, ref, ws, opts) { +function write_ws_xml_cell(cell, ref, ws, opts, idx, wb, date1904) { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { case 'b': vv = cell.v ? "1" : "0"; break; - case 'n': vv = ''+cell.v; break; + case 'n': + if(isNaN(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x24]; } // #NUM! + else if(!isFinite(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x07]; } // #DIV/0! + else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -15485,7 +15831,7 @@ var parse_ws_xml_data = (function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { +return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles, wb) { var ri = 0, x = "", cells = [], cref = [], idx=0, i=0, cc=0, d="", p; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -15496,6 +15842,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { var dense = s["!data"] != null; var rows = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -15563,19 +15910,27 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); if(opts.cellFormula) { - if((cref=d.match(match_f))!= null && cref[1] !== '') { - /* TODO: match against XLSXFutureFunctions */ - p.f=unescapexml(utf8read(cref[1]), true); - if(!opts.xlfn) p.f = _xlfn(p.f); - if(cref[0].indexOf('t="array"') > -1) { - p.F = (d.match(refregex)||[])[1]; - if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); - } else if(cref[0].indexOf('t="shared"') > -1) { - // TODO: parse formula - ftag = parsexmltag(cref[0]); - var ___f = unescapexml(utf8read(cref[1])); - if(!opts.xlfn) ___f = _xlfn(___f); - sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + if((cref=d.match(match_f))!= null ) { + if(cref[1] == "") { + if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r); + } + } else { + /* TODO: match against XLSXFutureFunctions */ + p.f=unescapexml(utf8read(cref[1]), true); + if(!opts.xlfn) p.f = _xlfn(p.f); + if(cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + var ___f = unescapexml(utf8read(cref[1])); + if(!opts.xlfn) ___f = _xlfn(___f); + sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + } } } else if((cref=d.match(/]*\/>/))) { ftag = parsexmltag(cref[0]); @@ -15632,8 +15987,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -15652,8 +16007,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -15678,6 +16033,7 @@ function write_ws_xml_data(ws, opts, idx, wb) { var o = [], r = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}), row, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -15686,7 +16042,7 @@ function write_ws_xml_data(ws, opts, idx, wb) { ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}); @@ -16380,6 +16736,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { XLSBRecordEnum[0x0010] = { n:"BrtShortReal", f:parse_BrtShortReal }; var cm, vm; + var date1904 = 1462 * +!!((wb||{}).WBProps||{}).date1904; recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; @@ -16423,7 +16780,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { case 'str': p.t = 's'; p.v = val[1]; break; case 'is': p.t = 's'; p.v = val[1].t; break; } - if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles); + if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles, date1904>0); C = val[0].c == -1 ? C + 1 : val[0].c; if(opts.dense) { if(!s["!data"][R]) s["!data"][R] = []; s["!data"][R][C] = p; } else s[encode_col(C) + rr] = p; @@ -16444,7 +16801,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(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) { - 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); } + var _d = SSF_parse_date_code(p.v + date1904); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } if(cm) { if(cm.type == 'XLDAPR') p.D = true; @@ -16524,6 +16881,10 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { } break; + case 0x0227: /* 'BrtLegacyDrawing' */ + if(val) s["!legrel"] = val; + break; + case 0x00A1: /* 'BrtBeginAFilter' */ s['!autofilter'] = { ref:encode_range(val) }; break; @@ -16580,7 +16941,6 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { case 0x0499: /* 'BrtFilter14' */ case 0x00A9: /* 'BrtIconFilter' */ case 0x049D: /* 'BrtIconFilter14' */ - case 0x0227: /* 'BrtLegacyDrawing' */ case 0x0228: /* 'BrtLegacyDrawingHF' */ case 0x0295: /* 'BrtListPart' */ case 0x027F: /* 'BrtOleObject' */ @@ -16639,11 +16999,12 @@ function parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) { if(merges.length > 0) s["!merges"] = merges; if(colinfo.length > 0) s["!cols"] = colinfo; if(rowinfo.length > 0) s["!rows"] = rowinfo; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { +function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904) { var o = ({r:R, c:C}); if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]); if(cell.v === undefined) return false; @@ -16653,7 +17014,7 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { case 'd': // no BrtCellDate :( cell = dup(cell); cell.z = cell.z || table_fmt[14]; - cell.v = datenum(parseDate(cell.v)); cell.t = 'n'; + cell.v = datenum(parseDate(cell.v, date1904), date1904); cell.t = 'n'; break; /* falls through */ case 'n': case 'e': vv = ''+cell.v; break; @@ -16680,6 +17041,12 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) { if(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o)); else write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o)); + } else if(isNaN(cell.v)) { + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:"e", v: 0x24}, o)); // #NUM! + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:"e", v: 0x24}, o)); // #NUM! + } else if(!isFinite(cell.v)) { + if(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:"e", v: 0x07}, o)); // #DIV/0! + else write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:"e", v: 0x07}, o)); // #DIV/0! } else { if(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o)); else write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o)); @@ -16700,8 +17067,9 @@ function write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen) { return true; } -function write_CELLTABLE(ba, ws, idx, opts) { +function write_CELLTABLE(ba, ws, idx, opts, wb) { var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; write_record(ba, 0x0091 /* BrtBeginSheetData */); var dense = ws["!data"] != null; var cap = range.e.r; @@ -16719,7 +17087,7 @@ function write_CELLTABLE(ba, ws, idx, opts) { var cell = dense ? (ws["!data"][R]||[])[C] : ws[ref]; if(!cell) { last_seen = false; continue; } /* write cell */ - last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); + last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904); } } write_record(ba, 0x0092 /* BrtEndSheetData */); @@ -17874,10 +18242,10 @@ if((j=y[1].indexOf(":")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1); /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap; -function xlml_format(format, value) { +function xlml_format(format, value, date1904) { var fmt = XLMLFormatMap[format] || unescapexml(format); if(fmt === "General") return SSF_general(value); - return SSF_format(fmt, value); + return SSF_format(fmt, value, {date1904: !!date1904}); } function xlml_set_custprop(Custprops, key, cp, val) { @@ -17893,7 +18261,7 @@ function xlml_set_custprop(Custprops, key, cp, val) { Custprops[unescapexml(key)] = oval; } -function safe_format_xlml(cell, nf, o) { +function safe_format_xlml(cell, nf, o, date1904) { if(cell.t === 'z') return; if(!o || o.cellText !== false) try { if(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; } @@ -17904,13 +18272,13 @@ function safe_format_xlml(cell, nf, o) { } else cell.w = SSF_general(cell.v); } - else cell.w = xlml_format(nf||"General", cell.v); + else cell.w = xlml_format(nf||"General", cell.v, date1904); } catch(e) { if(o.WTF) throw e; } try { var z = XLMLFormatMap[nf]||nf||"General"; if(o.cellNF) cell.z = z; if(o.cellDates && cell.t == 'n' && fmt_is_date(z)) { - var _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } + var _d = SSF_parse_date_code(cell.v + (date1904 ? 1462 : 0)); if(_d) { cell.t = 'd'; cell.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } catch(e) { if(o.WTF) throw e; } } @@ -17926,7 +18294,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) { +function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o, date1904) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; var i = 0; @@ -17949,9 +18317,8 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o break; case 'DateTime': if(xml.slice(-1) != "Z") xml += "Z"; - cell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); + cell.v = datenum(parseDate(xml, date1904), date1904); if(cell.v !== cell.v) cell.v = unescapexml(xml); - else if(cell.v<60) cell.v = cell.v -1; if(!nf || nf == "General") nf = "yyyy-mm-dd"; /* falls through */ case 'Number': @@ -17964,7 +18331,7 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o else { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); } break; } - safe_format_xlml(cell, nf, o); + safe_format_xlml(cell, nf, o, date1904); if(o.cellFormula !== false) { if(cell.Formula) { var fstr = unescapexml(cell.Formula); @@ -18066,7 +18433,7 @@ function parse_xlml_xml(d, _opts) { break; } if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts, Workbook.WBProps.date1904); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'cell' /*case 'Cell'*/: @@ -18276,6 +18643,7 @@ Workbook.Names.push(_DefinedName); } else { state.push([Rn[3], false]); tmp = xlml_parsexmltag(Rn[0]); + if(!parsexmlbool(tmp["ShowAlways"]||"0")) comments.hidden = true; comment = ({a:tmp.Author}); } break; @@ -18366,6 +18734,9 @@ Workbook.Names.push(_DefinedName); case 'date1904' /*case 'Date1904'*/: Workbook.WBProps.date1904 = true; break; + case 'hidehorizontalscrollbar' /*case 'HideHorizontalScrollBar'*/: break; + case 'hideverticalscrollbar' /*case 'HideVerticalScrollBar'*/: break; + case 'hideworkbooktabs' /*case 'HideWorkbookTabs'*/: break; case 'windowheight' /*case 'WindowHeight'*/: break; case 'windowwidth' /*case 'WindowWidth'*/: break; case 'windowtopx' /*case 'WindowTopX'*/: break; @@ -18931,11 +19302,15 @@ function write_ws_xlml_wsopts(ws, opts, idx, wb) { return writextag("WorksheetOptions", o.join(""), {xmlns:XLMLNS.x}); } function write_ws_xlml_comment(comments) { + /* TODO: test multiple comments */ return comments.map(function(c) { // TODO: formatted text var t = xlml_unfixstr(c.t||""); var d =writextag("ss:Data", t, {"xmlns":"http://www.w3.org/TR/REC-html40"}); - return writextag("Comment", d, {"ss:Author":c.a}); + var p = {}; + if(c.a) p["ss:Author"] = c.a; + if(!comments.hidden) p["ss:ShowAlways"] = "1"; + return writextag("Comment", d, p); }).join(""); } function write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){ @@ -19154,7 +19529,7 @@ function safe_format_xf(p, opts, date1904) { var fmtid = 0; try { fmtid = p.z || p.XF.numFmtId || 0; - if(opts.cellNF) p.z = table_fmt[fmtid]; + if(opts.cellNF && p.z == null) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { if(p.t === 'e') { p.w = p.w || BErr[p.v]; } @@ -19168,7 +19543,7 @@ function safe_format_xf(p, opts, date1904) { else p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF}); } catch(e) { if(opts.WTF) throw e; } if(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) { - 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); } + var _d = SSF_parse_date_code(p.v + (date1904 ? 1462 : 0)); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } @@ -19196,6 +19571,7 @@ function parse_workbook(blob, options) { var XFs = []; /* XF records */ var palette = []; var Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {}; + var biff4w = false; var get_rgb = function getrgb(icv) { if(icv < 8) return XLSIcv[icv]; if(icv < 64) return palette[icv-8] || XLSIcv[icv]; @@ -19211,7 +19587,7 @@ function parse_workbook(blob, options) { if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } }; var addcell = function addcell(cell, line, options) { - if(file_depth > 1) return; + if(!biff4w && file_depth > 1) return; if(options.sheetRows && cell.r >= options.sheetRows) return; if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options); delete line.ixfe; delete line.XF; @@ -19340,6 +19716,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; break; // TODO + case 0x0043: /* BIFF2XF */ case 0x0243: /* BIFF3XF */ case 0x0443: /* BIFF4XF */ case 0x00e0 /* XF */: XFs.push(val); break; case 0x01ae /* SupBook */: @@ -19374,11 +19751,11 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; 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 0x0085 /* BoundSheet8 */: { - Directory[val.pos] = val; + Directory[opts.biff == 4 ? opts.snames.length : val.pos] = val; opts.snames.push(val.name); } break; case 0x000a /* EOF */: { - if(--file_depth) break; + if(--file_depth ? !biff4w : biff4w) break; if(range.e) { if(range.e.r > 0 && range.e.c > 0) { range.e.r--; range.e.c--; @@ -19417,13 +19794,15 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; }[val.BIFFVer] || 8; opts.biffguess = val.BIFFVer == 0; if(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); } + if(opts.biff == 4 && val.dt & 0x100) biff4w = true; if(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2; - if(file_depth++) break; + if(file_depth++ && !biff4w) break; out = ({}); if(options.dense) out["!data"] = []; if(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); } - - if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { + if(opts.biff == 4 && biff4w) { + cur_sheet = (Directory[opts.snames.indexOf(cur_sheet)+1] || {name:""}).name; + } else if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; /* fake BoundSheet8 */ @@ -19444,19 +19823,19 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out["!data"][val.r]||[])[val.c]: out[encode_col(val.c) + encode_row(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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19464,7 +19843,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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'}); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } @@ -19482,7 +19861,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; else temp_val.F = ((options.dense ? (out["!data"][_fr]||[])[_fc]: out[_fe]) || {}).F; } else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -19495,7 +19874,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; if(options.cellFormula) { temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -19526,13 +19905,13 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19540,7 +19919,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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'}); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:_j, r:val.r}, temp_val, options); } @@ -19549,7 +19928,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19561,7 +19940,7 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; sst = val; } break; case 0x041e /* Format */: { /* val = [id, fmt] */ - if(opts.biff == 4) { + if(opts.biff >= 3 && opts.biff <= 4) { BIFF2FmtTable[BIFF2Fmt++] = val[1]; for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break; if(b4idx >= 163) SSF__load(val[1], BIFF2Fmt + 163); @@ -19595,9 +19974,8 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; } } break; case 0x001c /* Note */: { - if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */ + /* TODO: comment continuation (row == -1 / 0xFFFF) */ cc = options.dense ? (out["!data"][val[0].r]||[])[val[0].c] : out[encode_cell(val[0])]; - var noteobj = objects[val[2]]; if(!cc) { if(options.dense) { if(!out["!data"][val[0].r]) out["!data"][val[0].r] = []; @@ -19611,7 +19989,12 @@ wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break; range.s.c = Math.min(range.s.c, val[0].c); } if(!cc.c) cc.c = []; - cmnt = {a:val[1],t:noteobj.TxO.t}; + if(opts.biff <= 5 && opts.biff >= 2) cmnt = {a:"SheetJ5", t:val[1]}; + else { + var noteobj = objects[val[2]]; + cmnt = {a:val[1],t:noteobj.TxO.t}; + if(val[3] != null && !(val[3] & 0x02)) cc.c.hidden = true; + } cc.c.push(cmnt); } break; case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break; @@ -20283,7 +20666,7 @@ var XLSBRecordEnum = { 0x0224: { /* n:"BrtFileSharing" */ }, 0x0225: { /* n:"BrtOleSize" */ }, 0x0226: { /* n:"BrtDrawing", */ f:parse_RelID }, -0x0227: { /* n:"BrtLegacyDrawing" */ }, +0x0227: { /* n:"BrtLegacyDrawing", */ f:parse_XLNullableWideString }, 0x0228: { /* n:"BrtLegacyDrawingHF" */ }, 0x0229: { /* n:"BrtWebOpt" */ }, 0x022A: { /* n:"BrtBeginWebPubItems", */ T:1 }, @@ -21022,7 +21405,7 @@ var XLSRecordEnum = { 0x0002: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, 0x0003: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, 0x0004: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, -0x0005: { /* n:"BoolErr", */ f:parse_BoolErr }, +0x0005: { /* n:"BIFF2BOOLERR", */ f:parse_BIFF2BOOLERR }, 0x0007: { /* n:"String", */ f:parse_BIFF2STRING }, 0x0008: { /* n:"BIFF2ROW", */ }, 0x0009: { /* n:"BOF", */ f:parse_BOF }, @@ -21034,34 +21417,34 @@ var XLSRecordEnum = { 0x0021: { /* n:"Array", */ f:parse_Array }, 0x0024: { /* n:"COLWIDTH", */ }, 0x0025: { /* n:"DefaultRowHeight", */ f:parse_DefaultRowHeight }, - // 0x2c ?? - // 0x2d ?? - // 0x2e ?? - // 0x30 FONTCOUNT: number of fonts + // 0x002c ?? + // 0x002d ?? + // 0x002e ?? + // 0x0030 FONTCOUNT: number of fonts 0x0032: { /* n:"BIFF2FONTXTRA", */ f:parse_BIFF2FONTXTRA }, - // 0x35: INFOOPTS - // 0x36: TABLE (BIFF2 only) - // 0x37: TABLE2 (BIFF2 only) - // 0x38: WNDESK - // 0x39 ?? - // 0x3a: BEGINPREF - // 0x3b: ENDPREF + // 0x0035: INFOOPTS + // 0x0036: TABLE (BIFF2 only) + // 0x0037: TABLE2 (BIFF2 only) + // 0x0038: WNDESK + // 0x0039 ?? + // 0x003a: BEGINPREF + // 0x003b: ENDPREF 0x003e: { /* n:"BIFF2WINDOW2", */ }, - // 0x3f ?? - // 0x46: SHOWSCROLL - // 0x47: SHOWFORMULA - // 0x48: STATUSBAR - // 0x49: SHORTMENUS - // 0x4A: - // 0x4B: - // 0x4C: - // 0x4E: - // 0x4F: - // 0x58: TOOLBAR (BIFF3) + // 0x003f ?? + // 0x0046: SHOWSCROLL + // 0x0047: SHOWFORMULA + // 0x0048: STATUSBAR + // 0x0049: SHORTMENUS + // 0x004A: + // 0x004B: + // 0x004C: + // 0x004E: + // 0x004F: + // 0x0058: TOOLBAR (BIFF3) /* - - - */ 0x0034: { /* n:"DDEObjName", */ }, -0x0043: { /* n:"BIFF2XF", */ }, +0x0043: { /* n:"BIFF2XF", */ f:parse_BIFF2XF }, 0x0044: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, 0x0045: { /* n:"BIFF2FONTCLR", */ }, 0x0056: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ @@ -21073,7 +21456,7 @@ var XLSRecordEnum = { // 0x8A // 0x8B LH: alternate menu key flag (BIFF3/4) // 0x8E - // 0x8F +0x008F: { /* n:"BIFF4SheetInfo", */ f:parse_BIFF4SheetInfo }, 0x0091: { /* n:"Sub", */ }, // 0x93 STYLE 0x0094: { /* n:"LHRecord", */ }, @@ -21099,10 +21482,10 @@ var XLSRecordEnum = { 0x0218: { /* n:"Lbl", */ f:parse_Lbl }, 0x0223: { /* n:"ExternName", */ f:parse_ExternName }, 0x0231: { /* n:"Font", */ }, -0x0243: { /* n:"BIFF3XF", */ }, +0x0243: { /* n:"BIFF3XF", */ f:parse_BIFF3XF }, 0x0406: { /* n:"Formula", */ f:parse_Formula }, 0x0409: { /* n:"BOF", */ f:parse_BOF }, -0x0443: { /* n:"BIFF4XF", */ }, +0x0443: { /* n:"BIFF4XF", */ f:parse_BIFF4XF }, 0x086d: { /* n:"FeatInfo", */ }, 0x0873: { /* n:"FeatInfo11", */ }, 0x0881: { /* n:"SXAddl12", */ }, @@ -21166,15 +21549,6 @@ function write_biff_continue(ba, type, payload, length) { } } -function write_BIFF2Cell(out, r, c) { - if(!out) out = new_buf(7); - out.write_shift(2, r); - out.write_shift(2, c); - out.write_shift(2, 0); - out.write_shift(1, 0); - return out; -} - function write_BIFF2BERR(r, c, val, t) { var out = new_buf(9); write_BIFF2Cell(out, r, c); @@ -21191,25 +21565,59 @@ function write_BIFF2LABEL(r, c, val) { return out.l < out.length ? out.slice(0, out.l) : out; } -function write_ws_biff2_cell(ba, cell, R, C) { +function write_comments_biff2(ba, comments) { + comments.forEach(function(data) { + var text = data[0].map(function(cc) { return cc.t; }).join(""); + // TODO: should '\n' be translated to '\r' to correct for Excel 5.0 bug when exporting to BIFF2/3 ? + if(text.length <= 2048) return write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text, data[1], data[2])); + write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(0, 2048), data[1], data[2], text.length)); + for(var i = 2048; i < text.length; i += 2048) + write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(i, Math.min(i+2048, text.length)), -1, -1, Math.min(2048, text.length - i))); + }); +} + +/* TODO: BIFF3/4 use different records -- see comments*/ +function write_ws_biff2_cell(ba, cell, R, C, opts, date1904) { + var ifmt = 0; + if(cell.z != null) { + ifmt = opts._BIFF2FmtTable.indexOf(cell.z); + if(ifmt == -1) { opts._BIFF2FmtTable.push(cell.z); ifmt = opts._BIFF2FmtTable.length - 1; } + } + var ixfe = 0; + if(cell.z != null) { + for(; ixfe < opts.cellXfs.length; ++ixfe) if(opts.cellXfs[ixfe].numFmtId == ifmt) break; + if(ixfe == opts.cellXfs.length) opts.cellXfs.push({numFmtId: ifmt}); + } if(cell.v != null) switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; - if((v == (v|0)) && (v >= 0) && (v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v)); + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; + if(opts.biff == 2 && (v == (v|0)) && (v >= 0) && (v < 65536)) + // 0x027E (RK) in BIFF3/4 + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v, ixfe, ifmt)); + else if(isNaN(v)) + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x24, "e")); // #NUM! + else if(!isFinite(v)) + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x07, "e")); // #DIV/0! else - write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v)); + // 0x0203 in BIFF3/4 + write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v, ixfe, ifmt)); return; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; + case 'b': case 'e': + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': + // 0x0204 in BIFF3/4 write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v == null ? "" : String(cell.v).slice(0,255))); return; } + // 0x0201 in BIFF3/4 write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); } -function write_ws_biff2(ba, ws, idx, opts) { +function write_ws_biff2(ba, ws, idx, opts, wb) { var dense = ws["!data"] != null; var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols = []; if(range.e.c > 0xFF || range.e.r > 0x3FFF) { @@ -21217,7 +21625,9 @@ function write_ws_biff2(ba, ws, idx, opts) { range.e.c = Math.min(range.e.c, 0xFF); range.e.r = Math.min(range.e.c, 0x3FFF); } - var row = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var row = [], comments = []; + /* TODO: 0x0000 / 0x0200 dimensions? */ for(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(var R = range.s.r; R <= range.e.r; ++R) { if(dense) row = ws["!data"][R] || []; @@ -21226,26 +21636,300 @@ function write_ws_biff2(ba, ws, idx, opts) { var cell = dense ? row[C] : ws[cols[C] + rr]; if(!cell) continue; /* write cell */ - write_ws_biff2_cell(ba, cell, R, C, opts); + write_ws_biff2_cell(ba, cell, R, C, opts, date1904); + if(cell.c) comments.push([cell.c, R, C]); } } + + /* ... 0x12 0x19 0x13 (Password) */ + write_comments_biff2(ba, comments); + /* 0x3d (Window1) ... */ } /* Based on test files */ function write_biff2_buf(wb, opts) { var o = opts || {}; + var ba = buf_array(); var idx = 0; for(var i=0;i'; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -21726,6 +22419,7 @@ function sheet_add_dom(ws, table, _opts) { else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}); o.z = opts.dateNF || table_fmt[14]; } @@ -22030,8 +22724,8 @@ function parse_content_xml(d, _opts, _nfm) { var ws = ({}); if(opts.dense) ws["!data"] = []; var Rn, q; var ctag = ({value:""}); - var textp = "", textpidx = 0, textptag; - var textR = []; + var textp = "", textpidx = 0, textptag, oldtextp = "", oldtextpidx = 0; + var textR = [], oldtextR = []; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var row_ol = 0; var number_format_map = _nfm || {}, styles = {}; @@ -22045,7 +22739,6 @@ function parse_content_xml(d, _opts, _nfm) { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -22116,7 +22809,7 @@ function parse_content_xml(d, _opts, _nfm) { C+= colpeat-1; } else if(Rn[1]!=='/') { ++C; - textp = ""; textpidx = 0; textR = []; + textp = oldtextp = ""; textpidx = oldtextpidx = 0; textR = []; oldtextR = []; colpeat = 1; var rptR = rowpeat ? R + rowpeat - 1 : R; if(C > range.e.c) range.e.c = C; @@ -22152,19 +22845,23 @@ function parse_content_xml(d, _opts, _nfm) { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -22225,10 +22922,17 @@ function parse_content_xml(d, _opts, _nfm) { if(textR.length) comment.R = textR; comment.a = creator; comments.push(comment); + textp = oldtextp; textpidx = oldtextpidx; textR = oldtextR; + } + else if(Rn[0].charAt(Rn[0].length-2) !== '/') { + state.push([Rn[3], false]); + var annotag = parsexmltag(Rn[0], true); + /* office:display TODO: check if there is a global override */ + if(!(annotag["display"] && parsexmlbool(annotag["display"]))) comments.hidden = true; + oldtextp = textp; oldtextpidx = textpidx; oldtextR = textR; + textp = ""; textpidx = 0; textR = []; } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);} creator = ""; creatoridx = 0; - textp = ""; textpidx = 0; textR = []; break; case 'creator': // 4.3.2.7 @@ -22354,9 +23058,7 @@ function parse_content_xml(d, _opts, _nfm) { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; @@ -22378,6 +23080,9 @@ function parse_content_xml(d, _opts, _nfm) { if(Rn[1]==='/' && (!ctag || !ctag['string-value'])) { var ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag); textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0]; + } else if(Rn[0].slice(-2) == "/>") { + /* TODO: is self-closing 文本串 valid? */ + textp += "\n"; } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; } break; // case 's': break; // @@ -22662,7 +23367,9 @@ function write_number_format_ods(nf, nfidx) { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -22689,7 +23396,7 @@ function write_number_format_ods(nf, nfidx) { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -22745,10 +23452,15 @@ function write_number_format_ods(nf, nfidx) { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -22767,8 +23479,7 @@ var write_content_ods = /* @__PURE__ */(function() { }; var null_cell_xml = ' \n'; - var covered_cell_xml = ' \n'; - var write_ws = function(ws, wb, i, opts, nfs) { + var write_ws = function(ws, wb, i, opts, nfs, date1904) { /* Section 9 Tables */ var o = []; o.push(' \n'); @@ -22799,7 +23510,7 @@ var write_content_ods = /* @__PURE__ */(function() { ct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1); break; } - if(skip) { o.push(covered_cell_xml); continue; } + if(skip) { o.push(' \n'); continue; } var ref = encode_cell({r:R, c:C}), cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(cell && cell.f) { ct['table:formula'] = escapexml(csf_to_ods_formula(cell.f)); @@ -22828,13 +23539,13 @@ var write_content_ods = /* @__PURE__ */(function() { ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; - //case 'e': - default: o.push(null_cell_xml); continue; + //case 'e': // TODO: translate to ODS errors + default: o.push(null_cell_xml); continue; // TODO: empty cell with comments } var text_p = write_text_p(textp); if(cell.l && cell.l.Target) { @@ -22845,7 +23556,17 @@ var write_content_ods = /* @__PURE__ */(function() { text_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, "&")}); } if(nfs[cell.z]) ct["table:style-name"] = "ce" + nfs[cell.z].slice(1); - o.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\n'); + var payload = writextag('text:p', text_p, {}); + if(cell.c) { + var acreator = "", apayload = "", aprops = {}; + for(var ci = 0; ci < cell.c.length; ++ci) { + if(!acreator && cell.c[ci].a) acreator = cell.c[ci].a; + apayload += "" + write_text_p(cell.c[ci].t) + ""; + } + if(!cell.c.hidden) aprops["office:display"] = true; + payload = writextag('office:annotation', apayload, aprops) + payload; + } + o.push(' ' + writextag('table:table-cell', payload, ct) + '\n'); } o.push(' \n'); } @@ -22990,7 +23711,7 @@ var write_content_ods = /* @__PURE__ */(function() { o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); @@ -23191,19 +23912,18 @@ function write_packed_varints(nums) { } 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 (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 7; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 14; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 127) << 21; + if (buf[l++] < 128) + return i32; + i32 |= (buf[l] & 15) << 28; return i32; } function varint_to_u64(buf) { @@ -23496,7 +24216,7 @@ function compress_iwa_file(buf) { return u8concat(out); } var numbers_lut_new = function() { - return { sst: [], rsst: [], ofmt: [], nfmt: [] }; + return { sst: [], rsst: [], ofmt: [], nfmt: [], fmla: [], ferr: [], cmnt: [] }; }; function numbers_format_cell(cell, t, flags, ofmt, nfmt) { var _a, _b, _c, _d; @@ -23612,10 +24332,10 @@ function numbers_format_cell(cell, t, flags, ofmt, nfmt) { cell.w = cell.w.replace(/:(\d\d\d)$/, ".$1"); } } -function parse_old_storage(buf, lut, v) { +function parse_old_storage(buf, lut, v, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); - var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)); var doff = v > 1 ? 12 : 8; if (flags & 2) { zidx = dv.getUint32(doff, true); @@ -23636,7 +24356,7 @@ function parse_old_storage(buf, lut, v) { doff += 8; } if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (v > 1) { @@ -23659,7 +24379,12 @@ function parse_old_storage(buf, lut, v) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -23672,9 +24397,12 @@ function parse_old_storage(buf, lut, v) { break; case 9: { - if (ridx > -1) - ret = { t: "s", v: lut.rsst[ridx] }; - else + if (ridx > -1) { + var rts = lut.rsst[ridx]; + ret = { t: "s", v: rts.v }; + if (rts.l) + ret.l = { Target: rts.l }; + } else throw new Error("Unsupported cell type ".concat(buf[subarray](0, 4))); } break; @@ -23687,12 +24415,12 @@ function parse_old_storage(buf, lut, v) { ret.v /= 86400; return ret; } -function parse_new_storage(buf, lut) { +function parse_new_storage(buf, lut, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; if (fields & 1) { d128 = readDecimal128LE(buf, doff); doff += 16; @@ -23702,7 +24430,7 @@ function parse_new_storage(buf, lut) { doff += 8; } if (fields & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (fields & 8) { @@ -23713,11 +24441,22 @@ function parse_new_storage(buf, lut) { ridx = dv.getUint32(doff, true); doff += 4; } + doff += popcnt(fields & 480) * 4; + if (fields & 512) { + fidx = dv.getUint32(doff, true); + doff += 4; + } + doff += popcnt(fields & 1024) * 4; + if (fields & 2048) { + eidx = dv.getUint32(doff, true); + doff += 4; + } var ret; var t = buf[1]; switch (t) { case 0: - return void 0; + ret = { t: "z" }; + break; case 2: ret = { t: "n", v: d128 }; break; @@ -23725,7 +24464,12 @@ function parse_new_storage(buf, lut) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -23737,7 +24481,15 @@ function parse_new_storage(buf, lut) { ret = { t: "e", v: 0 }; break; case 9: - ret = { t: "s", v: lut.rsst[ridx] }; + { + if (ridx > -1) { + var rts = lut.rsst[ridx]; + ret = { t: "s", v: rts.v }; + if (rts.l) + ret.l = { Target: rts.l }; + } else + throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(fields & 31, " : ").concat(buf[subarray](0, 4))); + } break; case 10: ret = { t: "n", v: d128 }; @@ -23745,92 +24497,187 @@ function parse_new_storage(buf, lut) { default: throw new Error("Unsupported cell type ".concat(buf[1], " : ").concat(fields & 31, " : ").concat(buf[subarray](0, 4))); } - doff += popcnt(fields & 8160) * 4; + doff += popcnt(fields & 4096) * 4; if (fields & 516096) { if (zidx == -1) zidx = dv.getUint32(doff, true); doff += 4; } + if (fields & 524288) { + var cmntidx = dv.getUint32(doff, true); + doff += 4; + if (lut.cmnt[cmntidx]) + ret.c = iwa_to_s5s_comment(lut.cmnt[cmntidx]); + } if (zidx > -1) numbers_format_cell(ret, t | 5 << 8, fields >> 13, lut.ofmt[zidx], lut.nfmt[zidx]); if (t == 7) ret.v /= 86400; return ret; } -function write_new_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; +function write_new_storage(cell, lut) { + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; out[0] = 5; switch (cell.t) { case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - flags |= 1; - l += 16; + if (cell.z && fmt_is_date(cell.z)) { + out[1] = 5; + dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + } else { + out[1] = 2; + writeDecimal128LE(out, l, cell.v); + fields |= 1; + l += 16; + } break; case "b": out[1] = 6; dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 2; + fields |= 2; l += 8; break; case "s": - var s = cell.v == null ? "" : String(cell.v); - var isst = sst.indexOf(s); - if (isst == -1) - sst[isst = sst.length] = s; - out[1] = 3; - dv.setUint32(l, isst, true); - flags |= 8; - l += 4; + { + var s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + var irsst = lut.rsst.findIndex(function(v) { + var _a; + return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target); + }); + if (irsst == -1) + lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; + out[1] = 9; + dv.setUint32(l, irsst, true); + fields |= 16; + l += 4; + } else { + var isst = lut.sst.indexOf(s); + if (isst == -1) + lut.sst[isst = lut.sst.length] = s; + out[1] = 3; + dv.setUint32(l, isst, true); + fields |= 8; + l += 4; + } + } + break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + case "z": + out[1] = 0; break; default: throw "unsupported cell type " + cell.t; } - dv.setUint32(8, flags, true); + if (cell.c) { + lut.cmnt.push(s5s_to_iwa_comment(cell.c)); + dv.setUint32(l, lut.cmnt.length - 1, true); + fields |= 524288; + l += 4; + } + dv.setUint32(8, fields, true); return out[subarray](0, l); } -function write_old_storage(cell, sst) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0; +function write_old_storage(cell, lut) { + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; switch (cell.t) { case "n": - out[2] = 2; - dv.setFloat64(l, cell.v, true); - flags |= 32; - l += 8; break; case "b": - out[2] = 6; - dv.setFloat64(l, cell.v ? 1 : 0, true); - flags |= 32; - l += 8; break; case "s": - var s = cell.v == null ? "" : String(cell.v); - var isst = sst.indexOf(s); - if (isst == -1) - sst[isst = sst.length] = s; - out[2] = 3; - dv.setUint32(l, isst, true); - flags |= 16; - l += 4; + { + s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + var irsst = lut.rsst.findIndex(function(v) { + var _a; + return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target); + }); + if (irsst == -1) + lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target }; + out[1] = 9; + dv.setUint32(l, irsst, true); + fields |= 512; + l += 4; + } else { + } + } + break; + case "d": + break; + case "e": + break; + case "z": break; default: throw "unsupported cell type " + cell.t; } - dv.setUint32(8, flags, true); + if (cell.c) { + dv.setUint32(l, lut.cmnt.length - 1, true); + fields |= 4096; + l += 4; + } + switch (cell.t) { + case "n": + out[1] = 2; + dv.setFloat64(l, cell.v, true); + fields |= 32; + l += 8; + break; + case "b": + out[1] = 6; + dv.setFloat64(l, cell.v ? 1 : 0, true); + fields |= 32; + l += 8; + break; + case "s": + { + s = cell.v == null ? "" : String(cell.v); + if (cell.l) { + } else { + var isst = lut.sst.indexOf(s); + if (isst == -1) + lut.sst[isst = lut.sst.length] = s; + out[1] = 3; + dv.setUint32(l, isst, true); + fields |= 16; + l += 4; + } + } + break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 64; + l += 8; + break; + case "z": + out[1] = 0; + break; + default: + throw "unsupported cell type " + cell.t; + } + dv.setUint32(8, fields, true); return out[subarray](0, l); } -function parse_cell_storage(buf, lut) { +function parse_cell_storage(buf, lut, opts) { switch (buf[0]) { case 0: case 1: case 2: case 3: case 4: - return parse_old_storage(buf, lut, buf[0]); + return parse_old_storage(buf, lut, buf[0], opts); case 5: - return parse_new_storage(buf, lut); + return parse_new_storage(buf, lut, opts); default: throw new Error("Unsupported payload version ".concat(buf[0])); } @@ -23867,6 +24714,7 @@ function parse_TST_TableDataList(M, root) { var entries = pb[3]; var data = []; (entries || []).forEach(function(entry) { + var _a, _b; var le = parse_shallow(entry.data); if (!le[1]) return; @@ -23884,14 +24732,49 @@ function parse_TST_TableDataList(M, root) { 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) { + var richtext = { v: tswpsa[3].map(function(x) { return u8str(x.data); - }).join(""); + }).join("") }; + data[key] = richtext; + sfields: + if ((_a = tswpsa == null ? void 0 : tswpsa[11]) == null ? void 0 : _a[0]) { + var smartfields = (_b = parse_shallow(tswpsa[11][0].data)) == null ? void 0 : _b[1]; + if (!smartfields) + break sfields; + smartfields.forEach(function(sf) { + var _a2, _b2, _c; + var attr = parse_shallow(sf.data); + if ((_a2 = attr[2]) == null ? void 0 : _a2[0]) { + var obj = M[parse_TSP_Reference((_b2 = attr[2]) == null ? void 0 : _b2[0].data)][0]; + var objtype = varint_to_i32(obj.meta[1][0].data); + switch (objtype) { + case 2032: + var hlink = parse_shallow(obj.data); + if (((_c = hlink == null ? void 0 : hlink[2]) == null ? void 0 : _c[0]) && !richtext.l) + richtext.l = u8str(hlink[2][0].data); + break; + case 2039: + break; + default: + console.log("unrecognized ObjectAttribute type ".concat(objtype)); + } + } + }); + } } break; case 2: data[key] = parse_shallow(le[6][0].data); break; + case 3: + data[key] = parse_shallow(le[5][0].data); + break; + case 10: + { + var cs = M[parse_TSP_Reference(le[10][0].data)][0]; + data[key] = parse_TSD_CommentStorageArchive(M, cs.data); + } + break; default: throw type; } @@ -23957,8 +24840,50 @@ function parse_TST_Tile(M, root) { }, []) }; } -function parse_TST_TableModelArchive(M, root, ws) { - var _a, _b, _c, _d, _e, _f; +function parse_TSD_CommentStorageArchive(M, data) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j; + var out = { t: "", a: "" }; + var csp = parse_shallow(data); + if ((_b = (_a = csp == null ? void 0 : csp[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) + out.t = u8str((_d = (_c = csp == null ? void 0 : csp[1]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) || ""; + if ((_f = (_e = csp == null ? void 0 : csp[3]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data) { + var as = M[parse_TSP_Reference((_h = (_g = csp == null ? void 0 : csp[3]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data)][0]; + var asp = parse_shallow(as.data); + if ((_j = (_i = asp[1]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) + out.a = u8str(asp[1][0].data); + } + if (csp == null ? void 0 : csp[4]) { + out.replies = []; + csp[4].forEach(function(pi) { + var cs = M[parse_TSP_Reference(pi.data)][0]; + out.replies.push(parse_TSD_CommentStorageArchive(M, cs.data)); + }); + } + return out; +} +function iwa_to_s5s_comment(iwa) { + var out = []; + out.push({ t: iwa.t || "", a: iwa.a, T: iwa.replies && iwa.replies.length > 0 }); + if (iwa.replies) + iwa.replies.forEach(function(reply) { + out.push({ t: reply.t || "", a: reply.a, T: true }); + }); + return out; +} +function s5s_to_iwa_comment(s5s) { + var out = { a: "", t: "", replies: [] }; + for (var i = 0; i < s5s.length; ++i) { + if (i == 0) { + out.a = s5s[i].a; + out.t = s5s[i].t; + } else { + out.replies.push({ a: s5s[i].a, t: s5s[i].t }); + } + } + return out; +} +function parse_TST_TableModelArchive(M, root, ws, opts) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i; 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; @@ -23973,11 +24898,17 @@ function parse_TST_TableModelArchive(M, root, ws) { var lut = numbers_lut_new(); if ((_a = store[4]) == null ? void 0 : _a[0]) lut.sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]); - if ((_b = store[11]) == null ? void 0 : _b[0]) + if ((_b = store[6]) == null ? void 0 : _b[0]) + lut.fmla = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[6][0].data)][0]); + if ((_c = store[11]) == null ? void 0 : _c[0]) lut.ofmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[11][0].data)][0]); - if ((_c = store[17]) == null ? void 0 : _c[0]) + if ((_d = store[12]) == null ? void 0 : _d[0]) + lut.ferr = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[12][0].data)][0]); + if ((_e = store[17]) == null ? void 0 : _e[0]) lut.rsst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]); - if ((_d = store[22]) == null ? void 0 : _d[0]) + if ((_f = store[19]) == null ? void 0 : _f[0]) + lut.cmnt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[19][0].data)][0]); + if ((_g = store[22]) == null ? void 0 : _g[0]) lut.nfmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[22][0].data)][0]); var tile = parse_shallow(store[3][0].data); var _R = 0; @@ -23990,7 +24921,7 @@ function parse_TST_TableModelArchive(M, root, ws) { var _tile = parse_TST_Tile(M, ref2); _tile.data.forEach(function(row, R) { row.forEach(function(buf, C) { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if (res) { if (dense) { if (!dws["!data"][_R + R]) @@ -24004,12 +24935,12 @@ function parse_TST_TableModelArchive(M, root, ws) { }); _R += _tile.nrows; }); - if ((_e = store[13]) == null ? void 0 : _e[0]) { + if ((_h = store[13]) == null ? void 0 : _h[0]) { var ref = M[parse_TSP_Reference(store[13][0].data)][0]; var mtype = varint_to_i32(ref.meta[1][0].data); if (mtype != 6144) throw new Error("Expected merge type 6144, found ".concat(mtype)); - ws["!merges"] = (_f = parse_shallow(ref.data)) == null ? void 0 : _f[1].map(function(pi) { + ws["!merges"] = (_i = parse_shallow(ref.data)) == null ? void 0 : _i[1].map(function(pi) { var merge = parse_shallow(pi.data); var origin = u8_to_dataview(parse_shallow(merge[1][0].data)[1][0].data), size = u8_to_dataview(parse_shallow(merge[2][0].data)[1][0].data); return { @@ -24031,7 +24962,7 @@ function parse_TST_TableInfoArchive(M, root, opts) { 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); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } function parse_TN_SheetArchive(M, root, opts) { @@ -24054,6 +24985,7 @@ function parse_TN_SheetArchive(M, root, opts) { function parse_TN_DocumentArchive(M, root, opts) { var _a; var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if ((_a = pb[2]) == null ? void 0 : _a[0]) throw new Error("Keynote presentations are not supported"); @@ -24124,8 +25056,8 @@ function parse_numbers_iwa(cfb, opts) { throw new Error("Cannot find Document root"); return parse_TN_DocumentArchive(M, docroot, opts); } -function write_TST_TileRowInfo(data, SST, wide) { - var _a, _b; +function write_TST_TileRowInfo(data, lut, wide) { + var _a, _b, _c; var tri = [ [], [{ type: 0, data: write_varint49(0) }], @@ -24158,7 +25090,7 @@ function write_TST_TileRowInfo(data, SST, wide) { var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = []; var width = wide ? 4 : 1; for (var C = 0; C < data.length; ++C) { - if (data[C] == null) { + if (data[C] == null || data[C].t == "z" && !((_c = data[C].c) == null ? void 0 : _c.length) || data[C].t == "e") { dv.setUint16(C * 2, 65535, true); _dv.setUint16(C * 2, 65535); continue; @@ -24166,25 +25098,24 @@ function write_TST_TileRowInfo(data, SST, wide) { dv.setUint16(C * 2, last_offset / width, true); _dv.setUint16(C * 2, _last_offset / width, true); var celload, _celload; - switch (typeof data[C]) { - case "string": - celload = write_new_storage({ t: "s", v: data[C] }, SST); - _celload = write_old_storage({ t: "s", v: data[C] }, SST); - break; - case "number": - celload = write_new_storage({ t: "n", v: data[C] }, SST); - _celload = write_old_storage({ t: "n", v: data[C] }, SST); - break; - case "boolean": - celload = write_new_storage({ t: "b", v: data[C] }, SST); - _celload = write_old_storage({ t: "b", v: data[C] }, SST); - break; - default: - if (data[C] instanceof Date) { - celload = write_new_storage({ t: "s", v: data[C].toISOString() }, SST); - _celload = write_old_storage({ t: "s", v: data[C].toISOString() }, SST); + switch (data[C].t) { + case "d": + if (data[C].v instanceof Date) { + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); break; } + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); + break; + case "s": + case "n": + case "b": + case "z": + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); + break; + default: throw new Error("Unsupported value " + data[C]); } cell_storage.push(celload); @@ -24262,6 +25193,34 @@ function build_numbers_deps(cfb) { }); return dependents; } +function write_TSP_Color_RGB(r, g, b) { + return write_shallow([ + [], + [{ type: 0, data: write_varint49(1) }], + [], + [{ type: 5, data: new Uint8Array(Float32Array.from([r / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([g / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([b / 255]).buffer) }], + [{ type: 5, data: new Uint8Array(Float32Array.from([1]).buffer) }], + [], + [], + [], + [], + [], + [{ type: 0, data: write_varint49(1) }] + ]); +} +function get_author_color(n) { + switch (n) { + case 0: + return write_TSP_Color_RGB(99, 222, 171); + case 1: + return write_TSP_Color_RGB(162, 197, 240); + case 2: + return write_TSP_Color_RGB(255, 189, 189); + } + return write_TSP_Color_RGB(Math.random() * 255, Math.random() * 255, Math.random() * 255); +} function write_numbers_iwa(wb, opts) { if (!opts || !opts.numbers) throw new Error("Must pass a `numbers` option -- check the README"); @@ -24305,6 +25264,85 @@ function numbers_iwa_find(cfb, deps, id) { }); return ainfo; } +function numbers_add_meta(mlist, newid, newloc) { + mlist[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(newid) }], + [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], + [{ type: 2, data: stru8(newloc) }], + [{ type: 2, data: new Uint8Array([2, 0, 0]) }], + [{ type: 2, data: new Uint8Array([2, 0, 0]) }], + [], + [], + [], + [], + [{ type: 0, data: write_varint49(0) }], + [], + [{ type: 0, data: write_varint49(0) }] + ]) }); + mlist[1] = [{ type: 0, data: write_varint49(Math.max(newid + 1, varint_to_i32(mlist[1][0].data))) }]; +} +function numbers_add_msg(cfb, type, msg, path, deps, id) { + if (!id) + id = get_unique_msgid({ deps: [], location: "", type: type }, deps); + var loc = "".concat(path, "-").concat(id, ".iwa"); + deps[id].location = "Root Entry" + loc; + CFB.utils.cfb_add(cfb, loc, compress_iwa_file(write_iwa_file([{ + id: id, + messages: [write_iwam(type, write_shallow(msg))] + }]))); + var newloc = loc.replace(/^[\/]/, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_add_meta(mlist, id || 0, newloc); + ai.messages[0].data = write_shallow(mlist); + }); + return id; +} +function numbers_meta_add_dep(mlist, deps, id, dep) { + var loc = deps[id].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + var parentidx = mlist[3].findIndex(function(m) { + var _a, _b; + var mm = parse_shallow(m.data); + if ((_a = mm[3]) == null ? void 0 : _a[0]) + return u8str(mm[3][0].data) == loc; + if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) + return true; + return false; + }); + var parent = parse_shallow(mlist[3][parentidx].data); + if (!parent[6]) + parent[6] = []; + (Array.isArray(dep) ? dep : [dep]).forEach(function(dep2) { + parent[6].push({ + type: 2, + data: write_shallow([ + [], + [{ type: 0, data: write_varint49(dep2) }] + ]) + }); + }); + mlist[3][parentidx].data = write_shallow(parent); +} +function numbers_meta_del_dep(mlist, deps, id, dep) { + var loc = deps[id].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); + var parentidx = mlist[3].findIndex(function(m) { + var _a, _b; + var mm = parse_shallow(m.data); + if ((_a = mm[3]) == null ? void 0 : _a[0]) + return u8str(mm[3][0].data) == loc; + if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) + return true; + return false; + }); + var parent = parse_shallow(mlist[3][parentidx].data); + if (!parent[6]) + parent[6] = []; + parent[6] = parent[6].filter(function(m) { + return varint_to_i32(parse_shallow(m.data)[1][0].data) != dep; + }); + mlist[3][parentidx].data = write_shallow(parent); +} function numbers_add_ws(cfb, deps, wsidx) { var sheetref = -1, newsheetref = -1; var remap = {}; @@ -24343,31 +25381,9 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[drawables[0]].location == deps[newsheetref].location) arch.push(tia); else { - var loc2 = deps[newsheetref].location; - loc2 = loc2.replace(/^Root Entry\//, ""); - loc2 = loc2.replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc2; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc2) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(tiaref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, newsheetref, tiaref); ai.messages[0].data = write_shallow(mlist); }); numbers_iwa_doit(cfb, deps, tiaref, function(_, x) { @@ -24401,13 +25417,10 @@ function numbers_add_ws(cfb, deps, wsidx) { }); tiaroot.messages[0].data = write_shallow(tia); }); - var loc = deps[tmaref].location; - loc = loc.replace(/^Root Entry\//, ""); - loc = loc.replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, tmaref, function(tmaroot, arch) { var _a, _b; var tma = parse_shallow(tmaroot.messages[0].data); - var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, "-".concat(wsidx.toString(16).padStart(4, "0"))); + var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, "-".concat(("0000" + wsidx.toString(16)).slice(-4))); tma[1][0].data = stru8(new_uuid); [12, 13, 29, 31, 32, 33, 39, 44, 47, 81, 82, 84].forEach(function(n) { return delete tma[n]; @@ -24485,47 +25498,11 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[newref].location == deps[oldref].location) deps[newref].location = deps[newref].location.replace(/\.iwa/, "-".concat(newref, ".iwa")); CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg]))); - var newloc = deps[newref].location; - newloc = newloc.replace(/^Root Entry\//, ""); - newloc = newloc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var newloc = deps[newref].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - mlist[3].push({ type: 2, data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }], - [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], - [{ type: 2, data: stru8(newloc) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [], - [], - [], - [], - [{ type: 0, data: write_varint49(0) }], - [], - [{ type: 0, data: write_varint49(0) }] - ]) }); - mlist[1] = [{ type: 0, data: write_varint49(Math.max(newref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a3, _b2; - var mm = parse_shallow(m.data); - if ((_a3 = mm[3]) == null ? void 0 : _a3[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_add_meta(mlist, newref, newloc); + numbers_meta_add_dep(mlist, deps, tmaref, newref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24548,47 +25525,11 @@ function numbers_add_ws(cfb, deps, wsidx) { if (deps[newref].location == deps[oldref].location) deps[newref].location = deps[newref].location.replace(/\.iwa/, "-".concat(newref, ".iwa")); CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg]))); - var newloc = deps[newref].location; - newloc = newloc.replace(/^Root Entry\//, ""); - newloc = newloc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var newloc = deps[newref].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""); numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - mlist[3].push({ type: 2, data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }], - [{ type: 2, data: stru8(newloc.replace(/-.*$/, "")) }], - [{ type: 2, data: stru8(newloc) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [{ type: 2, data: new Uint8Array([2, 0, 0]) }], - [], - [], - [], - [], - [{ type: 0, data: write_varint49(0) }], - [], - [{ type: 0, data: write_varint49(0) }] - ]) }); - mlist[1] = [{ type: 0, data: write_varint49(Math.max(newref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a2, _b2; - var mm = parse_shallow(m.data); - if ((_a2 = mm[3]) == null ? void 0 : _a2[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_add_meta(mlist, newref, newloc); + numbers_meta_add_dep(mlist, deps, tmaref, newref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24629,26 +25570,7 @@ function numbers_add_ws(cfb, deps, wsidx) { [{ type: 0, data: write_varint49(0) }] ]) }); mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileref + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a2, _b2; - var mm = parse_shallow(m.data); - if ((_a2 = mm[3]) == null ? void 0 : _a2[0]) - return u8str(mm[3][0].data) == loc; - if (((_b2 = mm[2]) == null ? void 0 : _b2[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newtileref) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, newtileref); ai.messages[0].data = write_shallow(mlist); }); } @@ -24693,11 +25615,33 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { } if (trunc) console.error("Truncating to ".concat(encode_range(range))); - var data = sheet_to_json(ws, { range: range, header: 1 }); - var SST = ["~Sh33tJ5~"]; - var loc = deps[tmaref].location; - loc = loc.replace(/^Root Entry\//, ""); - loc = loc.replace(/^Index\//, "").replace(/\.iwa$/, ""); + var data = []; + if (ws["!data"]) + data = ws["!data"]; + else { + var colstr = []; + for (var _C = 0; _C <= range.e.c; ++_C) + colstr[_C] = encode_col(_C); + for (var R_ = 0; R_ <= range.e.r; ++R_) { + data[R_] = []; + var _R = "" + (R_ + 1); + for (_C = 0; _C <= range.e.c; ++_C) { + var _cell = ws[colstr[_C] + _R]; + if (!_cell) + continue; + data[R_][_C] = _cell; + } + } + } + var LUT = { + cmnt: [{ a: "~54ee77S~", t: "... the people who are crazy enough to think they can change the world, are the ones who do." }], + ferr: [], + fmla: [], + nfmt: [], + ofmt: [], + rsst: [{ v: "~54ee77S~", l: "https://sheetjs.com/" }], + sst: ["~Sh33tJ5~"] + }; var pb = parse_shallow(tmaroot.messages[0].data); { pb[6][0].data = write_varint49(range.e.r + 1); @@ -24751,22 +25695,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { mlist[3] = mlist[3].filter(function(m) { return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref; }); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6] = parent[6].filter(function(m) { - return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref; - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_del_dep(mlist, deps, tmaref, tileref); ai.messages[0].data = write_shallow(mlist); }); numbers_del_oref(tmaroot, tileref); @@ -24792,7 +25721,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { [{ type: 0, data: write_varint49(USE_WIDE_ROWS ? 1 : 0) }] ]; for (var R = tidx * tstride; R <= Math.min(range.e.r, (tidx + 1) * tstride - 1); ++R) { - var tilerow = write_TST_TileRowInfo(data[R], SST, USE_WIDE_ROWS); + var tilerow = write_TST_TileRowInfo(data[R], LUT, USE_WIDE_ROWS); tilerow[1][0].data = write_varint49(R - tidx * tstride); tiledata[5].push({ data: write_shallow(tilerow), type: 2 }); } @@ -24825,26 +25754,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { [{ type: 0, data: write_varint49(save_token) }] ]) }); mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileid + 1, varint_to_i32(mlist[1][0].data))) }]; - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(newtileid) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, newtileid); ai.messages[0].data = write_shallow(mlist); }); numbers_add_oref(tmaroot, newtileid); @@ -24886,26 +25796,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { store[13] = [{ type: 2, data: write_TSP_Reference(mergeid) }]; numbers_iwa_doit(cfb, deps, 2, function(ai) { var mlist = parse_shallow(ai.messages[0].data); - var parentidx = mlist[3].findIndex(function(m) { - var _a, _b; - var mm = parse_shallow(m.data); - if ((_a = mm[3]) == null ? void 0 : _a[0]) - return u8str(mm[3][0].data) == loc; - if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc) - return true; - return false; - }); - var parent = parse_shallow(mlist[3][parentidx].data); - if (!parent[6]) - parent[6] = []; - parent[6].push({ - type: 2, - data: write_shallow([ - [], - [{ type: 0, data: write_varint49(mergeid) }] - ]) - }); - mlist[3][parentidx].data = write_shallow(parent); + numbers_meta_add_dep(mlist, deps, tmaref, mergeid); ai.messages[0].data = write_shallow(mlist); }); numbers_add_oref(tmaroot, mergeid); @@ -24916,7 +25807,7 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { var sstdata = parse_shallow(sstroot.messages[0].data); { sstdata[3] = []; - SST.forEach(function(str, i) { + LUT.sst.forEach(function(str, i) { if (i == 0) return; sstdata[3].push({ type: 2, data: write_shallow([ @@ -24929,6 +25820,197 @@ function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { } sstroot.messages[0].data = write_shallow(sstdata); }); + var rsstref = parse_TSP_Reference(store[17][0].data); + numbers_iwa_doit(cfb, deps, rsstref, function(rsstroot) { + var rsstdata = parse_shallow(rsstroot.messages[0].data); + rsstdata[3] = []; + var style_indices = [ + 904980, + 903835, + 903815, + 903845 + ]; + LUT.rsst.forEach(function(rsst, i) { + if (i == 0) + return; + var tswpsa = [ + [], + [{ type: 0, data: new Uint8Array([5]) }], + [], + [{ type: 2, data: stru8(rsst.v) }] + ]; + tswpsa[10] = [{ type: 0, data: new Uint8Array([1]) }]; + tswpsa[19] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 18, 2, 101, 110]) }]; + tswpsa[5] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 155, 149, 55]) }]; + tswpsa[2] = [{ type: 2, data: new Uint8Array([8, 148, 158, 55]) }]; + tswpsa[6] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + tswpsa[7] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 135, 149, 55]) }]; + tswpsa[8] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 165, 149, 55]) }]; + tswpsa[14] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + tswpsa[24] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }]; + var tswpsaid = get_unique_msgid({ deps: [], location: "", type: 2001 }, deps); + var tswpsarefs = []; + if (rsst.l) { + var newhlinkid = numbers_add_msg(cfb, 2032, [ + [], + [], + [{ type: 2, data: stru8(rsst.l) }] + ], "/Index/Tables/DataList", deps); + tswpsa[11] = []; + var smartfield = [[], []]; + if (!smartfield[1]) + smartfield[1] = []; + smartfield[1].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(0) }], + [{ type: 2, data: write_TSP_Reference(newhlinkid) }] + ]) }); + tswpsa[11][0] = { type: 2, data: write_shallow(smartfield) }; + tswpsarefs.push(newhlinkid); + } + numbers_add_msg(cfb, 2001, tswpsa, "/Index/Tables/DataList", deps, tswpsaid); + numbers_iwa_doit(cfb, deps, tswpsaid, function(iwa) { + style_indices.forEach(function(ref) { + return numbers_add_oref(iwa, ref); + }); + tswpsarefs.forEach(function(ref) { + return numbers_add_oref(iwa, ref); + }); + }); + var rtpaid = numbers_add_msg(cfb, 6218, [ + [], + [{ type: 2, data: write_TSP_Reference(tswpsaid) }], + [], + [{ type: 2, data: new Uint8Array([13, 255, 255, 255, 0, 18, 10, 16, 255, 255, 1, 24, 255, 255, 255, 255, 7]) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, rtpaid, function(iwa) { + return numbers_add_oref(iwa, tswpsaid); + }); + rsstdata[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(1) }], + [], + [], + [], + [], + [], + [], + [{ type: 2, data: write_TSP_Reference(rtpaid) }] + ]) }); + numbers_add_oref(rsstroot, rtpaid); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, rsstref, rtpaid); + numbers_meta_add_dep(mlist, deps, rtpaid, tswpsaid); + numbers_meta_add_dep(mlist, deps, tswpsaid, tswpsarefs); + numbers_meta_add_dep(mlist, deps, tswpsaid, style_indices); + ai.messages[0].data = write_shallow(mlist); + }); + }); + rsstroot.messages[0].data = write_shallow(rsstdata); + }); + if (LUT.cmnt.length > 1) { + var cmntref = parse_TSP_Reference(store[19][0].data); + var authors = {}, iauthor = 0; + numbers_iwa_doit(cfb, deps, cmntref, function(cmntroot) { + var cmntdata = parse_shallow(cmntroot.messages[0].data); + { + cmntdata[3] = []; + LUT.cmnt.forEach(function(cc, i) { + if (i == 0) + return; + var replies = []; + if (cc.replies) + cc.replies.forEach(function(c) { + if (!authors[c.a || ""]) + authors[c.a || ""] = numbers_add_msg(cfb, 212, [ + [], + [{ type: 2, data: stru8(c.a || "") }], + [{ type: 2, data: get_author_color(++iauthor) }], + [], + [{ type: 0, data: write_varint49(0) }] + ], "/Index/Tables/DataList", deps); + var aaaid2 = authors[c.a || ""]; + var csaid2 = numbers_add_msg(cfb, 3056, [ + [], + [{ type: 2, data: stru8(c.t || "") }], + [{ type: 2, data: write_shallow([ + [], + [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }] + ]) }], + [{ type: 2, data: write_TSP_Reference(aaaid2) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, csaid2, function(iwa) { + return numbers_add_oref(iwa, aaaid2); + }); + replies.push(csaid2); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, csaid2, aaaid2); + ai.messages[0].data = write_shallow(mlist); + }); + }); + if (!authors[cc.a || ""]) + authors[cc.a || ""] = numbers_add_msg(cfb, 212, [ + [], + [{ type: 2, data: stru8(cc.a || "") }], + [{ type: 2, data: get_author_color(++iauthor) }], + [], + [{ type: 0, data: write_varint49(0) }] + ], "/Index/Tables/DataList", deps); + var aaaid = authors[cc.a || ""]; + var csaid = numbers_add_msg(cfb, 3056, [ + [], + [{ type: 2, data: stru8(cc.t || "") }], + [{ type: 2, data: write_shallow([ + [], + [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }] + ]) }], + [{ type: 2, data: write_TSP_Reference(aaaid) }], + replies.map(function(r) { + return { type: 2, data: write_TSP_Reference(r) }; + }), + [{ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(0) }] + ]) }] + ], "/Index/Tables/DataList", deps); + numbers_iwa_doit(cfb, deps, csaid, function(iwa) { + numbers_add_oref(iwa, aaaid); + replies.forEach(function(r) { + return numbers_add_oref(iwa, r); + }); + }); + cmntdata[3].push({ type: 2, data: write_shallow([ + [], + [{ type: 0, data: write_varint49(i) }], + [{ type: 0, data: write_varint49(1) }], + [], + [], + [], + [], + [], + [], + [], + [{ type: 2, data: write_TSP_Reference(csaid) }] + ]) }); + numbers_add_oref(cmntroot, csaid); + numbers_iwa_doit(cfb, deps, 2, function(ai) { + var mlist = parse_shallow(ai.messages[0].data); + numbers_meta_add_dep(mlist, deps, cmntref, csaid); + numbers_meta_add_dep(mlist, deps, csaid, aaaid); + if (replies.length) + numbers_meta_add_dep(mlist, deps, csaid, replies); + ai.messages[0].data = write_shallow(mlist); + }); + }); + } + cmntdata[2][0].data = write_varint49(LUT.cmnt.length + 1); + cmntroot.messages[0].data = write_shallow(cmntdata); + }); + } } pb[4][0].data = write_shallow(store); } @@ -24995,6 +26077,13 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } +function parse_sheet_legacy_drawing(sheet, type, zip, path, idx, opts, wb, comments) { + if(!sheet || !sheet['!legdrawel']) return; + var dfile = resolve_path(sheet['!legdrawel'].Target, path); + var draw = getzipstr(zip, dfile, true); + if(draw) parse_vml(utf8read(draw), sheet, comments||[]); +} + function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); @@ -25033,6 +26122,7 @@ function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, st } }); if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); + parse_sheet_legacy_drawing(_ws, stype, zip, path, idx, opts, wb, comments); } catch(e) { if(opts.WTF) throw e; } } @@ -25332,6 +26422,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]]; @@ -25351,6 +26444,17 @@ f = "docProps/app.xml"; var need_vml = false; var cf = ""; if(comments && comments.length > 0) { + 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 + ".xml"; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + ".xml", RELS.TCMNT); + } + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_bin(comments, opts)); ct.comments.push(cf); @@ -25406,6 +26510,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)); @@ -25911,7 +27022,7 @@ function make_json_row(sheet, r, R, cols, header, hdr, o) { } if(!dense || sheet["!data"][R]) for (var C = r.s.c; C <= r.e.c; ++C) { var val = dense ? (sheet["!data"][R]||[])[C] : sheet[cols[C] + rr]; - if(val === undefined || val.t === undefined) { + if(val == null || val.t === undefined) { if(defval === undefined) continue; if(hdr[C] != null) { row[hdr[C]] = defval; } continue; @@ -25920,7 +27031,12 @@ function make_json_row(sheet, r, R, cols, header, hdr, o) { switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -26130,6 +27246,7 @@ function sheet_add_json(_ws, js, opts) { else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); } diff --git a/xlsx.mini.flow.js b/xlsx.mini.flow.js index 05f8ba6..4ab7083 100644 --- a/xlsx.mini.flow.js +++ b/xlsx.mini.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, DataView:false, Deno:false */ +/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false, Float32Array:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; var current_codepage = 1200, current_ansi = 1252; /*:: declare var cptable:any; */ /*global cptable:true, window */ @@ -135,6 +135,26 @@ function Base64_encode_pass(input) { } return o; } +function Base64_encode_arr(input) { + var o = ""; + var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; + for (var i = 0; i < input.length; ) { + c1 = input[i++]; + e1 = c1 >> 2; + c2 = input[i++]; + e2 = (c1 & 3) << 4 | c2 >> 4; + c3 = input[i++]; + e3 = (c2 & 15) << 2 | c3 >> 6; + e4 = c3 & 63; + if (isNaN(c2)) { + e3 = e4 = 64; + } else if (isNaN(c3)) { + e4 = 64; + } + o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4); + } + return o; +} function Base64_decode(input) { var o = ""; var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; @@ -494,15 +514,6 @@ function SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { out.q = dow; return out; } -var SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime(); -var SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -560,7 +571,7 @@ function SSF_general(v/*:any*/, opts/*:any*/) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -1248,7 +1259,7 @@ function SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; @@ -1335,6 +1346,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ { @@ -1347,6 +1359,7 @@ function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/ case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; @@ -3274,7 +3287,7 @@ function write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) { /*:: declare var chrome: any; */ if(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == "function") { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return chrome.downloads.download({ url: url, filename: fname, saveAs: true}); + return chrome.downloads.download({ url: url, filename: fname, saveAs: true }); } var a = document.createElement("a"); if(a.download != null) { @@ -3284,6 +3297,10 @@ function write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); return url; } + } else if(typeof URL !== 'undefined' && !URL.createObjectURL && typeof chrome === 'object') { + /* manifest v3 extensions -- no URL.createObjectURL */ + var b64 = "data:application/octet-stream;base64," + Base64_encode_arr(new Uint8Array(blobify(data))); + return chrome.downloads.download({ url: b64, filename: fname, saveAs: true }); } } // $FlowIgnore @@ -3342,22 +3359,19 @@ function evert_arr(obj/*:any*/)/*:EvertArrType*/ { return o; } -var basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = /*#__PURE__*/new Date(); -var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; -var refoffset = /*#__PURE__*/refdate.getTimezoneOffset(); -function numdate(v/*:number*/)/*:Date*/ { +function numdate(v/*:number*/)/*:Date|number*/ { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -3388,28 +3402,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1; -var good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) { - /*:: if(fixdate == null) fixdate = 0; */ - if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr/*:Array*/, debomit)/*:string*/ { @@ -3440,8 +3448,18 @@ function cc2str(arr/*:Array*/, debomit)/*:string*/ { return new TextDecoder("latin1").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; }); } catch(e) {} - var o = []; - for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + var o = [], i = 0; + // this cascade is for the browsers and runtimes of antiquity (and for modern runtimes that lack TextEncoder) + try { + for(i = 0; i < arr.length - 65536; i+=65536) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 65536))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { try { + for(; i < arr.length - 16384; i+=16384) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 16384))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { + for(; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + } + } return o.join(""); } @@ -3471,32 +3489,49 @@ function fuzzynum(s/*:string*/)/*:number*/ { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) /*:Date*/ { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) /*:Date*/ { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s/*:string*/)/*:Date*/ { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -3509,6 +3544,13 @@ var split_regex = /*#__PURE__*/(function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} function getdatastr(data)/*:?string*/ { if(!data) return null; if(data.content && data.type) return cc2str(data.content, true); @@ -4439,6 +4481,7 @@ function sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksh else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } @@ -5705,7 +5748,10 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -5728,7 +5774,12 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -5931,6 +5982,8 @@ var SYLK = /*#__PURE__*/(function() { var sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == "number" ? _getansi(o) : o; }; var decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); }; sylk_escapes["|"] = 254; + /* TODO: evert the escape map */ + var encode_sylk_str = function($$) { return $$.replace(/\n/g, "\x1b :").replace(/\r/g, "\x1b ="); }; /* https://oss.sheetjs.com/notes/sylk/ for more details */ function sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ { switch(opts.type) { @@ -5983,8 +6036,9 @@ var SYLK = /*#__PURE__*/(function() { // case 'NU': // ?? case 'C': /* cell */ var C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1, formula = "", cell_t = "z"; + var cmnt = ""; for(rj=1; rj*/ = ["ID;PSheetJS;N;E"], o/*:Array*/ = []; var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; @@ -6141,23 +6206,44 @@ var SYLK = /*#__PURE__*/(function() { var RS = "\r\n"; var d1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var _lastfmt = "General"; preamble.push("P;PGeneral"); + /* Excel has been inconsistent in comment placement */ + var R = r.s.r, C = r.s.c, p = []; + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || !cell.c) continue; + p.push(write_ws_cmnt_sylk(cell.c, R, C)); + } + if(p.length) o.push(p.join(RS)); + } + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; + if((cell.z||(cell.t == "d" ? table_fmt[14] : "General")) != _lastfmt) { + var ifmt = opts._formats.indexOf(cell.z); + if(ifmt == -1) { opts._formats.push(cell.z); ifmt = opts._formats.length - 1; preamble.push("P;P" + cell.z.replace(/;/g, ";;")); } + p.push("F;P" + ifmt + ";Y" + (R+1) + ";X" + (C+1)); + } + p.push(write_ws_cell_sylk(cell, ws, R, C, opts, d1904)); + } + o.push(p.join(RS)); + } + preamble.push("F;P0;DG0G8;M255"); if(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']); if(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']); preamble.push("B;Y" + (r.e.r - r.s.r + 1) + ";X" + (r.e.c - r.s.c + 1) + ";D" + [r.s.c,r.s.r,r.e.c,r.e.r].join(" ")); preamble.push("O;L;D;B" + (d1904 ? ";V4" : "") + ";K47;G100 0.001"); - for(var R = r.s.r; R <= r.e.r; ++R) { - if(dense && !ws["!data"][R]) continue; - var p = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; - if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; - p.push(write_ws_cell_sylk(cell, ws, R, C, opts)); // TODO: pass date1904 info - } - o.push(p.join(RS)); - } + + delete opts._formats; return preamble.join(RS) + RS + o.join(RS) + RS + "E" + RS; } @@ -6197,7 +6283,10 @@ var DIF = /*#__PURE__*/(function() { if(data === 'TRUE') arr[R][C] = true; else if(data === 'FALSE') arr[R][C] = false; else if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value); - else if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value); + else if(!isNaN(fuzzydate(value).getDate())) { + arr[R][C] = parseDate(value); + if(!(opts && opts.UTC)) { arr[R][C] = utc_to_local(arr[R][C]); } + } else arr[R][C] = value; ++C; break; case 1: @@ -6478,9 +6567,11 @@ var PRN = /*#__PURE__*/(function() { var start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0); var _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null; function finish_cell() { + /* TODO: fuzzy parsers should pass back assumed number format */ var s = str.slice(start, end); if(s.slice(-1) == "\r") s = s.slice(0, -1); var cell = ({}/*:any*/); if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"'); + if(o.cellText !== false) cell.w = s; if(s.length === 0) cell.t = 'z'; else if(o.raw) { cell.t = 's'; cell.v = s; } else if(s.trim().length === 0) { cell.t = 's'; cell.v = s; } @@ -6490,14 +6581,14 @@ var PRN = /*#__PURE__*/(function() { else { cell.t = 's'; cell.v = s; } } else if(s == "TRUE") { cell.t = 'b'; cell.v = true; } else if(s == "FALSE") { cell.t = 'b'; cell.v = false; } - else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; } + else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; cell.v = v; } else if(!isNaN((v = fuzzydate(s)).getDate()) || _re && s.match(_re)) { cell.z = o.dateNF || table_fmt[14]; - var k = 0; - if(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; v = parseDate(s, k); } + if(_re && s.match(_re)){ var news=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); v = parseDate(news); if(o && o.UTC === false) v = utc_to_local(v); } + else if(o && o.UTC === false) v = utc_to_local(v); + else if(o.cellText !== false && o.dateNF) cell.w = SSF_format(cell.z, v); if(o.cellDates) { cell.t = 'd'; cell.v = v; } else { cell.t = 'n'; cell.v = datenum(v); } - if(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v); if(!o.cellNF) delete cell.z; } else { cell.t = 's'; @@ -7821,7 +7912,45 @@ function parse_drawing(data, rels/*:any*/) { } /* L.5.5.2 SpreadsheetML Comments + VML Schema */ -function write_vml(rId/*:number*/, comments) { +var shapevmlregex = /<(?:\w+:)?shape(?:[^\w][^>]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g; +function parse_vml(data/*:string*/, sheet, comments) { + var cidx = 0; + (data.match(shapevmlregex)||[]).forEach(function(m) { + var type = ""; + var hidden = true; + var aidx = -1; + var R = -1, C = -1; + m.replace(tagregex, function(x/*:string*/, idx/*:number*/) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': hidden = false; break; + + case '': aidx = idx + x.length; break; + case '': R = +m.slice(aidx, idx).trim(); break; + + case '': aidx = idx + x.length; break; + case '': C = +m.slice(aidx, idx).trim(); break; + } + return ""; + }); + switch(type) { + case 'Note': + var cell = ws_get_cell_stub(sheet, ((R>=0 && C>=0) ? encode_cell({r:R,c:C}) : comments[cidx].ref)); + if(cell.c) { + cell.c.hidden = hidden; + } + ++cidx; + break; + } + + }); +} + + +/* comment boxes */ +function write_vml(rId/*:number*/, comments, ws) { var csize = [21600, 21600]; /* L.5.2.1.2 Path Attribute */ var bbox = ["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(","); @@ -7843,7 +7972,7 @@ function write_vml(rId/*:number*/, comments) { return o.join(""); } -function write_vml_comment(x, _shapeid)/*:string*/ { +function write_vml_comment(x, _shapeid, ws)/*:string*/ { var c = decode_cell(x[0]); var fillopts = /*::(*/{'color2':"#BEFF82", 'type':"gradient"}/*:: :any)*/; if(fillopts.type == "gradient") fillopts.angle = "-180"; @@ -7981,6 +8110,7 @@ function write_comments_xml(data/*::, opts*/) { o.push(''); }); } else { + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); /* based on Threaded Comments -> Comments projection */ o.push(''); var t = "Comment:\n " + (ts[0]) + "\n"; @@ -8219,7 +8349,7 @@ function ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ { } function csf_to_ods_3D(r/*:string*/)/*:string*/ { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } var strs = {}; // shared strings @@ -8305,7 +8435,7 @@ function get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) { return len; } -function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) { +function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -8320,14 +8450,14 @@ function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, the else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; @@ -8407,7 +8537,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -8427,6 +8557,10 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro var margins = data2.match(marginregex); if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); + /* legacyDrawing */ + var m; + if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; + if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -8443,6 +8577,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro } if(columns.length > 0) s["!cols"] = columns; if(merges.length > 0) s["!merges"] = merges; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } @@ -8609,21 +8744,27 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { +function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts, idx, wb, date1904)/*:string*/ { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { case 'b': vv = cell.v ? "1" : "0"; break; - case 'n': vv = ''+cell.v; break; + case 'n': + if(isNaN(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x24]; } // #NUM! + else if(!isFinite(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x07]; } // #DIV/0! + else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -8666,7 +8807,7 @@ var parse_ws_xml_data = /*#__PURE__*/(function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) { +return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles, wb) { var ri = 0, x = "", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -8677,6 +8818,7 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th var dense = s["!data"] != null; var rows/*:Array*/ = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -8744,19 +8886,27 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th if((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]); if(opts.cellFormula) { - if((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') { - /* TODO: match against XLSXFutureFunctions */ - p.f=unescapexml(utf8read(cref[1]), true); - if(!opts.xlfn) p.f = _xlfn(p.f); - if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { - p.F = (d.match(refregex)||[])[1]; - if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); - } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { - // TODO: parse formula - ftag = parsexmltag(cref[0]); - var ___f = unescapexml(utf8read(cref[1])); - if(!opts.xlfn) ___f = _xlfn(___f); - sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + if((cref=d.match(match_f))!= null /*:: && cref != null*/) { + if(cref[1] == "") { + if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r); + } + } else { + /* TODO: match against XLSXFutureFunctions */ + p.f=unescapexml(utf8read(cref[1]), true); + if(!opts.xlfn) p.f = _xlfn(p.f); + if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + var ___f = unescapexml(utf8read(cref[1])); + if(!opts.xlfn) ___f = _xlfn(___f); + sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + } } } else if((cref=d.match(/]*\/>/))) { ftag = parsexmltag(cref[0]); @@ -8813,8 +8963,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -8833,8 +8983,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -8859,6 +9009,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook var o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -8867,7 +9018,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}/*:any*/); @@ -9600,9 +9751,11 @@ function html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ { else if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)}; else if(!isNaN(fuzzydate(m).getDate())) { o = ({t:'d', v:parseDate(m)}/*:any*/); + if(opts.UTC === false) o.v = utc_to_local(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } + if(o.cellText !== false) o.w = m; if(dense) { if(!ws["!data"][R]) ws["!data"][R] = []; ws["!data"][R][C] = o; } else ws[encode_cell({r:R, c:C})] = o; C += CS; @@ -9636,7 +9789,8 @@ function make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HT if(o.editable) w = '' + w + ''; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -9742,6 +9896,7 @@ function sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/ else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}/*:any*/); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } @@ -10046,8 +10201,8 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { var ws = ({}/*:any*/); if(opts.dense) ws["!data"] = []; var Rn, q/*:: :any = ({t:"", v:null, z:null, w:"",c:[],}:any)*/; var ctag = ({value:""}/*:any*/); - var textp = "", textpidx = 0, textptag/*:: = {}*/; - var textR = []; + var textp = "", textpidx = 0, textptag/*:: = {}*/, oldtextp = "", oldtextpidx = 0; + var textR = [], oldtextR = []; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var row_ol = 0; var number_format_map = _nfm || {}, styles = {}; @@ -10061,7 +10216,6 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -10132,7 +10286,7 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { C+= colpeat-1; } else if(Rn[1]!=='/') { ++C; - textp = ""; textpidx = 0; textR = []; + textp = oldtextp = ""; textpidx = oldtextpidx = 0; textR = []; oldtextR = []; colpeat = 1; var rptR = rowpeat ? R + rowpeat - 1 : R; if(C > range.e.c) range.e.c = C; @@ -10168,19 +10322,23 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -10241,10 +10399,17 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { if(textR.length) /*::(*/comment/*:: :any)*/.R = textR; comment.a = creator; comments.push(comment); + textp = oldtextp; textpidx = oldtextpidx; textR = oldtextR; + } + else if(Rn[0].charAt(Rn[0].length-2) !== '/') { + state.push([Rn[3], false]); + var annotag = parsexmltag(Rn[0], true); + /* office:display TODO: check if there is a global override */ + if(!(annotag["display"] && parsexmlbool(annotag["display"]))) comments.hidden = true; + oldtextp = textp; oldtextpidx = textpidx; oldtextR = textR; + textp = ""; textpidx = 0; textR = []; } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);} creator = ""; creatoridx = 0; - textp = ""; textpidx = 0; textR = []; break; case 'creator': // 4.3.2.7 @@ -10370,9 +10535,7 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; @@ -10394,6 +10557,9 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { if(Rn[1]==='/' && (!ctag || !ctag['string-value'])) { var ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag); textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0]; + } else if(Rn[0].slice(-2) == "/>") { + /* TODO: is self-closing 文本串 valid? */ + textp += "\n"; } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; } break; // case 's': break; // @@ -10678,7 +10844,9 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -10705,7 +10873,7 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -10761,10 +10929,15 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -10783,8 +10956,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function }; var null_cell_xml = ' \n'; - var covered_cell_xml = ' \n'; - var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs)/*:string*/ { + var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs, date1904)/*:string*/ { /* Section 9 Tables */ var o/*:Array*/ = []; o.push(' \n'); @@ -10815,7 +10987,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function ct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1); break; } - if(skip) { o.push(covered_cell_xml); continue; } + if(skip) { o.push(' \n'); continue; } var ref = encode_cell({r:R, c:C}), cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(cell && cell.f) { ct['table:formula'] = escapexml(csf_to_ods_formula(cell.f)); @@ -10844,13 +11016,13 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; - //case 'e': - default: o.push(null_cell_xml); continue; + //case 'e': // TODO: translate to ODS errors + default: o.push(null_cell_xml); continue; // TODO: empty cell with comments } var text_p = write_text_p(textp); if(cell.l && cell.l.Target) { @@ -10861,7 +11033,17 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function text_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, "&")}); } if(nfs[cell.z]) ct["table:style-name"] = "ce" + nfs[cell.z].slice(1); - o.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\n'); + var payload = writextag('text:p', text_p, {}); + if(cell.c) { + var acreator = "", apayload = "", aprops = {}; + for(var ci = 0; ci < cell.c.length; ++ci) { + if(!acreator && cell.c[ci].a) acreator = cell.c[ci].a; + apayload += "" + write_text_p(cell.c[ci].t) + ""; + } + if(!cell.c.hidden) aprops["office:display"] = true; + payload = writextag('office:annotation', apayload, aprops) + payload; + } + o.push(' ' + writextag('table:table-cell', payload, ct) + '\n'); } o.push(' \n'); } @@ -11006,7 +11188,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); @@ -11120,6 +11302,13 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } +function parse_sheet_legacy_drawing(sheet, type, zip, path, idx, opts, wb, comments) { + if(!sheet || !sheet['!legdrawel']) return; + var dfile = resolve_path(sheet['!legdrawel'].Target, path); + var draw = getzipstr(zip, dfile, true); + if(draw) parse_vml(utf8read(draw), sheet, comments||[]); +} + 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); @@ -11158,6 +11347,7 @@ function safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/ } }); if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); + parse_sheet_legacy_drawing(_ws, stype, zip, path, idx, opts, wb, comments); } catch(e) { if(opts.WTF) throw e; } } @@ -11460,6 +11650,9 @@ function write_zip_xlsb(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]]; @@ -11479,6 +11672,17 @@ function write_zip_xlsb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { var need_vml = false; var cf = ""; if(comments && comments.length > 0) { + 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 + ".xml"; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + ".xml", RELS.TCMNT); + } + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_bin(comments, opts)); ct.comments.push(cf); @@ -11534,6 +11738,13 @@ function write_zip_xlsb(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)); @@ -12047,7 +12258,7 @@ function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Ar } if(!dense || sheet["!data"][R]) for (var C = r.s.c; C <= r.e.c; ++C) { var val = dense ? (sheet["!data"][R]||[])[C] : sheet[cols[C] + rr]; - if(val === undefined || val.t === undefined) { + if(val == null || val.t === undefined) { if(defval === undefined) continue; if(hdr[C] != null) { row[hdr[C]] = defval; } continue; @@ -12056,7 +12267,12 @@ function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Ar switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -12266,6 +12482,7 @@ function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); } diff --git a/xlsx.mini.js b/xlsx.mini.js index 974b568..57a76e8 100644 --- a/xlsx.mini.js +++ b/xlsx.mini.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, DataView:false, Deno:false */ +/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false, Float32Array:false */ var XLSX = {}; function make_xlsx_lib(XLSX){ -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; var current_codepage = 1200, current_ansi = 1252; /*global cptable:true, window */ var $cptable; @@ -134,6 +134,26 @@ function Base64_encode_pass(input) { } return o; } +function Base64_encode_arr(input) { + var o = ""; + var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; + for (var i = 0; i < input.length; ) { + c1 = input[i++]; + e1 = c1 >> 2; + c2 = input[i++]; + e2 = (c1 & 3) << 4 | c2 >> 4; + c3 = input[i++]; + e3 = (c2 & 15) << 2 | c3 >> 6; + e4 = c3 & 63; + if (isNaN(c2)) { + e3 = e4 = 64; + } else if (isNaN(c3)) { + e4 = 64; + } + o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4); + } + return o; +} function Base64_decode(input) { var o = ""; var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; @@ -474,15 +494,6 @@ function SSF_parse_date_code(v,opts,b2) { out.q = dow; return out; } -var SSFbasedate = new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = SSFbasedate.getTime(); -var SSFbase1904 = new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v, date1904) { - var epoch = v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (v.getTimezoneOffset() - SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -540,7 +551,7 @@ function SSF_general(v, opts) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -1222,7 +1233,7 @@ function SSF_format(fmt,v,o) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; @@ -1305,6 +1316,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF) { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str, dateNF, match) { @@ -1317,6 +1329,7 @@ function dateNF_fix(str, dateNF, match) { case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; @@ -3202,7 +3215,7 @@ if(typeof saveAs !== 'undefined') return saveAs(blob, fname); var url = URL.createObjectURL(blob); if(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == "function") { if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); - return chrome.downloads.download({ url: url, filename: fname, saveAs: true}); + return chrome.downloads.download({ url: url, filename: fname, saveAs: true }); } var a = document.createElement("a"); if(a.download != null) { @@ -3211,6 +3224,10 @@ document.body.removeChild(a); if(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000); return url; } + } else if(typeof URL !== 'undefined' && !URL.createObjectURL && typeof chrome === 'object') { + /* manifest v3 extensions -- no URL.createObjectURL */ + var b64 = "data:application/octet-stream;base64," + Base64_encode_arr(new Uint8Array(blobify(data))); + return chrome.downloads.download({ url: b64, filename: fname, saveAs: true }); } } // $FlowIgnore @@ -3269,22 +3286,19 @@ function evert_arr(obj) { return o; } -var basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v, date1904) { var epoch = v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = basedate.getTime() + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = new Date(); -var dnthresh = basedate.getTime() + (refdate.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000; -var refoffset = refdate.getTimezoneOffset(); function numdate(v) { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -3315,27 +3329,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = isNaN(good_pd_date_1.getFullYear()) ? new Date('2/19/17') : good_pd_date_1; -var good_pd = good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str, fixdate) { - var d = new Date(str); - if(good_pd) { -if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str, date1904) { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr, debomit) { @@ -3366,8 +3375,18 @@ function cc2str(arr, debomit) { return new TextDecoder("latin1").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; }); } catch(e) {} - var o = []; - for(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + var o = [], i = 0; + // this cascade is for the browsers and runtimes of antiquity (and for modern runtimes that lack TextEncoder) + try { + for(i = 0; i < arr.length - 65536; i+=65536) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 65536))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { try { + for(; i < arr.length - 16384; i+=16384) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 16384))); + o.push(String.fromCharCode.apply(0, arr.slice(i))); + } catch(e) { + for(; i != arr.length; ++i) o.push(String.fromCharCode(arr[i])); + } + } return o.join(""); } @@ -3397,32 +3416,49 @@ function fuzzynum(s) { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s) { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -3435,6 +3471,13 @@ var split_regex = (function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} function getdatastr(data) { if(!data) return null; if(data.content && data.type) return cc2str(data.content, true); @@ -4354,6 +4397,7 @@ function sheet_add_aoa(_ws, data, opts) { else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } @@ -5619,7 +5663,10 @@ var fields = [], field = ({}); if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -5642,7 +5689,12 @@ var fields = [], field = ({}); // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -5845,6 +5897,8 @@ var SYLK = (function() { var sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == "number" ? _getansi(o) : o; }; var decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); }; sylk_escapes["|"] = 254; + /* TODO: evert the escape map */ + var encode_sylk_str = function($$) { return $$.replace(/\n/g, "\x1b :").replace(/\r/g, "\x1b ="); }; /* https://oss.sheetjs.com/notes/sylk/ for more details */ function sylk_to_aoa(d, opts) { switch(opts.type) { @@ -5897,8 +5951,9 @@ var SYLK = (function() { // case 'NU': // ?? case 'C': /* cell */ var C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1, formula = "", cell_t = "z"; + var cmnt = ""; for(rj=1; rj]*)?>([\s\S]*?)<\/(?:\w+:)?shape>/g; +function parse_vml(data, sheet, comments) { + var cidx = 0; + (data.match(shapevmlregex)||[]).forEach(function(m) { + var type = ""; + var hidden = true; + var aidx = -1; + var R = -1, C = -1; + m.replace(tagregex, function(x, idx) { + var y = parsexmltag(x); + switch(strip_ns(y[0])) { + case '': hidden = false; break; + + case '': aidx = idx + x.length; break; + case '': R = +m.slice(aidx, idx).trim(); break; + + case '': aidx = idx + x.length; break; + case '': C = +m.slice(aidx, idx).trim(); break; + } + return ""; + }); + switch(type) { + case 'Note': + var cell = ws_get_cell_stub(sheet, ((R>=0 && C>=0) ? encode_cell({r:R,c:C}) : comments[cidx].ref)); + if(cell.c) { + cell.c.hidden = hidden; + } + ++cidx; + break; + } + + }); +} + + +/* comment boxes */ +function write_vml(rId, comments, ws) { var csize = [21600, 21600]; /* L.5.2.1.2 Path Attribute */ var bbox = ["m0,0l0",csize[1],csize[0],csize[1],csize[0],"0xe"].join(","); @@ -7757,7 +7887,7 @@ function write_vml(rId, comments) { return o.join(""); } -function write_vml_comment(x, _shapeid) { +function write_vml_comment(x, _shapeid, ws) { var c = decode_cell(x[0]); var fillopts = {'color2':"#BEFF82", 'type':"gradient"}; if(fillopts.type == "gradient") fillopts.angle = "-180"; @@ -7895,6 +8025,7 @@ function write_comments_xml(data) { o.push(''); }); } else { + if(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf("tc=" + d[1][0].ID); /* based on Threaded Comments -> Comments projection */ o.push(''); var t = "Comment:\n " + (ts[0]) + "\n"; @@ -8133,7 +8264,7 @@ function ods_to_csf_3D(r) { } function csf_to_ods_3D(r) { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } var strs = {}; // shared strings @@ -8219,7 +8350,7 @@ function get_cell_style(styles, cell, opts) { return len; } -function safe_format(p, fmtid, fillid, opts, themes, styles) { +function safe_format(p, fmtid, fillid, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -8234,14 +8365,14 @@ function safe_format(p, fmtid, fillid, opts, themes, styles) { else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; @@ -8321,7 +8452,7 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -8341,6 +8472,10 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { var margins = data2.match(marginregex); if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); + /* legacyDrawing */ + var m; + if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; + if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; if(!s["!ref"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s["!ref"] = encode_range(refguess); if(opts.sheetRows > 0 && s["!ref"]) { @@ -8357,6 +8492,7 @@ function parse_ws_xml(data, opts, idx, rels, wb, themes, styles) { } if(columns.length > 0) s["!cols"] = columns; if(merges.length > 0) s["!merges"] = merges; + if(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']]; return s; } @@ -8523,21 +8659,27 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb) { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell, ref, ws, opts) { +function write_ws_xml_cell(cell, ref, ws, opts, idx, wb, date1904) { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; var oldt = cell.t, oldv = cell.v; if(cell.t !== "z") switch(cell.t) { case 'b': vv = cell.v ? "1" : "0"; break; - case 'n': vv = ''+cell.v; break; + case 'n': + if(isNaN(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x24]; } // #NUM! + else if(!isFinite(cell.v)) { cell.t = "e"; vv = BErr[cell.v = 0x07]; } // #DIV/0! + else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -8580,7 +8722,7 @@ var parse_ws_xml_data = (function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { +return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles, wb) { var ri = 0, x = "", cells = [], cref = [], idx=0, i=0, cc=0, d="", p; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -8591,6 +8733,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { var dense = s["!data"] != null; var rows = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -8658,19 +8801,27 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); if(opts.cellFormula) { - if((cref=d.match(match_f))!= null && cref[1] !== '') { - /* TODO: match against XLSXFutureFunctions */ - p.f=unescapexml(utf8read(cref[1]), true); - if(!opts.xlfn) p.f = _xlfn(p.f); - if(cref[0].indexOf('t="array"') > -1) { - p.F = (d.match(refregex)||[])[1]; - if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); - } else if(cref[0].indexOf('t="shared"') > -1) { - // TODO: parse formula - ftag = parsexmltag(cref[0]); - var ___f = unescapexml(utf8read(cref[1])); - if(!opts.xlfn) ___f = _xlfn(___f); - sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + if((cref=d.match(match_f))!= null ) { + if(cref[1] == "") { + if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r); + } + } else { + /* TODO: match against XLSXFutureFunctions */ + p.f=unescapexml(utf8read(cref[1]), true); + if(!opts.xlfn) p.f = _xlfn(p.f); + if(cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + var ___f = unescapexml(utf8read(cref[1])); + if(!opts.xlfn) ___f = _xlfn(___f); + sharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r]; + } } } else if((cref=d.match(/]*\/>/))) { ftag = parsexmltag(cref[0]); @@ -8727,8 +8878,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) { break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -8747,8 +8898,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -8773,6 +8924,7 @@ function write_ws_xml_data(ws, opts, idx, wb) { var o = [], r = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}), row, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -8781,7 +8933,7 @@ function write_ws_xml_data(ws, opts, idx, wb) { ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}); @@ -9512,9 +9664,11 @@ function html_to_sheet(str, _opts) { else if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)}; else if(!isNaN(fuzzydate(m).getDate())) { o = ({t:'d', v:parseDate(m)}); + if(opts.UTC === false) o.v = utc_to_local(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}); o.z = opts.dateNF || table_fmt[14]; } + if(o.cellText !== false) o.w = m; if(dense) { if(!ws["!data"][R]) ws["!data"][R] = []; ws["!data"][R][C] = o; } else ws[encode_cell({r:R, c:C})] = o; C += CS; @@ -9548,7 +9702,8 @@ function make_html_row(ws, r, R, o) { if(o.editable) w = '' + w + ''; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -9654,6 +9809,7 @@ function sheet_add_dom(ws, table, _opts) { else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}); o.z = opts.dateNF || table_fmt[14]; } @@ -9958,8 +10114,8 @@ function parse_content_xml(d, _opts, _nfm) { var ws = ({}); if(opts.dense) ws["!data"] = []; var Rn, q; var ctag = ({value:""}); - var textp = "", textpidx = 0, textptag; - var textR = []; + var textp = "", textpidx = 0, textptag, oldtextp = "", oldtextpidx = 0; + var textR = [], oldtextR = []; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var row_ol = 0; var number_format_map = _nfm || {}, styles = {}; @@ -9973,7 +10129,6 @@ function parse_content_xml(d, _opts, _nfm) { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -10044,7 +10199,7 @@ function parse_content_xml(d, _opts, _nfm) { C+= colpeat-1; } else if(Rn[1]!=='/') { ++C; - textp = ""; textpidx = 0; textR = []; + textp = oldtextp = ""; textpidx = oldtextpidx = 0; textR = []; oldtextR = []; colpeat = 1; var rptR = rowpeat ? R + rowpeat - 1 : R; if(C > range.e.c) range.e.c = C; @@ -10080,19 +10235,23 @@ function parse_content_xml(d, _opts, _nfm) { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -10153,10 +10312,17 @@ function parse_content_xml(d, _opts, _nfm) { if(textR.length) comment.R = textR; comment.a = creator; comments.push(comment); + textp = oldtextp; textpidx = oldtextpidx; textR = oldtextR; + } + else if(Rn[0].charAt(Rn[0].length-2) !== '/') { + state.push([Rn[3], false]); + var annotag = parsexmltag(Rn[0], true); + /* office:display TODO: check if there is a global override */ + if(!(annotag["display"] && parsexmlbool(annotag["display"]))) comments.hidden = true; + oldtextp = textp; oldtextpidx = textpidx; oldtextR = textR; + textp = ""; textpidx = 0; textR = []; } - else if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);} creator = ""; creatoridx = 0; - textp = ""; textpidx = 0; textR = []; break; case 'creator': // 4.3.2.7 @@ -10282,9 +10448,7 @@ function parse_content_xml(d, _opts, _nfm) { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; @@ -10306,6 +10470,9 @@ function parse_content_xml(d, _opts, _nfm) { if(Rn[1]==='/' && (!ctag || !ctag['string-value'])) { var ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag); textp = (textp.length > 0 ? textp + "\n" : "") + ptp[0]; + } else if(Rn[0].slice(-2) == "/>") { + /* TODO: is self-closing 文本串 valid? */ + textp += "\n"; } else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; } break; // case 's': break; // @@ -10590,7 +10757,9 @@ function write_number_format_ods(nf, nfidx) { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -10617,7 +10786,7 @@ function write_number_format_ods(nf, nfidx) { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -10673,10 +10842,15 @@ function write_number_format_ods(nf, nfidx) { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -10695,8 +10869,7 @@ var write_content_ods = /* @__PURE__ */(function() { }; var null_cell_xml = ' \n'; - var covered_cell_xml = ' \n'; - var write_ws = function(ws, wb, i, opts, nfs) { + var write_ws = function(ws, wb, i, opts, nfs, date1904) { /* Section 9 Tables */ var o = []; o.push(' \n'); @@ -10727,7 +10900,7 @@ var write_content_ods = /* @__PURE__ */(function() { ct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1); break; } - if(skip) { o.push(covered_cell_xml); continue; } + if(skip) { o.push(' \n'); continue; } var ref = encode_cell({r:R, c:C}), cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(cell && cell.f) { ct['table:formula'] = escapexml(csf_to_ods_formula(cell.f)); @@ -10756,13 +10929,13 @@ var write_content_ods = /* @__PURE__ */(function() { ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; - //case 'e': - default: o.push(null_cell_xml); continue; + //case 'e': // TODO: translate to ODS errors + default: o.push(null_cell_xml); continue; // TODO: empty cell with comments } var text_p = write_text_p(textp); if(cell.l && cell.l.Target) { @@ -10773,7 +10946,17 @@ var write_content_ods = /* @__PURE__ */(function() { text_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, "&")}); } if(nfs[cell.z]) ct["table:style-name"] = "ce" + nfs[cell.z].slice(1); - o.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\n'); + var payload = writextag('text:p', text_p, {}); + if(cell.c) { + var acreator = "", apayload = "", aprops = {}; + for(var ci = 0; ci < cell.c.length; ++ci) { + if(!acreator && cell.c[ci].a) acreator = cell.c[ci].a; + apayload += "" + write_text_p(cell.c[ci].t) + ""; + } + if(!cell.c.hidden) aprops["office:display"] = true; + payload = writextag('office:annotation', apayload, aprops) + payload; + } + o.push(' ' + writextag('table:table-cell', payload, ct) + '\n'); } o.push(' \n'); } @@ -10918,7 +11101,7 @@ var write_content_ods = /* @__PURE__ */(function() { o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); @@ -11032,6 +11215,13 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } +function parse_sheet_legacy_drawing(sheet, type, zip, path, idx, opts, wb, comments) { + if(!sheet || !sheet['!legdrawel']) return; + var dfile = resolve_path(sheet['!legdrawel'].Target, path); + var draw = getzipstr(zip, dfile, true); + if(draw) parse_vml(utf8read(draw), sheet, comments||[]); +} + function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); @@ -11070,6 +11260,7 @@ function safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, st } }); if(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []); + parse_sheet_legacy_drawing(_ws, stype, zip, path, idx, opts, wb, comments); } catch(e) { if(opts.WTF) throw e; } } @@ -11369,6 +11560,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]]; @@ -11388,6 +11582,17 @@ f = "docProps/app.xml"; var need_vml = false; var cf = ""; if(comments && comments.length > 0) { + 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 + ".xml"; + zip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts)); + ct.threadedcomments.push(cf); + add_rels(wsrels, -1, "../threadedComments/threadedComment" + rId + ".xml", RELS.TCMNT); + } + cf = "xl/comments" + rId + "." + wbext; zip_add_file(zip, cf, write_comments_bin(comments, opts)); ct.comments.push(cf); @@ -11443,6 +11648,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)); @@ -11948,7 +12160,7 @@ function make_json_row(sheet, r, R, cols, header, hdr, o) { } if(!dense || sheet["!data"][R]) for (var C = r.s.c; C <= r.e.c; ++C) { var val = dense ? (sheet["!data"][R]||[])[C] : sheet[cols[C] + rr]; - if(val === undefined || val.t === undefined) { + if(val == null || val.t === undefined) { if(defval === undefined) continue; if(hdr[C] != null) { row[hdr[C]] = defval; } continue; @@ -11957,7 +12169,12 @@ function make_json_row(sheet, r, R, cols, header, hdr, o) { switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -12167,6 +12384,7 @@ function sheet_add_json(_ws, js, opts) { else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); } diff --git a/xlsx.mjs b/xlsx.mjs index ad2c8a4..5fb344f 100644 --- a/xlsx.mjs +++ b/xlsx.mjs @@ -3,7 +3,7 @@ /*exported XLSX */ /*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */ var XLSX = {}; -XLSX.version = '0.19.3'; +XLSX.version = '0.20.0'; var current_codepage = 1200, current_ansi = 1252; /*:: declare var cptable:any; */ /*global cptable:true, window */ @@ -513,15 +513,6 @@ function SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { out.q = dow; return out; } -var SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0); -var SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime(); -var SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0); -function datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1461*24*60*60*1000; - else if(v >= SSFbase1904) epoch += 24*60*60*1000; - return (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000); -} /* ECMA-376 18.8.30 numFmt*/ /* Note: `toPrecision` uses standard form when prec > E and E >= -6 */ /* exponent >= -9 and <= 9 */ @@ -579,7 +570,7 @@ function SSF_general(v/*:any*/, opts/*:any*/) { case 'undefined': return ""; case 'object': if(v == null) return ""; - if(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts); + if(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts); } throw new Error("unsupported value in General format: " + v); } @@ -1267,7 +1258,7 @@ function SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { break; } if(SSF_isgeneral(sfmt,0)) return SSF_general(v, o); - if(v instanceof Date) v = datenum_local(v, o.date1904); + if(v instanceof Date) v = datenum(v, o.date1904); var f = choose_fmt(sfmt, v); if(SSF_isgeneral(f[1])) return SSF_general(v, o); if(v === true) v = "TRUE"; else if(v === false) v = "FALSE"; @@ -1354,6 +1345,7 @@ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { var fmt = typeof dateNF == "number" ? table_fmt[dateNF] : dateNF; fmt = fmt.replace(dateNFregex, "(\\d+)"); + dateNFregex.lastIndex = 0; return new RegExp("^" + fmt + "$"); } function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ { @@ -1366,6 +1358,7 @@ function dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/ case 'm': if(H >= 0) M = v; else m = v; break; } }); + dateNFregex.lastIndex = 0; if(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; } var datestr = (("" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + "-" + ("00" + (m>=1?m:1)).slice(-2) + "-" + ("00" + (d>=1?d:1)).slice(-2)); if(datestr.length == 7) datestr = "0" + datestr; @@ -3365,22 +3358,19 @@ function evert_arr(obj/*:any*/)/*:EvertArrType*/ { return o; } -var basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000 +var dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000 +var dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000 +var dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000 function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { var epoch = /*#__PURE__*/v.getTime(); - if(date1904) epoch -= 1462*24*60*60*1000; - var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; - return (epoch - dnthresh) / (24 * 60 * 60 * 1000); + var res = (epoch - dnthresh) / (24 * 60 * 60 * 1000); + if(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; } + return res < 60 ? res - 1 : res; } -var refdate = /*#__PURE__*/new Date(); -var dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000; -var refoffset = /*#__PURE__*/refdate.getTimezoneOffset(); -function numdate(v/*:number*/)/*:Date*/ { +function numdate(v/*:number*/)/*:Date|number*/ { + if(v >= 60 && v < 61) return v; var out = new Date(); - out.setTime(v * 24 * 60 * 60 * 1000 + dnthresh); - if (out.getTimezoneOffset() !== refoffset) { - out.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000); - } + out.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh); return out; } @@ -3411,28 +3401,22 @@ function parse_isodur(s) { return sec; } -var good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z'); -var good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1; -var good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017; -/* parses a date as a local date */ -function parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ { - var d = new Date(str); - if(good_pd) { - /*:: if(fixdate == null) fixdate = 0; */ - if(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000); - else if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000); - return d; - } +/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */ +var pdre1 = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/; // HH:MM[:SS[.UUU]] +var pdre2 = /^(\d+)-(\d+)-(\d+)$/; // YYYY-mm-dd +var pdre3 = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans "Z" +/* parses a date string as a UTC date */ +function parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ { if(str instanceof Date) return str; - if(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) { - var s = d.getFullYear(); - if(str.indexOf("" + s) > -1) return d; - d.setFullYear(d.getFullYear() + 100); return d; - } - var n = str.match(/\d+/g)||["2017","2","19","0","0","0"]; - var out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0)); - if(str.indexOf("Z") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000); - return out; + var m = str.match(pdre1); + if(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+"000").slice(1,4), 10) : 0)); + m = str.match(pdre2); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0)); + /* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */ + m = str.match(pdre3); + if(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt(m[7].slice(1), 10))||0))); + var d = new Date(str); + return d; } function cc2str(arr/*:Array*/, debomit)/*:string*/ { @@ -3504,32 +3488,49 @@ function fuzzynum(s/*:string*/)/*:number*/ { /* NOTE: Chrome rejects bare times like 1:23 PM */ var FDRE1 = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/; +var FDRE2 = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/; +var FDISO = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z] +/* TODO: 1904 adjustment */ +var utc_append_works = new Date("6/9/69 00:00 UTC").valueOf() == -17798400000; function fuzzytime1(M) /*:Date*/ { - /* TODO: 1904 adjustment, keep in sync with base date */ - if(!M[2]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0); - if(M[3]) { - if(M[4]) return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000); - else return new Date(1899,11,30,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000); - } - else if(M[5]) return new Date(1899,11,30, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0); - else return new Date(1899,11,30,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0); + if(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,(M[7] == "p" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == "p" ? 12 : 0), +M[2], 0, 0)); +} +function fuzzytime2(M) /*:Date*/ { + if(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0)); + if(M[3]) { + if(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000)); + else return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000)); + } + else if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0)); + else return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0)); } var lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']; function fuzzydate(s/*:string*/)/*:Date*/ { + // See issue 2863 -- this is technically not supported in Excel but is otherwise useful + if(FDISO.test(s)) return s.indexOf("Z") == -1 ? local_to_utc(new Date(s)) : new Date(s); var lower = s.toLowerCase(); var lnos = lower.replace(/\s+/g, " ").trim(); var M = lnos.match(FDRE1); if(M) return fuzzytime1(M); - - var o = new Date(s), n = new Date(NaN); + M = lnos.match(FDRE2); + if(M) return fuzzytime2(M); + M = lnos.match(pdre3); + if(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt(M[7].slice(1), 10))||0))); + var o = new Date(utc_append_works && s.indexOf("UTC") == -1 ? s + " UTC": s), n = new Date(NaN); var y = o.getYear(), m = o.getMonth(), d = o.getDate(); if(isNaN(d)) return n; if(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) { lower = lower.replace(/[^a-z]/g,"").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,""); if(lower.length > 3 && lower_months.indexOf(lower) == -1) return n; } else if(lower.replace(/[ap]m?/, "").match(/[a-z]/)) return n; - if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\]/)) return n; + if(y < 0 || y > 8099 || s.match(/[^-0-9:,\/\\\ ]/)) return n; return o; } @@ -3542,6 +3543,13 @@ var split_regex = /*#__PURE__*/(function() { return o; }; })(); + +function utc_to_local(utc) { + return new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds()); +} +function local_to_utc(local) { + return new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds())); +} function getdatastr(data)/*:?string*/ { if(!data) return null; if(data.content && data.type) return cc2str(data.content, true); @@ -4472,6 +4480,7 @@ function sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksh else if(typeof cell.v === 'boolean') cell.t = 'b'; else if(cell.v instanceof Date) { cell.z = o.dateNF || table_fmt[14]; + if(!o.UTC) cell.v = local_to_utc(cell.v); if(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); } else { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); } } @@ -6599,11 +6608,22 @@ function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3 /* [MS-XLS] 2.5.19 */ -function parse_XLSCell(blob/*::, length*/)/*:Cell*/ { +function parse_XLSCell(blob, length, opts)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); - var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}/*:any*/); + var ret = ({r:rw, c:col, ixfe:0}/*:any*/); + if(opts && opts.biff == 2 || length == 7) { + /* TODO: pass back flags */ + var flags = blob.read_shift(1); + ret.ixfe = flags & 0x3F; + blob.l += 2; + /* + var ifntifmt = blob.read_shift(1); + var ifmt = ifntifmt & 0x3f, ifnt = ifntifmt >> 6; + var flags3 = blob.read_shift(1); + */ + } else ret.ixfe = blob.read_shift(2); + return ret; } function write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) { if(!o) o = new_buf(6); @@ -6828,6 +6848,12 @@ function parse_WsBool(blob, length, opts) { /* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { + var name = ""; + if(opts.biff == 4) { + name = parse_ShortXLUnicodeString(blob, 0, opts); + if(name.length === 0) name = "Sheet1"; + return { name:name }; + } var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; var dt = blob.read_shift(1); @@ -6837,7 +6863,7 @@ function parse_BoundSheet8(blob, length, opts) { case 2: dt = 'Chartsheet'; break; case 6: dt = 'VBAModule'; break; } - var name = parse_ShortXLUnicodeString(blob, 0, opts); + name = parse_ShortXLUnicodeString(blob, 0, opts); if(name.length === 0) name = "Sheet1"; return { pos:pos, hs:hidden, dt:dt, name:name }; } @@ -7008,8 +7034,8 @@ function write_Font(data, opts) { } /* [MS-XLS] 2.4.149 */ -function parse_LabelSst(blob) { - var cell = parse_XLSCell(blob); +function parse_LabelSst(blob, length, opts) { + var cell = parse_XLSCell(blob, length, opts); cell.isst = blob.read_shift(4); return cell; } @@ -7024,8 +7050,7 @@ function write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ function parse_Label(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; var target = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) blob.l++; + var cell = parse_XLSCell(blob, length, opts); var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; @@ -7059,6 +7084,19 @@ function write_Format(i/*:number*/, f/*:string*/, opts, o) { return out; } var parse_BIFF2Format = parse_XLUnicodeString2; +function write_BIFF2Format(f/*:string*/) { + var o = new_buf(1 + f.length); + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} +function write_BIFF4Format(f/*:string*/) { + var o = new_buf(3 + f.length); + o.l += 2; + o.write_shift(1, f.length); + o.write_shift(f.length, f, "sbcs"); + return o; +} /* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { @@ -7182,6 +7220,44 @@ function write_XF(data, ixfeP, opts, o) { o.write_shift(2, 0); return o; } +function parse_BIFF2XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); blob.l++; o.flags = blob.read_shift(1); + o.numFmtId = o.flags & 0x3F; o.flags>>=6; + o.fStyle = 0; + o.data = {}; // TODO + return o; +} +function write_BIFF2XF(xf) { + var o = new_buf(4); + o.l+=2; + o.write_shift(1, xf.numFmtId); + o.l++; + return o; +} +function write_BIFF3XF(xf) { + var o = new_buf(12); + o.l++; + o.write_shift(1, xf.numFmtId); + o.l += 10; + return o; +} +/* TODO: check other fields */ +var write_BIFF4XF = write_BIFF3XF; +function parse_BIFF3XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} +function parse_BIFF4XF(blob/*::, length, opts*/) { + var o = {}; + o.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2); + o.fStyle = (o.flags >> 2) & 0x01; + o.data = {}; // TODO + return o; +} /* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { @@ -7202,8 +7278,7 @@ function write_Guts(guts/*:Array*/) { /* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2 || length == 9) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_Bes(blob, 2); cell.val = val; cell.t = (val === true || val === false) ? 'b' : 'e'; @@ -7219,7 +7294,7 @@ function write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:s /* [MS-XLS] 2.4.180 Number */ function parse_Number(blob, length, opts) { if(opts.biffguess && opts.biff == 2) opts.biff = 5; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var xnum = parse_Xnum(blob, 8); cell.val = xnum; return cell; @@ -7629,43 +7704,50 @@ function parse_ImData(blob) { return o; } +function write_BIFF2Cell(out, r/*:number*/, c/*:number*/, ixfe/*:number*/, ifmt/*:number*/) { + if(!out) out = new_buf(7); + out.write_shift(2, r); + out.write_shift(2, c); + out.write_shift(1, ixfe||0/* & 0x3F */); + out.write_shift(1, ifmt||0/* & 0x3F */); + out.write_shift(1, 0); + return out; +} + /* BIFF2_??? where ??? is the name from [XLS] */ function parse_BIFF2STR(blob, length, opts) { if(opts.biffguess && opts.biff == 5) opts.biff = 2; - var cell = parse_XLSCell(blob, 6); - ++blob.l; + var cell = parse_XLSCell(blob, 7, opts); var str = parse_XLUnicodeString2(blob, length-7, opts); cell.t = 'str'; cell.val = str; return cell; } -function parse_BIFF2NUM(blob/*::, length*/) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2NUM(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = parse_Xnum(blob, 8); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) { +function write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/, ixfe, ifmt) { var out = new_buf(15); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(8, val, 'f'); return out; } -function parse_BIFF2INT(blob) { - var cell = parse_XLSCell(blob, 6); - ++blob.l; +function parse_BIFF2INT(blob, length, opts) { + var cell = parse_XLSCell(blob, 7, opts); var num = blob.read_shift(2); cell.t = 'n'; cell.val = num; return cell; } -function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) { +function write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/, ixfe/*:number*/, ifmt/*:number*/) { var out = new_buf(9); - write_BIFF2Cell(out, r, c); + write_BIFF2Cell(out, r, c, ixfe||0, ifmt||0); out.write_shift(2, val); return out; } @@ -7676,6 +7758,16 @@ function parse_BIFF2STRING(blob) { return blob.read_shift(cch, 'sbcs-cont'); } +function parse_BIFF2BOOLERR(blob, length, opts) { + var bestart = blob.l + 7; + var cell = parse_XLSCell(blob, 6, opts); + blob.l = bestart; + var val = parse_Bes(blob, 2); + cell.val = val; + cell.t = (val === true || val === false) ? 'b' : 'e'; + return cell; +} + /* TODO: convert to BIFF8 font struct */ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 6; // unknown @@ -7689,7 +7781,7 @@ function parse_BIFF2FONTXTRA(blob, length) { /* TODO: parse rich text runs */ function parse_RString(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); + var cell = parse_XLSCell(blob, 6, opts); var cch = blob.read_shift(2); var str = parse_XLUnicodeStringNoCch(blob, cch, opts); blob.l = end; @@ -7697,7 +7789,13 @@ function parse_RString(blob, length, opts) { cell.val = str; return cell; } -var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5]; + +function parse_BIFF4SheetInfo(blob/*::, length, opts*/) { + var flags = blob.read_shift(4); + var cch = blob.read_shift(1), name = blob.read_shift(cch, "sbcs"); + if(name.length === 0) name = "Sheet1"; + return { flags: flags, name:name }; +}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 */ @@ -7878,7 +7976,10 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { if(s.trim().length) out[R][C] = s.replace(/\s+$/,""); break; case 'D': - if(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8)); + if(s.length === 8) { + out[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0)); + if(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); } + } else out[R][C] = s; break; case 'F': out[R][C] = parseFloat(s.trim()); break; @@ -7901,7 +8002,12 @@ function dbf_to_aoa(buf, opts)/*:AOA*/ { // NOTE: dBASE specs appear to be incorrect 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 'T': { + var hi = dd.read_shift(4), lo = dd.read_shift(4); + if(hi == 0 && lo == 0) break; + out[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo); + if(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]); + } 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; } @@ -8172,10 +8278,9 @@ var SYLK = /*#__PURE__*/(function() { else if(val === 'TRUE' || val === 'FALSE') { val = val === 'TRUE'; cell_t = "b"; } else if(!isNaN(fuzzynum(val))) { val = fuzzynum(val); cell_t = "n"; - if(next_cell_format !== null && fmt_is_date(next_cell_format) && opts.cellDates) { val = numdate(wb.Workbook.WBProps.date1904 ? val + 1462 : val); cell_t = "d"; } - } else if(!isNaN(fuzzydate(val).getDate())) { - val = parseDate(val); cell_t = "d"; - if(!opts.cellDates) { cell_t = "n"; val = datenum(val, wb.Workbook.WBProps.date1904); } + if(next_cell_format !== null && fmt_is_date(next_cell_format) && opts.cellDates) { + val = numdate(wb.Workbook.WBProps.date1904 ? val + 1462 : val); cell_t = typeof val == "number" ? "n" : "d"; + } } if(typeof $cptable !== 'undefined' && typeof val == "string" && ((opts||{}).type != "string") && (opts||{}).codepage) val = $cptable.utils.decode(opts.codepage, val); C_seen_K = true; @@ -8276,7 +8381,7 @@ var SYLK = /*#__PURE__*/(function() { return outwb; } - function write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ { + function write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/)/*:string*/ { var o = "C;Y" + (R+1) + ";X" + (C+1) + ";K"; switch(cell.t) { case 'n': @@ -8284,7 +8389,7 @@ var SYLK = /*#__PURE__*/(function() { if(cell.f && !cell.F) o += ";E" + a1_to_rc(cell.f, {r:R, c:C}); break; case 'b': o += cell.v ? "TRUE" : "FALSE"; break; case 'e': o += cell.w || cell.v; break; - case 'd': o += '"' + (cell.w || cell.v) + '"'; break; + case 'd': o += datenum(parseDate(cell.v, date1904), date1904); break; case 's': o += '"' + (cell.v == null ? "" : String(cell.v)).replace(/"/g,"").replace(/;/g, ";;") + '"'; break; } return o; @@ -8321,6 +8426,7 @@ var SYLK = /*#__PURE__*/(function() { } function sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/, wb/*:?WorkBook*/)/*:string*/ { + if(!opts) opts = {}; opts._formats = ["General"]; /* TODO: codepage */ var preamble/*:Array*/ = ["ID;PSheetJS;N;E"], o/*:Array*/ = []; var r = safe_decode_range(ws['!ref']), cell/*:Cell*/; @@ -8328,34 +8434,44 @@ var SYLK = /*#__PURE__*/(function() { var RS = "\r\n"; var d1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; + var _lastfmt = "General"; preamble.push("P;PGeneral"); + /* Excel has been inconsistent in comment placement */ + var R = r.s.r, C = r.s.c, p = []; + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || !cell.c) continue; + p.push(write_ws_cmnt_sylk(cell.c, R, C)); + } + if(p.length) o.push(p.join(RS)); + } + for(R = r.s.r; R <= r.e.r; ++R) { + if(dense && !ws["!data"][R]) continue; + p = []; + for(C = r.s.c; C <= r.e.c; ++C) { + cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; + if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; + if((cell.z||(cell.t == "d" ? table_fmt[14] : "General")) != _lastfmt) { + var ifmt = opts._formats.indexOf(cell.z); + if(ifmt == -1) { opts._formats.push(cell.z); ifmt = opts._formats.length - 1; preamble.push("P;P" + cell.z.replace(/;/g, ";;")); } + p.push("F;P" + ifmt + ";Y" + (R+1) + ";X" + (C+1)); + } + p.push(write_ws_cell_sylk(cell, ws, R, C, opts, d1904)); + } + o.push(p.join(RS)); + } + preamble.push("F;P0;DG0G8;M255"); if(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']); if(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']); preamble.push("B;Y" + (r.e.r - r.s.r + 1) + ";X" + (r.e.c - r.s.c + 1) + ";D" + [r.s.c,r.s.r,r.e.c,r.e.r].join(" ")); preamble.push("O;L;D;B" + (d1904 ? ";V4" : "") + ";K47;G100 0.001"); - /* Excel has been inconsistent in comment placement, */ - for(var R = r.s.r; R <= r.e.r; ++R) { - if(dense && !ws["!data"][R]) continue; - var p = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; - if(!cell || !cell.c) continue; - p.push(write_ws_cmnt_sylk(cell.c, R, C)); // TODO: pass date1904 info - } - o.push(p.join(RS)); - } - for(var R = r.s.r; R <= r.e.r; ++R) { - if(dense && !ws["!data"][R]) continue; - var p = []; - for(var C = r.s.c; C <= r.e.c; ++C) { - cell = dense ? ws["!data"][R][C] : ws[encode_col(C) + encode_row(R)]; - if(!cell || (cell.v == null && (!cell.f || cell.F))) continue; - p.push(write_ws_cell_sylk(cell, ws, R, C, opts)); // TODO: pass date1904 info - } - o.push(p.join(RS)); - } + + delete opts._formats; return preamble.join(RS) + RS + o.join(RS) + RS + "E" + RS; } @@ -8395,7 +8511,10 @@ var DIF = /*#__PURE__*/(function() { if(data === 'TRUE') arr[R][C] = true; else if(data === 'FALSE') arr[R][C] = false; else if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value); - else if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value); + else if(!isNaN(fuzzydate(value).getDate())) { + arr[R][C] = parseDate(value); + if(!(opts && opts.UTC)) { arr[R][C] = utc_to_local(arr[R][C]); } + } else arr[R][C] = value; ++C; break; case 1: @@ -8676,9 +8795,11 @@ var PRN = /*#__PURE__*/(function() { var start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0); var _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null; function finish_cell() { + /* TODO: fuzzy parsers should pass back assumed number format */ var s = str.slice(start, end); if(s.slice(-1) == "\r") s = s.slice(0, -1); var cell = ({}/*:any*/); if(s.charAt(0) == '"' && s.charAt(s.length - 1) == '"') s = s.slice(1,-1).replace(/""/g,'"'); + if(o.cellText !== false) cell.w = s; if(s.length === 0) cell.t = 'z'; else if(o.raw) { cell.t = 's'; cell.v = s; } else if(s.trim().length === 0) { cell.t = 's'; cell.v = s; } @@ -8688,14 +8809,14 @@ var PRN = /*#__PURE__*/(function() { else { cell.t = 's'; cell.v = s; } } else if(s == "TRUE") { cell.t = 'b'; cell.v = true; } else if(s == "FALSE") { cell.t = 'b'; cell.v = false; } - else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; } + else if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; cell.v = v; } else if(!isNaN((v = fuzzydate(s)).getDate()) || _re && s.match(_re)) { cell.z = o.dateNF || table_fmt[14]; - var k = 0; - if(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; v = parseDate(s, k); } + if(_re && s.match(_re)){ var news=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); v = parseDate(news); if(o && o.UTC === false) v = utc_to_local(v); } + else if(o && o.UTC === false) v = utc_to_local(v); + else if(o.cellText !== false && o.dateNF) cell.w = SSF_format(cell.z, v); if(o.cellDates) { cell.t = 'd'; cell.v = v; } else { cell.t = 'n'; cell.v = datenum(v); } - if(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v); if(!o.cellNF) delete cell.z; } else { cell.t = 's'; @@ -8821,6 +8942,22 @@ var WK_ = /*#__PURE__*/(function() { throw "Unsupported type " + opts.type; } + /* NOTE: this list intentionally starts at 1 */ + var LOTUS_DATE_FMTS = [ + "mmmm", + "dd-mmm-yyyy", + "dd-mmm", + "mmm-yyyy", + "@", // "text"? + "mm/dd", + "hh:mm:ss AM/PM", // 7 + "hh:mm AM/PM", + "mm/dd/yyyy", + "mm/dd", + "hh:mm:ss", + "hh:mm" // 12 + ]; + function lotus_to_workbook_buf(d, opts)/*:Workbook*/ { if(!d) return d; var o = opts || {}; @@ -8831,6 +8968,7 @@ var WK_ = /*#__PURE__*/(function() { var refguess = {s: {r:0, c:0}, e: {r:0, c:0} }; var sheetRows = o.sheetRows || 0; + var lastcell = {}; if(d[4] == 0x51 && d[5] == 0x50 && d[6] == 0x57) return qpw_to_workbook_buf(d, opts); if(d[2] == 0x00) { @@ -8862,9 +9000,9 @@ var WK_ = /*#__PURE__*/(function() { case 0x0E: /* NUMBER */ case 0x10: /* FORMULA */ /* TODO: actual translation of the format code */ - if(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { - val[1].z = o.dateNF || table_fmt[14]; - if(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); } + if((val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) { + val[1].z = o.dateNF || LOTUS_DATE_FMTS[(val[2] & 0x0F)-1] || table_fmt[14]; + if(o.cellDates) { val[1].v = numdate(val[1].v); val[1].t = typeof val[1].v == "number" ? 'n' : 'd'; } } if(o.qpro) { @@ -8883,15 +9021,25 @@ var WK_ = /*#__PURE__*/(function() { tmpcell.t = val[1].t; tmpcell.v = val[1].v; if(val[1].z != null) tmpcell.z = val[1].z; if(val[1].f != null) tmpcell.f = val[1].f; + lastcell = tmpcell; break; } if(o.dense) { if(!sdata[val[0].r]) sdata[val[0].r] = []; sdata[val[0].r][val[0].c] = val[1]; } else s[encode_cell(val[0])] = val[1]; + lastcell = val[1]; break; case 0x5405: o.works2 = true; break; - default: + case 0x5402: { + /* TODO: enumerate all extended number formats */ + if(val == 0x14a1) { + lastcell.z = "hh:mm:ss"; + if(o.cellDates && lastcell.t == "n") { + lastcell.v = numdate(lastcell.v); lastcell.t = typeof lastcell.v == "number" ? 'n' : 'd'; + } + } + } break; }}, o); } else if(d[2] == 0x1A || d[2] == 0x0E) { o.Enum = WK3Enum; @@ -8968,10 +9116,17 @@ var WK_ = /*#__PURE__*/(function() { var cell = dense ? (ws["!data"][R]||[])[C] : ws[cols[C] + rr]; if(!cell || cell.t == "z") continue; /* TODO: formula records */ - if(cell.t == "n") { - if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v)); - else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v)); - } else { + switch(cell.t) { + case "n": + if((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell)); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell)); + break; + case "d": + var dc = datenum(cell.v); + if((dc|0)==dc && dc >= -32768 && dc <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + else write_biff_rec(ba, 0x0e, write_NUMBER(R, C, {t:"n", v:dc, z:cell.z || table_fmt[14]})); + break; + default: var str = format_cell(cell); write_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239))); } @@ -9105,11 +9260,18 @@ var WK_ = /*#__PURE__*/(function() { return o; } + function get_wk1_fmt(cell)/*:number*/ { + /* TODO: some fuzzy matching on the number format */ + if(cell.z && fmt_is_date(cell.z)) { + return 0xf0 | (LOTUS_DATE_FMTS.indexOf(cell.z) + 1 || 2); + } + return 0xFF; + } function parse_LABEL(blob, length, opts) { var tgt = blob.l + length; var o = parse_cell(blob, length, opts); o[1].t = 's'; - if(opts.vers == 0x5120) { + if((opts.vers & 0xFFFE) == 0x5120) { // WQ1 / WQ2 blob.l++; var len = blob.read_shift(1); o[1].v = blob.read_shift(len, 'utf8'); @@ -9151,12 +9313,12 @@ var WK_ = /*#__PURE__*/(function() { o[1].v = blob.read_shift(2, 'i'); return o; } - function write_INTEGER(R, C, v) { + function write_INTEGER(R, C, cell) { var o = new_buf(7); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(2, v, 'i'); + o.write_shift(2, cell.v, 'i'); return o; } @@ -9165,12 +9327,12 @@ var WK_ = /*#__PURE__*/(function() { o[1].v = blob.read_shift(8, 'f'); return o; } - function write_NUMBER(R, C, v) { + function write_NUMBER(R, C, cell) { var o = new_buf(13); - o.write_shift(1, 0xFF); + o.write_shift(1, get_wk1_fmt(cell)); o.write_shift(2, C); o.write_shift(2, R); - o.write_shift(8, v, 'f'); + o.write_shift(8, cell.v, 'f'); return o; } @@ -9223,7 +9385,7 @@ var WK_ = /*#__PURE__*/(function() { 0x33: ["FALSE", 0], 0x34: ["TRUE", 0], 0x35: ["RAND", 0], - // 0x36 DATE + 0x36: ["DATE", 3], // 0x37 NOW // 0x38 PMT // 0x39 PV @@ -9233,7 +9395,7 @@ var WK_ = /*#__PURE__*/(function() { // 0x3D MONTH // 0x3E YEAR 0x3F: ["ROUND", 2], - // 0x40 TIME + 0x40: ["TIME", 3], // 0x41 HOUR // 0x42 MINUTE // 0x43 SECOND @@ -9575,13 +9737,24 @@ var WK_ = /*#__PURE__*/(function() { /*::[*/0x0048/*::]*/: { n:"ACOMM" }, /*::[*/0x0049/*::]*/: { n:"AMACRO" }, /*::[*/0x004A/*::]*/: { n:"PARSE" }, + // 0x0064 /*::[*/0x0066/*::]*/: { n:"PRANGES??" }, /*::[*/0x0067/*::]*/: { n:"RRANGES??" }, /*::[*/0x0068/*::]*/: { n:"FNAME??" }, /*::[*/0x0069/*::]*/: { n:"MRANGES??" }, + // 0x0096 + // 0x0099 + // 0x009A + // 0x009B + // 0x009C + // 0x00C0 + // 0x00C7 + // 0x00C9 /*::[*/0x00CC/*::]*/: { n:"SHEETNAMECS", f:parse_SHEETNAMECS }, + // 0x00CD /*::[*/0x00DE/*::]*/: { n:"SHEETNAMELP", f:parse_SHEETNAMELP }, /*::[*/0x00FF/*::]*/: { n:"BOF", f:parseuint16 }, + /*::[*/0x5402/*::]*/: { n:"WKSNF", f:parseuint16 }, /*::[*/0xFFFF/*::]*/: { n:"" } }; @@ -9711,6 +9884,24 @@ var WK_ = /*#__PURE__*/(function() { /*::[*/0xFFFF/*::]*/: { n:"" } }; + /* TODO: fill out and verify this table across QP versions */ + var QPWNFTable = { + /*::[*/0x05/*::*/: "dd-mmm-yy", + /*::[*/0x06/*::*/: "dd-mmm", + /*::[*/0x07/*::*/: "mmm-yy", + /*::[*/0x08/*::*/: "mm/dd/yy", // Long Date Intl + /*::[*/0x0A/*::*/: "hh:mm:ss AM/PM", + /*::[*/0x0B/*::*/: "hh:mm AM/PM", + /*::[*/0x0E/*::*/: "dd-mmm-yyyy", + /*::[*/0x0F/*::*/: "mmm-yyyy", + + /*::[*/0x22/*::*/: "0.00", + /*::[*/0x32/*::*/: "0.00;[Red]0.00", + /*::[*/0x42/*::*/: "0.00;\(0.00\)", + /*::[*/0x52/*::*/: "0.00;[Red]\(0.00\)", + + /*::[*/162/*::*/: '"$"#,##0;\\("$"#,##0\\)' // slightly different from SSF 5 + }; /* QPW uses a different set of record types */ function qpw_to_workbook_buf(d, opts)/*:Workbook*/ { prep_blob(d, 0); @@ -9721,6 +9912,7 @@ var WK_ = /*#__PURE__*/(function() { var range = {s:{r:-1,c:-1}, e:{r:-1,c:-1}}; var cnt = 0, type = 0, C = 0, R = 0; var wb = { SheetNames: [], Sheets: {} }; + var FMTS = []; outer: while(d.l < d.length) { var RT = d.read_shift(2), length = d.read_shift(2); var p = d.slice(d.l, d.l + length); @@ -9731,6 +9923,22 @@ var WK_ = /*#__PURE__*/(function() { break; case 0x02: /* EOF */ break outer; + case 0x08: /* NF */ break; // TODO: this is tied to custom number formats + + case 0x0A: /* FORMATS */ { + var fcnt = p.read_shift(4); + var step = ((p.length - p.l)/ fcnt)|0; + for(var ifmt = 0; ifmt < fcnt; ++ifmt) { + var end = p.l + step; + var fmt = {}; + p.l += 2; + fmt.numFmtId = p.read_shift(2); + if(QPWNFTable[fmt.numFmtId]) fmt.z = QPWNFTable[fmt.numFmtId]; + p.l = end; + FMTS.push(fmt); + } + } break; + /* TODO: The behavior here should be consistent with Numbers: QP Notebook ~ .TN.SheetArchive, QP Sheet ~ .TST.TableModelArchive */ case 0x0401: /* BON */ break; case 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break; @@ -9793,18 +10001,21 @@ var WK_ = /*#__PURE__*/(function() { var CC = encode_col(C); while(p.l < p.length) { var cell = { t: "z" }; - var flags = p.read_shift(1); - if(flags & 0x80) p.l += 2; + var flags = p.read_shift(1), fmtidx = -1; + if(flags & 0x80) fmtidx = p.read_shift(2); var mul = (flags & 0x40) ? p.read_shift(2) - 1: 0; switch(flags & 0x1F) { + case 0: break; case 1: break; case 2: cell = { t: "n", v: p.read_shift(2) }; break; case 3: cell = { t: "n", v: p.read_shift(2, 'i') }; break; + case 4: cell = { t: "n", v: parse_RkNumber(p) }; break; case 5: cell = { t: "n", v: p.read_shift(8, 'f') }; break; case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; case 8: cell = { t: "n", v: p.read_shift(8, 'f') }; p.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4; break; default: throw "Unrecognized QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1 && (FMTS[fmtidx - 1]||{}).z) cell.z = FMTS[fmtidx-1].z; var delta = 0; if(flags & 0x20) switch(flags & 0x1F) { case 2: delta = p.read_shift(2); break; @@ -9813,10 +10024,14 @@ var WK_ = /*#__PURE__*/(function() { default: throw "Unsupported delta for QPW cell type " + (flags & 0x1F); } if(!(!o.sheetStubs && cell.t == "z")) { + var newcell = dup(cell); + if(cell.t == "n" && cell.z && fmt_is_date(cell.z) && o.cellDates) { + newcell.v = numdate(cell.v); newcell.t = typeof newcell.v == "number" ? 'n' : 'd'; + } if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; - s["!data"][R][C] = cell; - } else s[CC + encode_row(R)] = cell; + s["!data"][R][C] = newcell; + } else s[CC + encode_row(R)] = newcell; } ++R; --cnt; while(mul-- > 0 && cnt >= 0) { @@ -9831,6 +10046,7 @@ var WK_ = /*#__PURE__*/(function() { case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break; default: throw "Cannot apply repeat for QPW cell type " + (flags & 0x1F); } + if(fmtidx != -1); if(!(!o.sheetStubs && cell.t == "z")) { if(s["!data"] != null) { if(!s["!data"][R]) s["!data"][R] = []; @@ -12199,6 +12415,7 @@ function parse_vml(data/*:string*/, sheet, comments) { (data.match(shapevmlregex)||[]).forEach(function(m) { var type = ""; var hidden = true; + var aidx = -1; var R = -1, C = -1; m.replace(tagregex, function(x/*:string*/, idx/*:number*/) { var y = parsexmltag(x); @@ -13817,8 +14034,7 @@ function write_FormulaValue(value) { /* [MS-XLS] 2.4.127 TODO */ function parse_Formula(blob, length, opts) { var end = blob.l + length; - var cell = parse_XLSCell(blob, 6); - if(opts.biff == 2) ++blob.l; + var cell = parse_XLSCell(blob, 6, opts); var val = parse_FormulaValue(blob,8); var flags = blob.read_shift(1); if(opts.biff != 2) { @@ -14012,7 +14228,7 @@ function write_XLSBFormulaRangeWS(_str, wb) { var sname = _str.slice(0, lastbang); _str = _str.slice(lastbang+1); if(sname.charAt(0) == "'") sname = sname.slice(1, -1).replace(/''/g, "'"); - var parts = _str.split(":"); str = parts[0]; + var parts = _str.split(":"); var out = new_buf(27); out.write_shift(4, 19); @@ -15245,7 +15461,7 @@ function ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ { } function csf_to_ods_3D(r/*:string*/)/*:string*/ { - return r.replace(/!/,"."); + return r.replace(/!/,".").replace(/:/, ":."); } var strs = {}; // shared strings @@ -15331,7 +15547,7 @@ function get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) { return len; } -function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) { +function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles, date1904) { try { if(opts.cellNF) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } @@ -15346,14 +15562,14 @@ function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, the else p.w = SSF_general_num(p.v); } else if(p.t === 'd') { - var dd = datenum(p.v); + var dd = datenum(p.v, !!date1904); if((dd|0) === dd) p.w = dd.toString(10); else p.w = SSF_general_num(dd); } else if(p.v === undefined) return ""; else p.w = SSF_general(p.v,_ssfopts); } - else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts); + else if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts); else p.w = SSF_format(fmtid,p.v,_ssfopts); } catch(e) { if(opts.WTF) throw e; } if(!opts.cellStyles) return; @@ -15433,7 +15649,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro } /* 18.3.1.80 sheetData CT_SheetData ? */ - if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles); + if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb); /* 18.3.1.2 autoFilter CT_AutoFilter */ var afilter = data2.match(afregex); @@ -15454,6 +15670,7 @@ function parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBPro if(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0])); /* legacyDrawing */ + var m; if((m = data2.match(/legacyDrawing r:id="(.*?)"/))) s['!legrel'] = m[1]; if(opts && opts.nodim) refguess.s.c = refguess.s.r = 0; @@ -15639,7 +15856,7 @@ function write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ { return writextag("sheetViews", writextag("sheetView", null, sview), {}); } -function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ { +function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts, idx, wb, date1904)/*:string*/ { if(cell.c) ws['!comments'].push([ref, cell.c]); if((cell.v === undefined || cell.t === "z" && !(opts||{}).sheetStubs) && typeof cell.f !== "string" && typeof cell.z == "undefined") return ""; var vv = ""; @@ -15652,11 +15869,14 @@ function write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string else vv = ''+cell.v; break; case 'e': vv = BErr[cell.v]; break; case 'd': - if(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString(); - else { + if(opts && opts.cellDates) { + var _vv = parseDate(cell.v, date1904); + vv = _vv.toISOString(); + if(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf("T") + 1).replace("Z",""); + } else { cell = dup(cell); cell.t = 'n'; - vv = ''+(cell.v = datenum(parseDate(cell.v))); + vv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904)); } if(typeof cell.z === 'undefined') cell.z = table_fmt[14]; break; @@ -15699,7 +15919,7 @@ var parse_ws_xml_data = /*#__PURE__*/(function() { var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); -return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) { +return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles, wb) { var ri = 0, x = "", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; var sstr, ftag; @@ -15710,6 +15930,7 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th var dense = s["!data"] != null; var rows/*:Array*/ = [], rowobj = {}, rowrite = false; var sheetStubs = !!opts.sheetStubs; + var date1904 = !!((wb||{}).WBProps||{}).date1904; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -15854,8 +16075,8 @@ return function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, th break; case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(opts.cellDates) p.v = parseDate(p.v, 1); - else { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; } + if(opts.cellDates) p.v = parseDate(p.v, date1904); + else { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; } break; /* error string in .w, number in .v */ case 'e': @@ -15874,8 +16095,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' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); } + safe_format(p, fmtid, fillid, opts, themes, styles, date1904); + if(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == "number" ? 'n' : 'd'; } if(tag.cm && opts.xlmeta) { var cm = (opts.xlmeta.Cell||[])[+tag.cm-1]; if(cm && cm.type == 'XLDAPR') p.D = true; @@ -15900,6 +16121,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook var o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell="", ref, rr = "", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows']; var dense = ws["!data"] != null; var params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -15908,7 +16130,7 @@ function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook ref = cols[C] + rr; var _cell = dense ? (ws["!data"][R]||[])[C]: ws[ref]; if(_cell === undefined) continue; - if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell); + if((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell); } if(r.length > 0 || (rows && rows[R])) { params = ({r:rr}/*:any*/); @@ -16603,6 +16825,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ XLSBRecordEnum[0x0010] = { n:"BrtShortReal", f:parse_BrtShortReal }; var cm, vm; + var date1904 = 1462 * +!!((wb||{}).WBProps||{}).date1904; recordhopper(data, function ws_parse(val, RR, RT) { if(end) return; @@ -16646,7 +16869,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ case 'str': p.t = 's'; p.v = val[1]; break; case 'is': p.t = 's'; p.v = val[1].t; break; } - if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles); + if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles, date1904>0); C = val[0].c == -1 ? C + 1 : val[0].c; if(opts.dense) { if(!s["!data"][R]) s["!data"][R] = []; s["!data"][R][C] = p; } else s[encode_col(C) + rr] = p; @@ -16667,7 +16890,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(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) { - 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); } + var _d = SSF_parse_date_code(p.v + date1904); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } if(cm) { if(cm.type == 'XLDAPR') p.D = true; @@ -16870,7 +17093,7 @@ function parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/ } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ { +function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/, date1904/*:boolean*/)/*:boolean*/ { var o/*:any*/ = ({r:R, c:C}/*:any*/); if(cell.c) ws['!comments'].push([encode_cell(o), cell.c]); if(cell.v === undefined) return false; @@ -16880,7 +17103,7 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num case 'd': // no BrtCellDate :( cell = dup(cell); cell.z = cell.z || table_fmt[14]; - cell.v = datenum(parseDate(cell.v)); cell.t = 'n'; + cell.v = datenum(parseDate(cell.v, date1904), date1904); cell.t = 'n'; break; /* falls through */ case 'n': case 'e': vv = ''+cell.v; break; @@ -16933,8 +17156,9 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num return true; } -function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { +function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { var range = safe_decode_range(ws['!ref'] || "A1"), ref, rr = "", cols/*:Array*/ = []; + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; write_record(ba, 0x0091 /* BrtBeginSheetData */); var dense = ws["!data"] != null; var cap = range.e.r; @@ -16952,7 +17176,7 @@ function write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Work var cell = dense ? (ws["!data"][R]||[])[C] : ws[ref]; if(!cell) { last_seen = false; continue; } /* write cell */ - last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen); + last_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904); } } write_record(ba, 0x0092 /* BrtEndSheetData */); @@ -18111,10 +18335,10 @@ function xlml_parsexmltagobj(tag/*:string*/) { /* map from xlml named formats to SSF TODO: localize */ var XLMLFormatMap/*: {[string]:string}*/; -function xlml_format(format, value)/*:string*/ { +function xlml_format(format, value, date1904)/*:string*/ { var fmt = XLMLFormatMap[format] || unescapexml(format); if(fmt === "General") return SSF_general(value); - return SSF_format(fmt, value); + return SSF_format(fmt, value, {date1904: !!date1904}); } function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { @@ -18130,7 +18354,7 @@ function xlml_set_custprop(Custprops, key, cp, val/*:string*/) { Custprops[unescapexml(key)] = oval; } -function safe_format_xlml(cell/*:Cell*/, nf, o) { +function safe_format_xlml(cell/*:Cell*/, nf, o, date1904) { if(cell.t === 'z') return; if(!o || o.cellText !== false) try { if(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; } @@ -18141,13 +18365,13 @@ function safe_format_xlml(cell/*:Cell*/, nf, o) { } else cell.w = SSF_general(cell.v); } - else cell.w = xlml_format(nf||"General", cell.v); + else cell.w = xlml_format(nf||"General", cell.v, date1904); } catch(e) { if(o.WTF) throw e; } try { var z = XLMLFormatMap[nf]||nf||"General"; if(o.cellNF) cell.z = z; if(o.cellDates && cell.t == 'n' && fmt_is_date(z)) { - var _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); } + var _d = SSF_parse_date_code(cell.v + (date1904 ? 1462 : 0)); if(_d) { cell.t = 'd'; cell.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } catch(e) { if(o.WTF) throw e; } } @@ -18163,7 +18387,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) { +function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o, date1904) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; var i = 0; @@ -18186,9 +18410,8 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a break; case 'DateTime': if(xml.slice(-1) != "Z") xml += "Z"; - cell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); + cell.v = datenum(parseDate(xml, date1904), date1904); if(cell.v !== cell.v) cell.v = unescapexml(xml); - else if(cell.v<60) cell.v = cell.v -1; if(!nf || nf == "General") nf = "yyyy-mm-dd"; /* falls through */ case 'Number': @@ -18201,7 +18424,7 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a else { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); } break; } - safe_format_xlml(cell, nf, o); + safe_format_xlml(cell, nf, o, date1904); if(o.cellFormula !== false) { if(cell.Formula) { var fstr = unescapexml(cell.Formula); @@ -18303,7 +18526,7 @@ function parse_xlml_xml(d, _opts)/*:Workbook*/ { break; } if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*"Comment"*/"comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts, Workbook.WBProps.date1904); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'cell' /*case 'Cell'*/: @@ -19406,7 +19629,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { var fmtid = 0; try { fmtid = p.z || p.XF.numFmtId || 0; - if(opts.cellNF) p.z = table_fmt[fmtid]; + if(opts.cellNF && p.z == null) p.z = table_fmt[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { if(p.t === 'e') { p.w = p.w || BErr[p.v]; } @@ -19420,7 +19643,7 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { else p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF}); } catch(e) { if(opts.WTF) throw e; } if(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) { - 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); } + var _d = SSF_parse_date_code(p.v + (date1904 ? 1462 : 0)); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); } } } @@ -19448,6 +19671,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var XFs = []; /* XF records */ var palette/*:Array<[number, number, number]>*/ = []; var Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {}; + var biff4w = false; var get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ { if(icv < 8) return XLSIcv[icv]; if(icv < 64) return palette[icv-8] || XLSIcv[icv]; @@ -19463,7 +19687,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } }; var addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) { - if(file_depth > 1) return; + if(!biff4w && file_depth > 1) return; if(options.sheetRows && cell.r >= options.sheetRows) return; if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options); delete line.ixfe; delete line.XF; @@ -19594,6 +19818,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(!val.fBelow) (out["!outline"] || (out["!outline"] = {})).above = true; if(!val.fRight) (out["!outline"] || (out["!outline"] = {})).left = true; break; // TODO + case 0x0043: /* BIFF2XF */ case 0x0243: /* BIFF3XF */ case 0x0443: /* BIFF4XF */ case 0x00e0 /* XF */: XFs.push(val); break; case 0x01ae /* SupBook */: @@ -19628,11 +19853,11 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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; + Directory[opts.biff == 4 ? opts.snames.length : val.pos] = val; opts.snames.push(val.name); } break; case 0x000a /* EOF */: { - if(--file_depth) break; + if(--file_depth ? !biff4w : biff4w) break; if(range.e) { if(range.e.r > 0 && range.e.c > 0) { range.e.r--; range.e.c--; @@ -19671,13 +19896,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { }[val.BIFFVer] || 8; opts.biffguess = val.BIFFVer == 0; if(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); } + if(opts.biff == 4 && val.dt & 0x100) biff4w = true; if(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2; - if(file_depth++) break; + if(file_depth++ && !biff4w) break; out = ({}/*:any*/); if(options.dense) out["!data"] = []; if(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); } - - if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { + if(opts.biff == 4 && biff4w) { + cur_sheet = (Directory[opts.snames.indexOf(cur_sheet)+1] || {name:""}).name; + } else if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; /* fake BoundSheet8 */ @@ -19698,19 +19925,19 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: { if(out["!type"] == "chart") if(options.dense ? (out["!data"][val.r]||[])[val.c]: out[encode_col(val.c) + encode_row(val.r)]) ++val.c; temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x0005: case 0x0205 /* BoolErr */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x027e /* RK */: { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19718,7 +19945,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } @@ -19736,7 +19963,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { else temp_val.F = ((options.dense ? (out["!data"][_fr]||[])[_fc]: out[_fe]) || {}).F; } else temp_val.f = ""+stringify_formula(val.formula,range,val.cell,supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -19749,7 +19976,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(options.cellFormula) { temp_val.f = ""+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); } - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -19780,13 +20007,13 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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]; - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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 0x0201 /* Blank */: if(options.sheetStubs) { temp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19794,7 +20021,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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'}/*:any*/); - if(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F]; safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:_j, r:val.r}, temp_val, options); } @@ -19803,7 +20030,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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]; + if(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || 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; @@ -19815,7 +20042,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { sst = val; } break; case 0x041e /* Format */: { /* val = [id, fmt] */ - if(opts.biff == 4) { + if(opts.biff >= 3 && opts.biff <= 4) { BIFF2FmtTable[BIFF2Fmt++] = val[1]; for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break; if(b4idx >= 163) SSF__load(val[1], BIFF2Fmt + 163); @@ -21281,7 +21508,7 @@ var XLSRecordEnum = { /*::[*/0x0002/*::]*/: { /* n:"BIFF2INT", */ f:parse_BIFF2INT }, /*::[*/0x0003/*::]*/: { /* n:"BIFF2NUM", */ f:parse_BIFF2NUM }, /*::[*/0x0004/*::]*/: { /* n:"BIFF2STR", */ f:parse_BIFF2STR }, - /*::[*/0x0005/*::]*/: { /* n:"BoolErr", */ f:parse_BoolErr }, + /*::[*/0x0005/*::]*/: { /* n:"BIFF2BOOLERR", */ f:parse_BIFF2BOOLERR }, /*::[*/0x0007/*::]*/: { /* n:"String", */ f:parse_BIFF2STRING }, /*::[*/0x0008/*::]*/: { /* n:"BIFF2ROW", */ }, /*::[*/0x0009/*::]*/: { /* n:"BOF", */ f:parse_BOF }, @@ -21320,7 +21547,7 @@ var XLSRecordEnum = { /* - - - */ /*::[*/0x0034/*::]*/: { /* n:"DDEObjName", */ }, - /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ }, + /*::[*/0x0043/*::]*/: { /* n:"BIFF2XF", */ f:parse_BIFF2XF }, /*::[*/0x0044/*::]*/: { /* n:"BIFF2XFINDEX", */ f:parseuint16 }, /*::[*/0x0045/*::]*/: { /* n:"BIFF2FONTCLR", */ }, /*::[*/0x0056/*::]*/: { /* n:"BIFF4FMTCNT", */ }, /* 16-bit cnt, similar to BIFF2 */ @@ -21332,7 +21559,7 @@ var XLSRecordEnum = { // 0x8A // 0x8B LH: alternate menu key flag (BIFF3/4) // 0x8E - // 0x8F + /*::[*/0x008F/*::]*/: { /* n:"BIFF4SheetInfo", */ f:parse_BIFF4SheetInfo }, /*::[*/0x0091/*::]*/: { /* n:"Sub", */ }, // 0x93 STYLE /*::[*/0x0094/*::]*/: { /* n:"LHRecord", */ }, @@ -21358,10 +21585,10 @@ var XLSRecordEnum = { /*::[*/0x0218/*::]*/: { /* n:"Lbl", */ f:parse_Lbl }, /*::[*/0x0223/*::]*/: { /* n:"ExternName", */ f:parse_ExternName }, /*::[*/0x0231/*::]*/: { /* n:"Font", */ }, - /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ }, + /*::[*/0x0243/*::]*/: { /* n:"BIFF3XF", */ f:parse_BIFF3XF }, /*::[*/0x0406/*::]*/: { /* n:"Formula", */ f:parse_Formula }, /*::[*/0x0409/*::]*/: { /* n:"BOF", */ f:parse_BOF }, - /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ }, + /*::[*/0x0443/*::]*/: { /* n:"BIFF4XF", */ f:parse_BIFF4XF }, /*::[*/0x086d/*::]*/: { /* n:"FeatInfo", */ }, /*::[*/0x0873/*::]*/: { /* n:"FeatInfo11", */ }, /*::[*/0x0881/*::]*/: { /* n:"SXAddl12", */ }, @@ -21425,16 +21652,7 @@ function write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/* } } -function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { - if(!out) out = new_buf(7); - out.write_shift(2, r); - out.write_shift(2, c); - out.write_shift(2, 0); - out.write_shift(1, 0); - return out; -} - -function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) { +function write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:string*/) { var out = new_buf(9); write_BIFF2Cell(out, r, c); write_Bes(val, t || 'b', out); @@ -21461,29 +21679,48 @@ function write_comments_biff2(ba/*:BufArray*/, comments/*:Array<[Comment[], numb }); } -function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) { +/* TODO: BIFF3/4 use different records -- see comments*/ +function write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) { + var ifmt = 0; + if(cell.z != null) { + ifmt = opts._BIFF2FmtTable.indexOf(cell.z); + if(ifmt == -1) { opts._BIFF2FmtTable.push(cell.z); ifmt = opts._BIFF2FmtTable.length - 1; } + } + var ixfe = 0; + if(cell.z != null) { + for(; ixfe < opts.cellXfs.length; ++ixfe) if(opts.cellXfs[ixfe].numFmtId == ifmt) break; + if(ixfe == opts.cellXfs.length) opts.cellXfs.push({numFmtId: ifmt}); + } if(cell.v != null) switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; - if((v == (v|0)) && (v >= 0) && (v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v)); + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; + if(opts.biff == 2 && (v == (v|0)) && (v >= 0) && (v < 65536)) + // 0x027E (RK) in BIFF3/4 + write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v, ixfe, ifmt)); else if(isNaN(v)) + // 0x0205 in BIFF3/4 write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x24, "e")); // #NUM! else if(!isFinite(v)) + // 0x0205 in BIFF3/4 write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x07, "e")); // #DIV/0! else - write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v)); + // 0x0203 in BIFF3/4 + write_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v, ixfe, ifmt)); return; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; + case 'b': case 'e': + // 0x0205 in BIFF3/4 + write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': + // 0x0204 in BIFF3/4 write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v == null ? "" : String(cell.v).slice(0,255))); return; } + // 0x0201 in BIFF3/4 write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); } -function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) { +function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { var dense = ws["!data"] != null; var range = safe_decode_range(ws['!ref'] || "A1"), ref/*:string*/, rr = "", cols/*:Array*/ = []; if(range.e.c > 0xFF || range.e.r > 0x3FFF) { @@ -21491,7 +21728,9 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ range.e.c = Math.min(range.e.c, 0xFF); range.e.r = Math.min(range.e.c, 0x3FFF); } + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; var row = [], comments = []; + /* TODO: 0x0000 / 0x0200 dimensions? */ for(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(var R = range.s.r; R <= range.e.r; ++R) { if(dense) row = ws["!data"][R] || []; @@ -21500,7 +21739,7 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ var cell = dense ? row[C] : ws[cols[C] + rr]; if(!cell) continue; /* write cell */ - write_ws_biff2_cell(ba, cell, R, C, opts); + write_ws_biff2_cell(ba, cell, R, C, opts, date1904); if(cell.c) comments.push([cell.c, R, C]); } } @@ -21513,14 +21752,32 @@ function write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/ /* Based on test files */ function write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { var o = opts || {}; + var ba = buf_array(); var idx = 0; for(var i=0;i*/ = ["General"]; o._Fonts = []; + var body = buf_array(); + write_ws_biff2(body, wb.Sheets[wb.SheetNames[idx]], idx, o, wb); + + o._BIFF2FmtTable.forEach(function(f) { + if(o.biff <= 3) write_biff_rec(ba, 0x001E, write_BIFF2Format(f)); + else write_biff_rec(ba, 0x041E, write_BIFF4Format(f)); + }); + o.cellXfs.forEach(function(xf) { + switch(o.biff) { + case 2: write_biff_rec(ba, 0x0043, write_BIFF2XF(xf)); break; + case 3: write_biff_rec(ba, 0x0243, write_BIFF3XF(xf)); break; + case 4: write_biff_rec(ba, 0x0443, write_BIFF4XF(xf)); break; + } + }); + delete o._BIFF2FmtTable; delete o.cellXfs; delete o._Fonts; + + ba.push(body.end()); write_biff_rec(ba, 0x000A); return ba.end(); } @@ -21541,7 +21798,7 @@ function write_MsoDrawingGroup() { { buf.write_shift(4, b8oid); buf.write_shift(4, b8ocnts.length+1); - buf.write_shift(4, b8ocnts.reduce(function(acc,x) { return acc+x[1]; }, 0)); + var acc = 0; for(var i = 0; i < b8ocnts.length; ++i) acc += (b8ocnts[i] && b8ocnts[i][1] || 0); buf.write_shift(4, acc); buf.write_shift(4, b8ocnts.length); } /* 2.2.46 OfficeArtIDCL + */ @@ -21579,7 +21836,7 @@ function write_comments_biff8(ba/*:BufArray*/, comments/*:Array<[Comment[], numb var _oasc; comments.forEach(function(c, ci) { var author = ""; - var text = c[0].map(function(t) { if(t.a && !author) author = t.a; return t.t }).join(""); + var text = c[0].map(function(t) { if(t.a && !author) author = t.a; return t.t; }).join(""); ++b8oid; /* 2.2.14 OfficeArtSpContainer */ @@ -21730,7 +21987,7 @@ function write_comments_biff8(ba/*:BufArray*/, comments/*:Array<[Comment[], numb /* [MS-ODRAW] 2.2.13 OfficeArtDgContainer */ { var hdr = new_buf(80); - hdr.write_shift(2, 0x0F) + hdr.write_shift(2, 0x0F); hdr.write_shift(2, 0xF002); hdr.write_shift(4, sz + hdr.length - 8); /* [MS-ODRAW] 2.2.49 OfficeArtFDG */ @@ -21837,7 +22094,7 @@ function write_ws_cols_biff8(ba, cols) { }); } -function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { +function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) { var os = 16 + get_cell_style(opts.cellXfs, cell, opts); if(cell.v == null && !cell.bf) { write_biff_rec(ba, 0x0201 /* Blank */, write_XLSCell(R, C, os)); @@ -21846,7 +22103,7 @@ function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:n if(cell.bf) write_biff_rec(ba, 0x0006 /* Formula */, write_Formula(cell, R, C, opts, os)); else switch(cell.t) { case 'd': case 'n': - var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; + var v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v; if(isNaN(v)) write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, 0x24, os, opts, "e")); // #NUM! else if(!isFinite(v)) write_biff_rec(ba, 0x0205 /* BoolErr */, write_BoolErr(R, C, 0x07, os, opts, "e")); // #DIV/0! /* TODO: emit RK as appropriate */ @@ -21907,6 +22164,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { write_biff_rec(ba, 0x0200 /* Dimensions */, write_Dimensions(range, opts)); /* ... */ + var date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904; if(b8) ws['!links'] = []; var comments = []; var row = []; @@ -21919,7 +22177,7 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { var cell = dense ? row[C] : ws[ref]; if(!cell) continue; /* write cell */ - write_ws_biff8_cell(ba, cell, R, C, opts); + write_ws_biff8_cell(ba, cell, R, C, opts, date1904); if(b8 && cell.l) ws['!links'].push([ref, cell.l]); if(cell.c) comments.push([cell.c, R, C]); } @@ -22120,9 +22378,11 @@ function html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ { else if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)}; else if(!isNaN(fuzzydate(m).getDate())) { o = ({t:'d', v:parseDate(m)}/*:any*/); + if(opts.UTC === false) o.v = utc_to_local(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } + if(o.cellText !== false) o.w = m; if(dense) { if(!ws["!data"][R]) ws["!data"][R] = []; ws["!data"][R][C] = o; } else ws[encode_cell({r:R, c:C})] = o; C += CS; @@ -22156,7 +22416,8 @@ function make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HT if(o.editable) w = '' + w + ''; else if(cell) { sp["data-t"] = cell && cell.t || 'z'; - if(cell.v != null) sp["data-v"] = cell.v; + // note: data-v is unaffected by the timezone interpretation + if(cell.v != null) sp["data-v"] = cell.v instanceof Date ? cell.v.toISOString() : cell.v; if(cell.z != null) sp["data-z"] = cell.z; if(cell.l && (cell.l.Target || "#").charAt(0) != "#") w = '' + w + ''; } @@ -22262,6 +22523,7 @@ function sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/ else if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)}; else if(!isNaN(fuzzydate(v).getDate())) { o = ({t:'d', v:parseDate(v)}/*:any*/); + if(opts.UTC) o.v = local_to_utc(o.v); if(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/); o.z = opts.dateNF || table_fmt[14]; } @@ -22581,7 +22843,6 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { var creator = "", creatoridx = 0; var isstub = false, intable = false; var i = 0; - var baddate = 0; xlmlregex.lastIndex = 0; str = str.replace(//mg,"").replace(//gm,""); while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { @@ -22688,19 +22949,23 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { /* 19.675.2 table:number-columns-repeated */ if(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10); - /* 19.385 office:value-type */ + /* 19.385 office:value-type TODO: verify ODS and UOS */ switch(q.t) { case 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break; - case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break; + case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); + if(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == "number" ? 'n' : 'd'; } + break; case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break; case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break; - case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']); - if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904) - baddate; } + case 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904); + if(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); } if(!q.z) q.z = 'm/d/yy'; break; + /* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */ case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; - if(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); } + if(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == "number" ? 'n' : 'd'; } if(!q.z) q.z = 'HH:MM:SS'; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; + case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); + break; default: if(q.t === 'string' || q.t === 'text' || !q.t) { q.t = 's'; @@ -22897,9 +23162,7 @@ function parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ { case 'null-date': // 9.4.2 tag = parsexmltag(Rn[0], false); switch(tag["date-value"]) { - case "1904-01-01": WB.WBProps.date1904 = true; - /* falls through */ - case "1900-01-01": baddate = 0; + case "1904-01-01": WB.WBProps.date1904 = true; break; } break; @@ -23208,7 +23471,9 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '\\': c = nf[++i]; + payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; default: console.error("unrecognized character " + c + " in ODF format " + nf); } if(!has_time) break j; @@ -23235,7 +23500,7 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { while(nf[++i] != '"' || nf[++i] == '"') c += nf[i]; --i; payload += '' + escapexml(c.slice(1).replace(/""/g, '"')) + ''; break; - case '/': payload += '' + escapexml(c) + ''; break; + case '/': case ':': payload += '' + escapexml(c) + ''; break; case "a": if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += ''; i += 2; break; } // Note: ODF does not support A/P if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += ''; i += 4; break; } @@ -23291,10 +23556,15 @@ function write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ { } function write_names_ods(Names, SheetNames, idx) { - var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + //var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); }); + var scoped = []; for(var namei = 0; namei < Names.length; ++namei) { + var name = Names[namei]; + if(!name) continue; + if(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name); + } if(!scoped.length) return ""; return " \n" + scoped.map(function(name) { - var odsref = csf_to_ods_3D(name.Ref); + var odsref = (idx == -1 ? "$" : "") + csf_to_ods_3D(name.Ref); return " " + writextag("table:named-range", null, { "table:name": name.Name, "table:cell-range-address": odsref, @@ -23313,7 +23583,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function }; var null_cell_xml = ' \n'; - var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs)/*:string*/ { + var write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs, date1904)/*:string*/ { /* Section 9 Tables */ var o/*:Array*/ = []; o.push(' \n'); @@ -23373,9 +23643,9 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function ct['office:value-type'] = "string"; break; case 'd': - textp = (cell.w||(parseDate(cell.v).toISOString())); + textp = (cell.w||(parseDate(cell.v, date1904).toISOString())); ct['office:value-type'] = "date"; - ct['office:date-value'] = (parseDate(cell.v).toISOString()); + ct['office:date-value'] = (parseDate(cell.v, date1904).toISOString()); ct['table:style-name'] = "ce1"; break; //case 'e': // TODO: translate to ODS errors @@ -23545,7 +23815,7 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function o.push(' \n'); o.push(' \n'); if(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \n \n \n'); - for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs)); + for(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904)); if((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1)); o.push(' \n'); o.push(' \n'); @@ -24166,10 +24436,10 @@ function numbers_format_cell(cell, t, flags, ofmt, nfmt) { cell.w = cell.w.replace(/:(\d\d\d)$/, ".$1"); } } -function parse_old_storage(buf, lut, v) { +function parse_old_storage(buf, lut, v, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); - var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dt = new Date(2001, 0, 1); + var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)); var doff = v > 1 ? 12 : 8; if (flags & 2) { zidx = dv.getUint32(doff, true); @@ -24190,7 +24460,7 @@ function parse_old_storage(buf, lut, v) { doff += 8; } if (flags & 64) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (v > 1) { @@ -24213,7 +24483,12 @@ function parse_old_storage(buf, lut, v) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -24244,12 +24519,12 @@ function parse_old_storage(buf, lut, v) { ret.v /= 86400; return ret; } -function parse_new_storage(buf, lut) { +function parse_new_storage(buf, lut, opts) { var dv = u8_to_dataview(buf); var flags = dv.getUint32(4, true); var fields = dv.getUint32(8, true); var doff = 12; - var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1), eidx = -1, fidx = -1; + var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1; if (fields & 1) { d128 = readDecimal128LE(buf, doff); doff += 16; @@ -24259,7 +24534,7 @@ function parse_new_storage(buf, lut) { doff += 8; } if (fields & 4) { - dt.setTime(dt.getTime() + dv.getFloat64(doff, true) * 1e3); + dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3); doff += 8; } if (fields & 8) { @@ -24293,7 +24568,12 @@ function parse_new_storage(buf, lut) { ret = { t: "s", v: lut.sst[sidx] }; break; case 5: - ret = { t: "d", v: dt }; + { + if (opts == null ? void 0 : opts.cellDates) + ret = { t: "d", v: dt }; + else + ret = { t: "n", v: dc / 86400 + 35430, z: table_fmt[14] }; + } break; case 6: ret = { t: "b", v: ieee > 0 }; @@ -24344,10 +24624,18 @@ function write_new_storage(cell, lut) { out[0] = 5; switch (cell.t) { case "n": - out[1] = 2; - writeDecimal128LE(out, l, cell.v); - fields |= 1; - l += 16; + if (cell.z && fmt_is_date(cell.z)) { + out[1] = 5; + dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; + } else { + out[1] = 2; + writeDecimal128LE(out, l, cell.v); + fields |= 1; + l += 16; + } break; case "b": out[1] = 6; @@ -24380,6 +24668,12 @@ function write_new_storage(cell, lut) { } } break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 4; + l += 8; + break; case "z": out[1] = 0; break; @@ -24396,7 +24690,7 @@ function write_new_storage(cell, lut) { return out[subarray](0, l); } function write_old_storage(cell, lut) { - var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0; + var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = ""; out[0] = 4; switch (cell.t) { case "n": @@ -24405,7 +24699,7 @@ function write_old_storage(cell, lut) { break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if (cell.l) { var irsst = lut.rsst.findIndex(function(v) { var _a; @@ -24421,6 +24715,10 @@ function write_old_storage(cell, lut) { } } break; + case "d": + break; + case "e": + break; case "z": break; default: @@ -24446,7 +24744,7 @@ function write_old_storage(cell, lut) { break; case "s": { - var s = cell.v == null ? "" : String(cell.v); + s = cell.v == null ? "" : String(cell.v); if (cell.l) { } else { var isst = lut.sst.indexOf(s); @@ -24459,6 +24757,12 @@ function write_old_storage(cell, lut) { } } break; + case "d": + out[1] = 5; + dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true); + fields |= 64; + l += 8; + break; case "z": out[1] = 0; break; @@ -24468,16 +24772,16 @@ function write_old_storage(cell, lut) { dv.setUint32(8, fields, true); return out[subarray](0, l); } -function parse_cell_storage(buf, lut) { +function parse_cell_storage(buf, lut, opts) { switch (buf[0]) { case 0: case 1: case 2: case 3: case 4: - return parse_old_storage(buf, lut, buf[0]); + return parse_old_storage(buf, lut, buf[0], opts); case 5: - return parse_new_storage(buf, lut); + return parse_new_storage(buf, lut, opts); default: throw new Error("Unsupported payload version ".concat(buf[0])); } @@ -24682,7 +24986,7 @@ function s5s_to_iwa_comment(s5s) { } return out; } -function parse_TST_TableModelArchive(M, root, ws) { +function parse_TST_TableModelArchive(M, root, ws, opts) { var _a, _b, _c, _d, _e, _f, _g, _h, _i; var pb = parse_shallow(root.data); var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }; @@ -24721,7 +25025,7 @@ function parse_TST_TableModelArchive(M, root, ws) { var _tile = parse_TST_Tile(M, ref2); _tile.data.forEach(function(row, R) { row.forEach(function(buf, C) { - var res = parse_cell_storage(buf, lut); + var res = parse_cell_storage(buf, lut, opts); if (res) { if (dense) { if (!dws["!data"][_R + R]) @@ -24762,7 +25066,7 @@ function parse_TST_TableInfoArchive(M, root, opts) { 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); + parse_TST_TableModelArchive(M, tableref[0], out, opts); return out; } function parse_TN_SheetArchive(M, root, opts) { @@ -24785,6 +25089,7 @@ function parse_TN_SheetArchive(M, root, opts) { function parse_TN_DocumentArchive(M, root, opts) { var _a; var out = book_new(); + out.Workbook = { WBProps: { date1904: true } }; var pb = parse_shallow(root.data); if ((_a = pb[2]) == null ? void 0 : _a[0]) throw new Error("Keynote presentations are not supported"); @@ -24900,8 +25205,8 @@ function write_TST_TileRowInfo(data, lut, wide) { switch (data[C].t) { case "d": if (data[C].v instanceof Date) { - celload = write_new_storage({ t: "s", v: data[C].v.toISOString() }, lut); - _celload = write_old_storage({ t: "s", v: data[C].v.toISOString() }, lut); + celload = write_new_storage(data[C], lut); + _celload = write_old_storage(data[C], lut); break; } celload = write_new_storage(data[C], lut); @@ -26841,7 +27146,12 @@ function make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Ar switch(val.t){ case 'z': if(v == null) break; continue; case 'e': v = (v == 0 ? null : void 0); break; - case 's': case 'd': case 'b': case 'n': break; + case 's': case 'b': + case 'n': if(!val.z || !fmt_is_date(val.z)) break; + v = numdate(v); // TODO: date1904 setting should also be stored in worksheet object + if(typeof v == "number") break; + /* falls through */ + case 'd': if(!(o && o.UTC)) v = utc_to_local(v); break; default: throw new Error('unrecognized type ' + val.t); } if(hdr[C] != null) { @@ -27051,6 +27361,7 @@ function sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet else if(typeof v == 'string') t = 's'; else if(v instanceof Date) { t = 'd'; + if(!o.UTC) v = local_to_utc(v); if(!o.cellDates) { t = 'n'; v = datenum(v); } z = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]); }