diff --git a/nginx.conf b/nginx.conf deleted file mode 100644 index d093192..0000000 --- a/nginx.conf +++ /dev/null @@ -1,28 +0,0 @@ -server { - listen 80; - server_name localhost; - root /usr/share/nginx/html; - index index.html; - - # Handle client-side routing - location / { - try_files $uri $uri/ /index.html; - } - - # Cache static assets - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } - - # Security headers - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Gzip compression - gzip on; - gzip_vary on; - gzip_min_length 1024; - gzip_types text/plain text/css text/xml text/javascript application/javascript application/xml+rss application/json; -} diff --git a/package-lock.json b/package-lock.json index 773201d..35c23e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "Govt Invoice", - "version": "0.0.3", + "version": "0.0.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Govt Invoice", - "version": "0.0.3", + "version": "0.0.8", "dependencies": { "@bcyesil/capacitor-plugin-printer": "^0.0.5", "@capacitor/android": "^6.0.0", @@ -20,7 +20,6 @@ "@ionic/react-router": "^8.0.0", "@types/crypto-js": "^4.2.2", "@types/react-router-dom": "^5.3.3", - "axios": "^1.9.0", "capacitor-email-composer": "^6.0.0", "crypto-js": "^4.2.0", "html2canvas": "^1.4.1", @@ -30,28 +29,20 @@ "react-dom": "^18.3.0", "react-router": "^5.3.4", "react-router-dom": "^5.3.4", - "react-signature-canvas": "^1.1.0-alpha.2", - "vite-plugin-commonjs": "^0.10.1" + "react-signature-canvas": "^1.1.0-alpha.2" }, "devDependencies": { "@capacitor/cli": "^6.0.0", - "@originjs/vite-plugin-commonjs": "^1.0.3", - "@rollup/plugin-commonjs": "^28.0.6", - "@rollup/plugin-node-resolve": "^16.0.1", - "@testing-library/dom": ">=7.21.4", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.4.3", "@types/html2canvas": "^0.5.35", "@types/react": "^18.0.27", "@types/react-dom": "^18.0.10", "@types/react-signature-canvas": "^1.0.7", "@vite-pwa/assets-generator": "^0.2.4", - "@vitejs/plugin-legacy": "^5.0.0", "@vitejs/plugin-react": "^4.0.1", "cypress": "^13.5.0", "eslint": "^8.35.0", - "eslint-plugin-react": "^7.32.2", "jsdom": "^22.1.0", "terser": "^5.4.0", "typescript": "^5.1.6", @@ -2068,14 +2059,13 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", - "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "cpu": [ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -2719,6 +2709,7 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -2736,6 +2727,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -2749,6 +2741,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -2758,6 +2751,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -2767,16 +2761,6 @@ "node": ">= 8" } }, - "node_modules/@originjs/vite-plugin-commonjs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@originjs/vite-plugin-commonjs/-/vite-plugin-commonjs-1.0.3.tgz", - "integrity": "sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==", - "dev": true, - "license": "MulanPSL2", - "dependencies": { - "esbuild": "^0.14.14" - } - }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -2784,58 +2768,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@rollup/plugin-commonjs": { - "version": "28.0.6", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.6.tgz", - "integrity": "sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "fdir": "^6.2.0", - "is-reference": "1.2.1", - "magic-string": "^0.30.3", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=16.0.0 || 14 >= 14.17" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.1.tgz", - "integrity": "sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, "node_modules/@rollup/plugin-terser": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", @@ -3207,26 +3139,6 @@ "sourcemap-codec": "^1.4.8" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -3313,20 +3225,6 @@ "deep-equal": "^2.0.5" } }, - "node_modules/@testing-library/user-event": { - "version": "14.6.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", - "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -3538,6 +3436,11 @@ "undici-types": "~7.8.0" } }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==" + }, "node_modules/@types/prop-types": { "version": "15.7.15", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", @@ -3720,33 +3623,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vitejs/plugin-legacy": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.4.3.tgz", - "integrity": "sha512-wsyXK9mascyplcqvww1gA1xYiy29iRHfyciw+a0t7qRNdzX6PdfSWmOoCi74epr87DujM+5J+rnnSv+4PazqVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.25.8", - "@babel/preset-env": "^7.25.8", - "browserslist": "^4.24.0", - "browserslist-to-esbuild": "^2.1.1", - "core-js": "^3.38.1", - "magic-string": "^0.30.12", - "regenerator-runtime": "^0.14.1", - "systemjs": "^6.15.1" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "peerDependencies": { - "terser": "^5.4.0", - "vite": "^5.0.0" - } - }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", @@ -4002,6 +3878,7 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -4197,105 +4074,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", @@ -4379,6 +4157,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, "license": "MIT" }, "node_modules/at-least-node": { @@ -4391,18 +4170,6 @@ "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -4436,17 +4203,6 @@ "dev": true, "license": "MIT" }, - "node_modules/axios": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", - "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/b4a": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", @@ -4719,6 +4475,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -4760,37 +4517,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/browserslist-to-esbuild": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", - "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "meow": "^13.0.0" - }, - "bin": { - "browserslist-to-esbuild": "cli/index.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "browserslist": "*" - } - }, - "node_modules/btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "license": "(MIT OR Apache-2.0)", - "bin": { - "btoa": "bin/btoa.js" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -4851,6 +4577,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -5163,6 +4890,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" @@ -5191,13 +4919,6 @@ "node": ">=4.0.0" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -5233,9 +4954,9 @@ "version": "3.44.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.44.0.tgz", "integrity": "sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==", - "devOptional": true, "hasInstallScript": true, "license": "MIT", + "optional": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -5741,6 +5462,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -5824,6 +5546,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -6015,6 +5738,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6024,6 +5748,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6057,44 +5782,11 @@ "dev": true, "license": "MIT" }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "license": "MIT" - }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -6107,6 +5799,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -6118,19 +5811,6 @@ "node": ">= 0.4" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es-to-primitive": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", @@ -6150,12 +5830,11 @@ } }, "node_modules/esbuild": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", - "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -6163,367 +5842,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/linux-loong64": "0.14.54", - "esbuild-android-64": "0.14.54", - "esbuild-android-arm64": "0.14.54", - "esbuild-darwin-64": "0.14.54", - "esbuild-darwin-arm64": "0.14.54", - "esbuild-freebsd-64": "0.14.54", - "esbuild-freebsd-arm64": "0.14.54", - "esbuild-linux-32": "0.14.54", - "esbuild-linux-64": "0.14.54", - "esbuild-linux-arm": "0.14.54", - "esbuild-linux-arm64": "0.14.54", - "esbuild-linux-mips64le": "0.14.54", - "esbuild-linux-ppc64le": "0.14.54", - "esbuild-linux-riscv64": "0.14.54", - "esbuild-linux-s390x": "0.14.54", - "esbuild-netbsd-64": "0.14.54", - "esbuild-openbsd-64": "0.14.54", - "esbuild-sunos-64": "0.14.54", - "esbuild-windows-32": "0.14.54", - "esbuild-windows-64": "0.14.54", - "esbuild-windows-arm64": "0.14.54" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", - "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", - "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", - "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", - "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", - "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", - "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", - "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", - "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", - "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", - "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", - "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", - "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", - "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", - "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", - "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", - "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", - "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", - "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", - "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", - "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/escalade": { @@ -6589,95 +5930,21 @@ "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-scope": { @@ -6909,6 +6176,7 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -6925,6 +6193,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -6947,6 +6216,16 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, "node_modules/fast-uri": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", @@ -6968,6 +6247,7 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -6983,21 +6263,6 @@ "pend": "~1.2.0" } }, - "node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, "node_modules/fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", @@ -7080,6 +6345,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -7166,26 +6432,6 @@ "dev": true, "license": "ISC" }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -7216,6 +6462,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -7310,6 +6557,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7370,6 +6618,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -7401,6 +6650,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -7582,6 +6832,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7660,6 +6911,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7672,6 +6924,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -7687,6 +6940,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -7929,6 +7183,11 @@ "node": ">= 0.4" } }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==" + }, "node_modules/ionicons": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.4.0.tgz", @@ -8117,6 +7376,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8171,6 +7431,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -8233,6 +7494,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -8282,16 +7544,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -8507,24 +7759,6 @@ "dev": true, "license": "MIT" }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/jake": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", @@ -8935,14 +8169,12 @@ } }, "node_modules/jspdf": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-3.0.1.tgz", - "integrity": "sha512-qaGIxqxetdoNnFQQXxTKUD9/Z7AloLaw94fFsOiJMxbfYdBbrBuhWmbzI8TVjrw7s3jBY1PFHofBKMV/wZPapg==", - "license": "MIT", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-3.0.2.tgz", + "integrity": "sha512-G0fQDJ5fAm6UW78HG6lNXyq09l0PrA1rpNY5i+ly17Zb1fMMFSmS+3lw4cnrAPGyouv2Y0ylujbY2Ieq3DSlKA==", "dependencies": { - "@babel/runtime": "^7.26.7", - "atob": "^2.1.2", - "btoa": "^1.2.1", + "@babel/runtime": "^7.26.9", + "fast-png": "^6.2.0", "fflate": "^0.8.1" }, "optionalDependencies": { @@ -8968,22 +8200,6 @@ "verror": "1.10.0" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -9227,6 +8443,7 @@ "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" @@ -9236,22 +8453,10 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/meow": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, "node_modules/merge-stream": { @@ -9265,6 +8470,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -9274,6 +8480,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -9287,6 +8494,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -9299,6 +8507,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -9308,6 +8517,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -9649,60 +8859,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -9838,6 +8994,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10250,12 +9411,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, "node_modules/psl": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", @@ -10317,6 +9472,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, "funding": [ { "type": "github", @@ -10574,13 +9730,6 @@ "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true, - "license": "MIT" - }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -10735,6 +9884,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -10940,6 +10090,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -11624,17 +10775,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, "node_modules/string.prototype.trim": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", @@ -11824,13 +10964,6 @@ "dev": true, "license": "MIT" }, - "node_modules/systemjs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.15.1.tgz", - "integrity": "sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==", - "dev": true, - "license": "MIT" - }, "node_modules/tar": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", @@ -12074,11 +11207,10 @@ "license": "MIT" }, "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.14" } @@ -12094,6 +11226,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -12607,29 +11740,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/vite-plugin-commonjs": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/vite-plugin-commonjs/-/vite-plugin-commonjs-0.10.4.tgz", - "integrity": "sha512-eWQuvQKCcx0QYB5e5xfxBNjQKyrjEWZIR9UOkOV6JAgxVhtbZvCOF+FNC2ZijBJ3U3Px04ZMMyyMyFBVWIJ5+g==", - "license": "MIT", - "dependencies": { - "acorn": "^8.12.1", - "magic-string": "^0.30.11", - "vite-plugin-dynamic-import": "^1.6.0" - } - }, - "node_modules/vite-plugin-dynamic-import": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.6.0.tgz", - "integrity": "sha512-TM0sz70wfzTIo9YCxVFwS8OA9lNREsh+0vMHGSkWDTZ7bgd1Yjs5RV8EgB634l/91IsXJReg0xtmuQqP0mf+rg==", - "license": "MIT", - "dependencies": { - "acorn": "^8.12.1", - "es-module-lexer": "^1.5.4", - "fast-glob": "^3.3.2", - "magic-string": "^0.30.11" - } - }, "node_modules/vite-plugin-pwa": { "version": "0.19.8", "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.19.8.tgz", @@ -12674,62 +11784,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, "node_modules/vitest": { "version": "0.34.6", "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", diff --git a/package.json b/package.json index 010ceec..50e8877 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "@ionic/react-router": "^8.0.0", "@types/crypto-js": "^4.2.2", "@types/react-router-dom": "^5.3.3", - "axios": "^1.9.0", "capacitor-email-composer": "^6.0.0", "crypto-js": "^4.2.0", "html2canvas": "^1.4.1", @@ -38,28 +37,20 @@ "react-dom": "^18.3.0", "react-router": "^5.3.4", "react-router-dom": "^5.3.4", - "react-signature-canvas": "^1.1.0-alpha.2", - "vite-plugin-commonjs": "^0.10.1" + "react-signature-canvas": "^1.1.0-alpha.2" }, "devDependencies": { "@capacitor/cli": "^6.0.0", - "@originjs/vite-plugin-commonjs": "^1.0.3", - "@rollup/plugin-commonjs": "^28.0.6", - "@rollup/plugin-node-resolve": "^16.0.1", - "@testing-library/dom": ">=7.21.4", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.4.3", "@types/html2canvas": "^0.5.35", "@types/react": "^18.0.27", "@types/react-dom": "^18.0.10", "@types/react-signature-canvas": "^1.0.7", "@vite-pwa/assets-generator": "^0.2.4", - "@vitejs/plugin-legacy": "^5.0.0", "@vitejs/plugin-react": "^4.0.1", "cypress": "^13.5.0", "eslint": "^8.35.0", - "eslint-plugin-react": "^7.32.2", "jsdom": "^22.1.0", "terser": "^5.4.0", "typescript": "^5.1.6", diff --git a/src/components/DynamicInvoiceForm.tsx b/src/components/DynamicInvoiceForm.tsx index 53cb6e8..d9acb06 100644 --- a/src/components/DynamicInvoiceForm.tsx +++ b/src/components/DynamicInvoiceForm.tsx @@ -22,21 +22,13 @@ import { IonTextarea, IonChip, IonAlert, + IonDatetime, + IonPopover, } from "@ionic/react"; -import { - close, - save, - trash, - layers, - refresh, - add, - remove, -} from "ionicons/icons"; +import { close, save, trash, refresh, add, remove } from "ionicons/icons"; import { useInvoice } from "../contexts/InvoiceContext"; import { - addInvoiceData, addDynamicInvoiceData, - clearInvoiceData, getDynamicInvoiceData, } from "./socialcalc/modules/invoice.js"; import { @@ -50,11 +42,13 @@ import "./InvoiceForm.css"; interface DynamicInvoiceFormProps { isOpen: boolean; onClose: () => void; + setAutosaveCount: React.Dispatch>; } const DynamicInvoiceForm: React.FC = ({ isOpen, onClose, + setAutosaveCount, }) => { const { activeTemplateData, currentSheetId, selectedFile } = useInvoice(); const [formData, setFormData] = useState({}); @@ -63,7 +57,6 @@ const DynamicInvoiceForm: React.FC = ({ const [toastColor, setToastColor] = useState< "success" | "danger" | "warning" >("success"); - const [lastSyncTime, setLastSyncTime] = useState(0); const [showRefreshAlert, setShowRefreshAlert] = useState(false); // Get current template data @@ -96,8 +89,6 @@ const DynamicInvoiceForm: React.FC = ({ DynamicFormManager.getAllCellReferences(formSections); if (cellReferences.length > 0) { - console.log("Loading existing data from cells:", cellReferences); - // Get existing data from the spreadsheet const existingCellData = await getDynamicInvoiceData(cellReferences); @@ -108,7 +99,6 @@ const DynamicInvoiceForm: React.FC = ({ formSections ); - console.log("Loaded existing form data:", existingFormData); setFormData(existingFormData); } else { // No cell references, initialize with empty data @@ -116,7 +106,6 @@ const DynamicInvoiceForm: React.FC = ({ setFormData(initData); } } catch (error) { - console.error("Error loading existing form data:", error); // Fall back to empty initialization const initData = DynamicFormManager.initializeFormData(formSections); setFormData(initData); @@ -196,60 +185,22 @@ const DynamicInvoiceForm: React.FC = ({ effectiveSheetId ); - console.log("Cell data to be saved:", cellData); - console.log("Effective sheet ID:", effectiveSheetId); - // Use the new addDynamicInvoiceData function that handles cell references await addDynamicInvoiceData(cellData, effectiveSheetId); - // Update last sync time to prevent immediate auto-sync - setLastSyncTime(Date.now()); - showToastMessage("Invoice data saved successfully!", "success"); - + setAutosaveCount((prev) => prev + 1); // Increment autosave count // Close modal after a short delay setTimeout(() => { onClose(); - }, 1000); + }, 500); } catch (error) { - console.error("Error saving invoice data:", error); setToastMessage("Failed to save invoice data. Please try again."); setToastColor("danger"); setShowToast(true); } }; - const saveToSheet = async () => { - try { - // Validate form data - const validation = DynamicFormManager.validateFormData( - formData, - formSections - ); - if (!validation.isValid) { - console.log("Validation errors during save:", validation.errors); - return; - } - - // Convert form data to spreadsheet format - const cellData = DynamicFormManager.convertToSpreadsheetFormat( - formData, - formSections, - effectiveSheetId - ); - - console.log("Saving to sheet after item change:", cellData); - - // Use the new addDynamicInvoiceData function that handles cell references - await addDynamicInvoiceData(cellData, effectiveSheetId); - - // Update last sync time to prevent immediate auto-sync - setLastSyncTime(Date.now()); - } catch (error) { - console.error("Error saving to sheet:", error); - } - }; - const handleClear = async () => { try { // Reset form data without affecting the sheet @@ -260,7 +211,6 @@ const DynamicInvoiceForm: React.FC = ({ "success" ); } catch (error) { - console.error("Error clearing form data:", error); showToastMessage("Failed to clear form data", "danger"); } }; @@ -272,8 +222,6 @@ const DynamicInvoiceForm: React.FC = ({ DynamicFormManager.getAllCellReferences(formSections); if (cellReferences.length > 0) { - console.log("Silently refreshing data from cells:", cellReferences); - // Get current data from the spreadsheet const currentCellData = await getDynamicInvoiceData(cellReferences); @@ -284,12 +232,9 @@ const DynamicInvoiceForm: React.FC = ({ formSections ); - console.log("Silent refresh - form data updated:", refreshedFormData); setFormData(refreshedFormData); } - } catch (error) { - console.error("Error during silent refresh:", error); - } + } catch (error) {} }; const performRefresh = async () => { @@ -299,8 +244,6 @@ const DynamicInvoiceForm: React.FC = ({ DynamicFormManager.getAllCellReferences(formSections); if (cellReferences.length > 0) { - console.log("Refreshing data from cells:", cellReferences); - // Get current data from the spreadsheet const currentCellData = await getDynamicInvoiceData(cellReferences); @@ -311,14 +254,12 @@ const DynamicInvoiceForm: React.FC = ({ formSections ); - console.log("Refreshed form data:", refreshedFormData); setFormData(refreshedFormData); showToastMessage("Form data refreshed from spreadsheet!", "success"); } else { showToastMessage("No data to refresh", "warning"); } } catch (error) { - console.error("Error refreshing form data:", error); showToastMessage("Failed to refresh form data", "danger"); } }; @@ -337,7 +278,10 @@ const DynamicInvoiceForm: React.FC = ({ section.itemsConfig!.range.end - section.itemsConfig!.range.start + 1; if (currentItems.length >= maxItems) { - showToastMessage(`Maximum ${maxItems} items allowed`, "warning"); + showToastMessage( + `Maximum ${maxItems} ${section.itemsConfig.name.toLowerCase()}s allowed`, + "warning" + ); return prev; } @@ -354,11 +298,17 @@ const DynamicInvoiceForm: React.FC = ({ }; const handleRemoveItem = (sectionTitle: string, itemIndex: number) => { + const section = formSections.find((s) => s.title === sectionTitle); + if (!section || !section.itemsConfig) return; + setFormData((prev) => { const currentItems = prev[sectionTitle] as any[]; if (currentItems.length <= 1) { - showToastMessage("At least one item is required", "warning"); + showToastMessage( + `At least one ${section.itemsConfig.name.toLowerCase()} is required`, + "warning" + ); return prev; } @@ -406,6 +356,39 @@ const DynamicInvoiceForm: React.FC = ({ /> ); + case "date": + return ( + + {field.label} + + + { + const selectedDate = e.detail.value as string; + if (selectedDate) { + // Format date as YYYY-MM-DD for storage + const formattedDate = selectedDate.split("T")[0]; + handleFieldChange(sectionTitle, field.label, formattedDate); + } + }} + presentation="date" + preferWheel={true} + /> + + + ); case "number": return ( @@ -467,7 +450,9 @@ const DynamicInvoiceForm: React.FC = ({ {items.map((item, index) => (
- Item {index + 1} + + {section.itemsConfig.name} {index + 1} + {items.length > 1 && ( = ({ )} {Object.entries(section.itemsConfig!.content).map( - ([fieldName, cellColumn]) => ( - - {fieldName} - - handleItemChange( - section.title, - index, - fieldName, - e.detail.value! - ) - } - placeholder={`Enter ${fieldName.toLowerCase()}`} - /> - - ) + ([fieldName, cellColumn]) => { + const fieldType = DynamicFormManager.getFieldType(fieldName); + const itemValue = item[fieldName] || ""; + + if (fieldType === "date") { + return ( + + {fieldName} + + + { + const selectedDate = e.detail.value as string; + if (selectedDate) { + // Format date as YYYY-MM-DD for storage + const formattedDate = + selectedDate.split("T")[0]; + handleItemChange( + section.title, + index, + fieldName, + formattedDate + ); + } + }} + presentation="date" + preferWheel={true} + /> + + + ); + } + + return ( + + {fieldName} + + handleItemChange( + section.title, + index, + fieldName, + e.detail.value! + ) + } + placeholder={`Enter ${fieldName.toLowerCase()}`} + /> + + ); + } )}
))} @@ -520,7 +553,7 @@ const DynamicInvoiceForm: React.FC = ({ disabled={items.length >= maxItems} > - Add Item ({items.length}/{maxItems}) + Add {section.itemsConfig.name} ({items.length}/{maxItems}) @@ -580,6 +613,12 @@ const DynamicInvoiceForm: React.FC = ({ Edit {selectedFile} + + + + + + @@ -604,23 +643,6 @@ const DynamicInvoiceForm: React.FC = ({ {formSections.map((section) => renderSection(section))} - - {/* Action Buttons */} -
- - - Save Data - - - - Clear All - -
diff --git a/src/components/FileMenu/FileOptions.tsx b/src/components/FileMenu/FileOptions.tsx index 6daaa04..55d8e0f 100644 --- a/src/components/FileMenu/FileOptions.tsx +++ b/src/components/FileMenu/FileOptions.tsx @@ -118,7 +118,7 @@ const FileOptions: React.FC = ({ try { await onSave(); } catch (error) { - console.error("Auto-save failed:", error); + // Error handled } } }; @@ -138,7 +138,7 @@ const FileOptions: React.FC = ({ setSavedLogos(logos); } } catch (error) { - console.error("Error loading saved logos:", error); + // Error handled } }; @@ -189,7 +189,7 @@ const FileOptions: React.FC = ({ // Trigger auto-save if enabled await triggerAutoSave(); } catch (error) { - console.error("Error applying logo:", error); + // Error handled setToastMessage("Failed to apply logo"); setShowToast(true); } @@ -204,7 +204,7 @@ const FileOptions: React.FC = ({ setSavedSignatures(signatures); } } catch (error) { - console.error("Error loading saved signatures:", error); + // Error handled } }; @@ -235,7 +235,7 @@ const FileOptions: React.FC = ({ } return false; } catch (error) { - console.error("Error checking for existing file:", error); + // Error handled return false; } }; @@ -259,7 +259,7 @@ const FileOptions: React.FC = ({ const content = AppGeneral.getSpreadsheetContent(); const now = new Date().toISOString(); if (!currentFile) { - console.log("No current file found"); + // Error handled setToastMessage("Error saving file!"); setShowToast(true); return; @@ -284,7 +284,7 @@ const FileOptions: React.FC = ({ data.templateId, data.isEncrypted ); - console.log(file); + // Error handled await store._saveFile(file); setToastMessage("File saved successfully!"); @@ -296,7 +296,7 @@ const FileOptions: React.FC = ({ link.click(); }, 200); } catch (error) { - console.error("Error saving file:", error); + // Error handled if (isQuotaExceededError(error)) { setToastMessage(getQuotaExceededMessage("saving file")); @@ -360,7 +360,7 @@ const FileOptions: React.FC = ({ // Trigger auto-save if enabled await triggerAutoSave(); } catch (error) { - console.error("Error removing logo:", error); + // Error handled setToastMessage("Failed to remove logo"); setShowToast(true); } @@ -402,7 +402,7 @@ const FileOptions: React.FC = ({ // Trigger auto-save if enabled await triggerAutoSave(); } catch (error) { - console.error("Error removing signature:", error); + // Error handled setToastMessage("Failed to remove signature"); setShowToast(true); } @@ -455,7 +455,7 @@ const FileOptions: React.FC = ({ // Trigger auto-save if enabled await triggerAutoSave(); } catch (error) { - console.error("Error applying signature:", error); + // Error handled setToastMessage("Failed to apply signature"); setShowToast(true); } diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx index 74b6186..b13cd4f 100644 --- a/src/components/Menu/Menu.tsx +++ b/src/components/Menu/Menu.tsx @@ -288,7 +288,7 @@ const Menu: React.FC<{ setToastMessage(`CSV generated and ready to share!`); setShowToast1(true); } catch (shareError) { - console.log("Error sharing CSV:", shareError); + // Error handled // Fallback: generate CSV normally await exportCSV(cleanedCSV, { filename: csvFilename, @@ -300,7 +300,7 @@ const Menu: React.FC<{ reader.readAsDataURL(csvBlob as Blob); } } catch (error) { - console.error("Error processing CSV for sharing:", error); + // Error handled // Fallback to normal CSV generation await exportCSV(cleanedCSV, { filename: csvFilename, @@ -318,7 +318,7 @@ const Menu: React.FC<{ setShowToast1(true); } } catch (error) { - console.error("Error generating CSV:", error); + // Error handled setToastMessage("Failed to generate CSV. Please try again."); setShowToast1(true); } finally { @@ -334,7 +334,7 @@ const Menu: React.FC<{ // Get all sheets data using the new function from index.js const sheetsData = AppGeneral.getAllSheetsData(); if (sheetsData.length > 3) { - console.log(sheetsData); + // Error handled return; } @@ -394,7 +394,7 @@ const Menu: React.FC<{ ); setShowToast1(true); } catch (shareError) { - console.log("Error sharing combined PDF:", shareError); + // Error handled // Fallback: still generate PDF normally await exportAllSheetsAsPDF(sheetsData, { filename: pdfFilename, @@ -412,7 +412,7 @@ const Menu: React.FC<{ }; reader.readAsDataURL(pdfBlob as Blob); } catch (error) { - console.error("Error processing combined PDF for sharing:", error); + // Error handled // Fallback to normal PDF generation await exportAllSheetsAsPDF(sheetsData, { filename: pdfFilename, @@ -447,7 +447,7 @@ const Menu: React.FC<{ setShowToast1(true); } } catch (error) { - console.error("Error generating combined PDF:", error); + // Error handled setToastMessage("Failed to generate combined PDF. Please try again."); setShowToast1(true); } finally { @@ -506,15 +506,15 @@ const Menu: React.FC<{ const urlsToBase64 = async (htmlContent: string): Promise => { const imgArr = extractImageUrls(htmlContent); - console.log("HTML content for server PDF:", imgArr); + // Error handled const urlReplace: string[] = []; if (imgArr.length > 0 && imgArr[0] !== -1) { // Do something with the image array - console.log("Extracting image URLs:", imgArr); + // Error handled for (const imgUrl of imgArr) { - console.log("trying to convert to base64:", imgUrl); + // Error handled if (typeof imgUrl === "string") { // Server conversion disabled - using placeholder // const parts = imgUrl.split("/"); @@ -632,7 +632,7 @@ const Menu: React.FC<{ icon: print, handler: () => { doPrint(); - console.log("Print clicked"); + // Error handled }, }); @@ -643,7 +643,7 @@ const Menu: React.FC<{ icon: download, handler: () => { showPDFNameDialog(); - console.log("Download as PDF clicked"); + // Error handled }, }, { @@ -651,7 +651,7 @@ const Menu: React.FC<{ icon: documentOutline, handler: () => { showCSVNameDialog(); - console.log("Export as CSV clicked"); + // Error handled }, }, { @@ -659,7 +659,7 @@ const Menu: React.FC<{ icon: documents, handler: () => { showExportAllPDFNameDialog(); - console.log("Export All Sheets as PDF clicked"); + // Error handled }, } // { @@ -667,7 +667,7 @@ const Menu: React.FC<{ // icon: mail, // handler: () => { // sendEmail(); - // console.log("Email clicked"); + // // Error handled // }, // }, ); diff --git a/src/components/Storage/LocalStorage.ts b/src/components/Storage/LocalStorage.ts index 84f4b7b..bb77852 100644 --- a/src/components/Storage/LocalStorage.ts +++ b/src/components/Storage/LocalStorage.ts @@ -181,7 +181,7 @@ export class Local { return true; } catch (error) { - console.error("Error updating template ID:", error); + // Error handled return false; } }; diff --git a/src/components/socialcalc/modules/formatting.js b/src/components/socialcalc/modules/formatting.js index 2fb93e7..a30bdfc 100644 --- a/src/components/socialcalc/modules/formatting.js +++ b/src/components/socialcalc/modules/formatting.js @@ -7,7 +7,6 @@ if (typeof window !== "undefined" && window.SocialCalc) { } else if (typeof global !== "undefined" && global.SocialCalc) { SocialCalc = global.SocialCalc; } else { - console.error("SocialCalc not found in global scope"); SocialCalc = {}; // Fallback to prevent errors } @@ -16,7 +15,6 @@ export function changeSheetColor(name) { var editor = control.workbook.spreadsheet.editor; name = name.toLowerCase(); - //console.log("changing sheet color to: "+name); SocialCalc.EditorChangeSheetcolor(editor, name); } @@ -53,7 +51,6 @@ export function executeCommand(cmdline) { } export function applySelectedFormatting(coord, formatting) { - console.log("Applying formatting:", formatting, "to cell:", coord); const control = SocialCalc.GetCurrentWorkBookControl(); const editor = control.workbook.spreadsheet.editor; @@ -76,7 +73,6 @@ export function applySelectedFormatting(coord, formatting) { } else { // Fallback to direct command const cmd = `set ${coord} font * * ${formatting.fontSize}`; - console.log("Executing font command:", cmd); editor.EditorScheduleSheetCommands(cmd, true, false); } } @@ -88,14 +84,12 @@ export function applySelectedFormatting(coord, formatting) { } else { // Fallback to direct command const cmd = `set ${coord} color ${formatting.fontColor}`; - console.log("Executing color command:", cmd); editor.EditorScheduleSheetCommands(cmd, true, false); } } if (formatting.bgColor) { const cmd = `set ${coord} bgcolor ${formatting.bgColor}`; - console.log("Executing bgcolor command:", cmd); editor.EditorScheduleSheetCommands(cmd, true, false); } @@ -104,24 +98,20 @@ export function applySelectedFormatting(coord, formatting) { } export function resetCellFormatting(coord) { - console.log("Resetting formatting for cell:", coord); const control = SocialCalc.GetCurrentWorkBookControl(); const editor = control.workbook.spreadsheet.editor; // Reset font to default using SocialCalc command const fontCmd = `set ${coord} font * * *`; - console.log("Executing reset font command:", fontCmd); editor.EditorScheduleSheetCommands(fontCmd, true, false); // Reset color to default const colorCmd = `set ${coord} color *`; - console.log("Executing reset color command:", colorCmd); editor.EditorScheduleSheetCommands(colorCmd, true, false); // Reset background color to default const bgCmd = `set ${coord} bgcolor *`; - console.log("Executing reset bgcolor command:", bgCmd); editor.EditorScheduleSheetCommands(bgCmd, true, false); // Redisplay to show changes diff --git a/src/components/socialcalc/modules/invoice.js b/src/components/socialcalc/modules/invoice.js index b95cb71..afe697e 100644 --- a/src/components/socialcalc/modules/invoice.js +++ b/src/components/socialcalc/modules/invoice.js @@ -7,12 +7,10 @@ if (typeof window !== "undefined" && window.SocialCalc) { } else if (typeof global !== "undefined" && global.SocialCalc) { SocialCalc = global.SocialCalc; } else { - console.error("SocialCalc not found in global scope"); SocialCalc = {}; // Fallback to prevent errors } export function getInvoiceCoordinates() { - console.log("=== GET INVOICE COORDINATES ==="); // Invoice coordinates mapping for different sections const coordinates = { @@ -46,8 +44,6 @@ export function getInvoiceCoordinates() { }, }; - console.log("Invoice coordinates mapping:", coordinates); - console.log("=== END GET INVOICE COORDINATES ==="); return coordinates; } @@ -92,7 +88,6 @@ function cleanCellValue(rawValue) { // Log if we cleaned something if (originalValue !== cleanValue) { - console.log(`Cleaned cell value: "${originalValue}" -> "${cleanValue}"`); } return cleanValue; @@ -100,12 +95,9 @@ function cleanCellValue(rawValue) { export function addInvoiceData(invoiceData) { return new Promise(function (resolve, reject) { - console.log("=== ADD INVOICE DATA START ==="); - console.log("Invoice data:", invoiceData); try { var control = SocialCalc.GetCurrentWorkBookControl(); - console.log("Workbook control:", control ? "Found" : "Not found"); if (!control) { throw new Error("No workbook control available"); @@ -116,7 +108,6 @@ export function addInvoiceData(invoiceData) { } var currsheet = control.currentSheetButton.id; - console.log("Current active sheet:", currsheet); // Get invoice coordinates const coordinates = getInvoiceCoordinates(); @@ -235,7 +226,6 @@ export function addInvoiceData(invoiceData) { } var cmd = commands.join("\n") + "\n"; - console.log("Generated SocialCalc commands:", cmd); var commandObj = { cmdtype: "scmd", @@ -244,21 +234,14 @@ export function addInvoiceData(invoiceData) { saveundo: false, }; - console.log("Command object:", commandObj); try { control.ExecuteWorkBookControlCommand(commandObj, false); - console.log("✓ Invoice data added successfully"); - console.log("=== ADD INVOICE DATA SUCCESS ==="); resolve(true); } catch (execError) { - console.error("Error executing command:", execError); throw execError; } } catch (error) { - console.error("=== ADD INVOICE DATA ERROR ==="); - console.error("Error details:", error); - console.error("Stack trace:", error.stack); reject(error); } }); @@ -266,12 +249,9 @@ export function addInvoiceData(invoiceData) { export function getDynamicInvoiceData(cellReferences) { return new Promise(function (resolve, reject) { - console.log("=== GET DYNAMIC INVOICE DATA START ==="); - console.log("Cell references to read:", cellReferences); try { var control = SocialCalc.GetCurrentWorkBookControl(); - console.log("Workbook control:", control ? "Found" : "Not found"); if (!control) { throw new Error("No workbook control available"); @@ -282,7 +262,6 @@ export function getDynamicInvoiceData(cellReferences) { } var currsheet = control.currentSheetButton.id; - console.log("Current active sheet:", currsheet); // Get the current sheet object var sheet = control.workbook.sheetArr[currsheet]?.sheet; @@ -322,20 +301,13 @@ export function getDynamicInvoiceData(cellReferences) { } cellData[cellRef] = value; - console.log(`Cell ${cellRef} = ${value}`); } catch (cellError) { - console.warn(`Error reading cell ${cellRef}:`, cellError); cellData[cellRef] = ""; } }); - console.log("Retrieved cell data:", cellData); - console.log("=== GET DYNAMIC INVOICE DATA SUCCESS ==="); resolve(cellData); } catch (error) { - console.error("=== GET DYNAMIC INVOICE DATA ERROR ==="); - console.error("Error details:", error); - console.error("Stack trace:", error.stack); reject(error); } }); @@ -343,13 +315,9 @@ export function getDynamicInvoiceData(cellReferences) { export function addDynamicInvoiceData(cellData, sheetId) { return new Promise(function (resolve, reject) { - console.log("=== ADD DYNAMIC INVOICE DATA START ==="); - console.log("Cell data:", cellData); - console.log("Sheet ID:", sheetId); try { var control = SocialCalc.GetCurrentWorkBookControl(); - console.log("Workbook control:", control ? "Found" : "Not found"); if (!control) { throw new Error("No workbook control available"); @@ -360,7 +328,6 @@ export function addDynamicInvoiceData(cellData, sheetId) { } var currsheet = control.currentSheetButton.id; - console.log("Current active sheet:", currsheet); // Build commands to set all values from cellData var commands = []; @@ -369,9 +336,8 @@ export function addDynamicInvoiceData(cellData, sheetId) { Object.entries(cellData).forEach(([cellRef, value]) => { if (value !== undefined && value !== null) { if (value === "") { - // Clear the cell if value is empty string - commands.push(`set ${cellRef} value`); - console.log(`Clearing cell ${cellRef}`); + // Clear the cell completely if value is empty string + commands.push(`erase ${cellRef} formulas`); } else { // Determine if the value is numeric or text const stringValue = value.toString().trim(); @@ -391,19 +357,16 @@ export function addDynamicInvoiceData(cellData, sheetId) { : stringValue; commands.push(`set ${cellRef} text t ${encodedValue}`); } - console.log(`Setting cell ${cellRef} = ${value}`); } } }); if (commands.length === 0) { - console.log("No data to update"); resolve(true); return; } var cmd = commands.join("\n") + "\n"; - console.log("Generated SocialCalc commands:", cmd); var commandObj = { cmdtype: "scmd", @@ -412,21 +375,14 @@ export function addDynamicInvoiceData(cellData, sheetId) { saveundo: false, }; - console.log("Command object:", commandObj); try { control.ExecuteWorkBookControlCommand(commandObj, false); - console.log("✓ Dynamic invoice data added successfully"); - console.log("=== ADD DYNAMIC INVOICE DATA SUCCESS ==="); resolve(true); } catch (execError) { - console.error("Error executing command:", execError); throw execError; } } catch (error) { - console.error("=== ADD DYNAMIC INVOICE DATA ERROR ==="); - console.error("Error details:", error); - console.error("Stack trace:", error.stack); reject(error); } }); @@ -434,12 +390,9 @@ export function addDynamicInvoiceData(cellData, sheetId) { export function clearDynamicInvoiceData(cellData) { return new Promise(function (resolve, reject) { - console.log("=== CLEAR DYNAMIC INVOICE DATA START ==="); - console.log("Cell data to clear:", cellData); try { var control = SocialCalc.GetCurrentWorkBookControl(); - console.log("Workbook control:", control ? "Found" : "Not found"); if (!control) { throw new Error("No workbook control available"); @@ -450,7 +403,6 @@ export function clearDynamicInvoiceData(cellData) { } var currsheet = control.currentSheetButton.id; - console.log("Current active sheet:", currsheet); // Build commands to clear all values from cellData var commands = []; @@ -501,7 +453,6 @@ export function clearDynamicInvoiceData(cellData) { } var cmd = commands.join("\n") + "\n"; - console.log("Generated SocialCalc clear commands:", cmd); var commandObj = { cmdtype: "scmd", @@ -510,21 +461,14 @@ export function clearDynamicInvoiceData(cellData) { saveundo: false, }; - console.log("Command object:", commandObj); try { control.ExecuteWorkBookControlCommand(commandObj, false); - console.log("✓ Dynamic invoice data cleared successfully"); - console.log("=== CLEAR DYNAMIC INVOICE DATA SUCCESS ==="); resolve(true); } catch (execError) { - console.error("Error executing command:", execError); throw execError; } } catch (error) { - console.error("=== CLEAR DYNAMIC INVOICE DATA ERROR ==="); - console.error("Error details:", error); - console.error("Stack trace:", error.stack); reject(error); } }); @@ -532,11 +476,9 @@ export function clearDynamicInvoiceData(cellData) { export function clearInvoiceData() { return new Promise(function (resolve, reject) { - console.log("=== CLEAR INVOICE DATA START ==="); try { var control = SocialCalc.GetCurrentWorkBookControl(); - console.log("Workbook control:", control ? "Found" : "Not found"); if (!control) { throw new Error("No workbook control available"); @@ -547,7 +489,6 @@ export function clearInvoiceData() { } var currsheet = control.currentSheetButton.id; - console.log("Current active sheet:", currsheet); // Get invoice coordinates const coordinates = getInvoiceCoordinates(); @@ -589,7 +530,6 @@ export function clearInvoiceData() { commands.push(`erase ${coordinates.total.sum} formulas`); var cmd = commands.join("\n") + "\n"; - console.log("Generated SocialCalc clear commands:", cmd); var commandObj = { cmdtype: "scmd", @@ -598,21 +538,14 @@ export function clearInvoiceData() { saveundo: false, }; - console.log("Command object:", commandObj); try { control.ExecuteWorkBookControlCommand(commandObj, false); - console.log("✓ Invoice data cleared successfully"); - console.log("=== CLEAR INVOICE DATA SUCCESS ==="); resolve(true); } catch (execError) { - console.error("Error executing command:", execError); throw execError; } } catch (error) { - console.error("=== CLEAR INVOICE DATA ERROR ==="); - console.error("Error details:", error); - console.error("Stack trace:", error.stack); reject(error); } }); diff --git a/src/hooks/usePWA.ts b/src/hooks/usePWA.ts index 0bd0d9c..29b7871 100644 --- a/src/hooks/usePWA.ts +++ b/src/hooks/usePWA.ts @@ -69,7 +69,7 @@ export const usePWA = () => { } return false; } catch (error) { - console.error('Error installing app:', error); + // Error handled return false; } }; @@ -86,4 +86,4 @@ export const usePWA = () => { installApp, reloadApp }; -}; \ No newline at end of file +}; diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 6cca9e2..851993c 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -93,6 +93,7 @@ const Home: React.FC = () => { const [isAutoSaveEnabled, setIsAutoSaveEnabled] = useState( getAutoSaveEnabled() ); + const [autosaveCount, setAutosaveCount] = useState(0); const [showSavePopover, setShowSavePopover] = useState(false); // Color picker state @@ -251,11 +252,8 @@ const Home: React.FC = () => { }; const handleSave = async () => { - console.log("💾 handleSave: Starting save", { fileName }); - // If no file is selected, can't save if (!fileName) { - console.log("⚠️ handleSave: No file selected, skipping save"); return; } @@ -600,11 +598,15 @@ const Home: React.FC = () => { null ); + useEffect(() => { + setTimeout(() => { + handleSave(); + }, 1500); + }, [autosaveCount]); useEffect(() => { const debouncedAutoSave = () => { // Only auto-save if enabled if (!isAutoSaveEnabled) { - console.log("⚠️ debouncedAutoSave: Auto-save is disabled, skipping"); return; } @@ -1231,6 +1233,7 @@ const Home: React.FC = () => { setShowInvoiceForm(false)} + setAutosaveCount={setAutosaveCount} /> {/* Floating Action Button for Invoice Edit */} diff --git a/src/pages/LandingPage.tsx b/src/pages/LandingPage.tsx index f28daa2..126790e 100644 --- a/src/pages/LandingPage.tsx +++ b/src/pages/LandingPage.tsx @@ -45,15 +45,15 @@ const LandingPage: React.FC = () => { }, [history]); const handleGetStarted = () => { - console.log("handleGetStarted called"); + try { // Mark user as existing (no longer new) markUserAsExisting(); - console.log("User marked as existing"); + // Navigate to the files page - use replace to avoid back button issues - console.log("Navigating to /app/files"); + history.replace("/app/files"); - console.log("Navigation completed"); + } catch (error) { console.error("Error in handleGetStarted:", error); } diff --git a/src/templates-meta.ts b/src/templates-meta.ts index 6f201ea..1e57155 100644 --- a/src/templates-meta.ts +++ b/src/templates-meta.ts @@ -53,6 +53,36 @@ export let tempMeta = [ ImageUri: "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mEhxcTE1a9Zk6dKlhIWFcdlll9GuXTurjFKKH374gc2bNxMaGsoll1xC9+7drdfT0tLIy8ujefPmLFmyhN9//51u3bpZ+47s3LmTzMxMLrvssoD3sm/fPvbt20e/fv0q/Po4HA7Gjx/P5s2biY6OLrfMqeqXl5dHUlISPXv2ZPny5Wzfvp1WrVoxZMgQMjIyWLNmDVlZWQwYMIAOHToE3PvYsWMsX76c/fv306xZMwYNGlTuKp9CiL+u6OhoFi5cyGWXXValltyxY8fy4IMPWi0qpbuJKtrpGnwL4D300EPWfk9z5szh6quvrrD8zp07AxbeGzRoEJGRkZWu54gRI/jPf/4DwI4dO/jggw9kQbxgoILQm2++qQC1a9cu69z8+fMVoL7++utTXn/77bcrQF1yySWqXr16KjIyUi1btsx6vU6dOqp///6qQYMGqkePHsput6tGjRqp2NhY1bJlS9W4cWMFqLvuusu6ZvTo0SoyMlJFRUWpHj16qNDQUKXrupo+fbpV5vnnn1eAatOmjWrWrJkC1E033WS9/uqrr6qYmBg1atQo1alTJ9WgQQMFqMmTJyullJo3b54C1G+//RbwfgYPHqz69u1b4fuNjY1V48aNU926dVPXXXddwPMAlZubW6n6JSQkKEANGDBAtWnTRrVt21YBqlevXqp27dqqa9euKiwsTAFq3rx51nU//fSTatKkiXI4HKp79+4qNDRUNWnSRG3atCmgnk899VRAfYQQZ1/r1q0VoAA1bty4Mq9HRUVZr8+YMaPce7z++utWGf/HrbfeetLnjhw5ssw1rVu3PmV9R48ebZUPDQ1V3377bbnlcnNzVf/+/QPuv3HjxoAy+/btC3h91qxZAa+npKQou91uvR4TE6MSExMrrNvatWvVihUrAs699NJLAc9ITU095XsUZ+aCCTLPPPOMAtTvv/9+0msXLFigACu4uN1uddNNN6no6Gh1+PBhpZQvyAwbNky53W6llFIrV64MCBRut1vdeOONClBHjhxRSvn+sbVo0UJlZGQopZTKyspS1157rQLU1q1blVJKHTx4UCUkJCillPJ6verhhx9WgEpKSlJKHQ8Wy5cvt8rccsstqkaNGqq4uFgVFRWpOnXqqEceecR6P4cPH1a6rqu33367wvccGxurbrrpJpWcnKycTqd65513Ap7nDw6nqp8/yDz/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9x5PPvnkGdUVym6Udqb1OxnDMM76OCQhhBDVW1B3LbVq1QpN09i0adP5rsqfZtSoUdx1113ccMMN3Hvvvee7OmfF5MmT0TSN55577nxXRQghRJAJyq6lAwcOBCxE161bt/O+b49/r6Vu3bqd0+f490qq7Nb0wWD37t0B6/9cccUVVleXEEIIcTJBGWSEEEIIISDIu5aEEEIIUb1JkBFCCCFE0ArKIHPkyBHWrl3LunXrzndVzti5fA9paWmsXbu2Wg2GFkIIUb0EZZBZtGgREydOtFbr/eOPP7jmmmvo378/l112WZU3OTxfCgoKzmhBu1NZtWoVDzzwwGnvAiuEEEL81QVlkElKSuLee+/lgw8+oKioiL59+zJ27FhWr17N+vXrA3am3rJlC4WFhYBvsbesrCz27NlDRkYG4NvM0L/CrNfrJS0tjaysLFJTUwOemZ+fT0JCgrVjdGZmJoWFhezcuZNDhw5Vuu4pKSnWTta//PJLwCynE+vrr1NiYiJKKXJycgDfLqwJCQnWXiOmaZKamkpBQQGbN2+26jh+/HhuvfVWaxduIYQQ4kITlAviJSUlce211wK+5e/btGnDzTffHFAmOTmZMWPG0Lt3b9avX8/MmTNZvnw5GzdupHPnzixatIiBAwcSGRnJ3Llz2b9/Pz///DP33XcfV155JatWreKqq65i1qxZbNq0ibvvvpvevXvz5Zdfsnz5ch566CEMw6BJkyb897//JTk5mdatW5ObmwvAP/7xDyIiInj88cetOt16663YbDZ27drF119/zdatW61NFcurb9u2bRkxYgRdunThxx9/5J577mHkyJGMGjWKzp07s27dOiZPnkyrVq24+eab6dOnDzt37iQ2NpaZM2daX6t+/fr9CX8rQgghxHmgglBUVJQ6dOiQUkqpMWPGqE8//bRMmbi4OLV27VqllFL//ve/1UMPPaTuu+8+9eGHHyqllJowYYJavHixUkqpK6+8Um3atEktXLhQ3X///UoppQ4dOqRq1qyp3G636t27t8rJyVFKKdW2bVtVXFysrr76arVt2zallFJDhw5V69atU126dFF79+5VRUVFqnnz5iorK8uqj8vlUlFRUWrv3r3Wudtvv119/vnnFdb3wQcfVHPmzFFKKTVu3Dj19ddfq4kTJ6qNGzda72Ht2rXq+++/V2PHjlVKKbV+/Xo1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iIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQ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", }, + { + name: "Tablet-Invoice-1", + category: "Tablet", + template_id: 5001, + ImageUri: + "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hBASEAghhBBCAgIhhBBCUIsDAtM0+f777/n+++85efKkr4tToZ07d3oWeSlWUFDApk2bKuX8DofD8zuUXkBGiPNRU+pWWloaKSkpXtukbglRsVobEJReovX555/nmmuuYdiwYaxcuRKA7777rtwV2s7V9u3b2bZtW4X7H3jggQrzefbZZ/nll1+8tqWlpXH//fdfcLlAlo4Vla903Vq+fDkDBw5k2LBhzJkzBzhznThbR48ePe1SygsXLuSbb74pd9/y5cuZO3eu1zapW0JUrNYGBHBqidawsDBeeeUVVqxYwRdffMHVV18NwJNPPlnmRn306FGvCVdKLnFcrOTSrADz589n48aN5Zbh5MmTzJ8/n4ULF3ptz8rKYv/+/V7blFJs27YNl8vltd00Tc/6CeXlD+6WhpKvqhR/l6VjRVUoufzxtGnTeO211/jiiy+YPHkyUH6dyM/PJzk52fP9bOrWxo0b+eijjyosxwcffMD//vc/r212u53t27d7bbuQupWSkuLVAiB1S9RWl8TUxcHBwRiGwapVqzzBwJYtW/jzzz/573//y+DBg3E4HDzxxBO0bNmSPn36MGnSpHKXOC69NOvUqVNZt24du3btwjTNMgsdzZ8/n/vvv58PP/yQO++8E4C1a9dyzz33EBsbS2JiomdCo7Fjx2IYhlczbP/+/YmKiqJOnTo8/fTT/Oc///HKf+bMmcTHx9O2bVucTievv/661/e33367yn9fcWlr1aoVn332GVOmTEHXdbKzs73qxJgxY2jZsiV9+/alWbNmzJgx46zq1uzZs1m6dClbt25lxowZTJs2DV0/9QyzZ88eQkNDSUlJITs7m/DwcDIyMhg+fDidO3dm06ZNXHPNNcD51a3Zs2fz8MMP88cff5CZmcnnn3/O0KFDpW6J2ktVsio45XnJz89XjRs39nxPSkpS/fv3V8OGDVNHjhxRSil1xRVXqH379imllFq2bJm65pprPOnnzJmj/vOf/yillDp+/Lhq1aqV2rhxo7r++us9aa688kq1e/du9a9//Uu999575ZajR48e6tixY2rgwIFqx44dnnxPnDihlFJq0qRJatmyZerTTz9VM2fOVEoptW/fPnXFFVd40q5cuVIppcrN/9dff1WNGzdWycnJSimlMjMzvb4X69atm+dahbgQpetWRkaGmjRpkurQoYPauHGjUkp51Yn8/HwVGhqqTp48qZQ6t7q1bNkyNWnSpHLLMWXKFPXll1+qmTNnqldffVUppdT999+vVq9erZRS6r333lP/+te/zrtu7d69W8XGxqoFCxYopaRuierhy3tore4yKKljx44kJibSr18/7r333nLTNG3a1PP3rVu3kpSUxIwZM3jhhReYOHGi19KsM2bMOOPSrD///DOGYfDbb7/Rtm1b5s2bR3p6OpmZmQQHB3ulXbVqVYVztDdv3hyg3PyjoqJ49913uf3223nuueeoW7eu13chqlpERARvv/02L7/8MkOHDi03Tf369QkMDAQqp24VFBQwf/58AgICiIqKYv78+QCsXLmSFi1aeKU937rl7+/v6ZKYNGkSNptN6pao1S6JLgOA3NxcgoOD6devn2dQocViIS8vr9z05S1xvHHjxnKXZrVYLJ414Et666236NChA2vWrCEiIoJ3332Xxx9/nPT0dI4ePUpERIQnbbNmzdiwYQNjx46t8BoqWhrWarWyYsUKWrRowS233ELHjh29vkdGRp75BxLiPBXXrcsvvxyXy4VpmhXWCTi3urVr165yz7Nw4UI6dOjgWZ306NGj7Nixg+bNm7N+/XpGjBjhSXshdevQoUN8+eWXXH/99SxdupS+fftK3RK11iURELhcLvr370+9evXIycnhlVdeAWDgwIEkJCQQFxfHDTfc4HVMRUscl7c065VXXsltt93Gp59+yueff05wcDDHjx/nyy+/ZP/+/QQEBADusQPfffcdjz/+ODExMXTu3Jn09HRGjhzJhAkTuPLKK+natSuNGzcu9zrKWxp28uTJtG/fnk6dOtGxY0cMw6Bt27ae73Xr1q3aH1dc8u6++24OHjxIVlYWs2bNQtd1rzpRelDgudStLl268NNPPxEfH89jjz1Gv379AJg7dy5PPvkkcXFxABiGwfvvv89DDz3EiBEjeO655zAMg/79+5933XriiSe45ZZbyMzMRNM0YmJivOqa1C1R29TaxY1KL9HqcDjYtm0bHTp0wM/Pz8elq36ydKyoLOUtf7xt2zaio6MJCwvzYcl8Q+qWqEyyuFEVKblEq9VqpVu3bpdcMCBLx4qqUHr5444dO15ywYDULVHb1NoWAiGEEKKmkRYCIYQQQviUBARCCCGEkIBACCGEELX4tUPTNFm9ejUAPXv2JCgoyMcl8r3du3dz8OBBGjRoQExMjK+LI2ooqVtlZWRksH37dmw2G7Gxsb4ujhDnpda2EJReka2wsJD777+fPn36EBcX55mH/J577vH843Y+qx/m5+dzxx13cO211zJo0CCys7PPuEIbnHkVtzMJCgpC0zTPZ9euXQBcccUVFS5Ju2zZMh544AGeffbZ885XiNJ1C+C1114jNjaWAQMG8I9//AOAjz/+mFmzZgGVV7dM0yyzUFhpZ5PmdK6//nqvuvXOO+8Ap69bycnJnnkLhKixKnsu5Co45XkpPd/61KlT1SOPPHLaY0qubXC2PvvsMzVhwgSvbeXNv37gwAGVmpp62jR2u11t2rRJ2e32s87/m2++UTfffHOF+3/77TeVn5/v+b5o0aIK54YX4myUrltLly5V8fHxKi8vr8JjKqtu5efnq9atW3ttK123yktzPnXr6NGjql27dqqwsLDc/aXrVkZGRpl8hThXvryH1toWgtLmzp3Lv/71L69ty5cvp1GjRvz4449eqx+uXLmSa6+91rOe+4IFC5gyZUq5523RogWbN28mJSXFs63kCm2mafLZZ5/x97//nenTp3tWQyydJjk5mR49evDaa6/Ro0cPduzYcVbX9eijj3qu6z//+Q8hISGAeza4nj178uKLL3pWfhOiKrz11ltMnjzZMyMnQFpaGh06dODpp58uU7dmzZrFf//7XwCOHDlCr169yj1veXXr66+/JisrixkzZpCSklJu3Sqd5nzr1qxZs7j//vvx8/OTuiUuDZUdYVTBKc9LyaeY9PR0ryeakm666Sa1Zs0apZT3U8xHH32k7r33XqWUUsOGDVObN2+uMK8lS5aoFi1aqEceeUTZ7fYKn/7Xr1+vIiIiyk1zww03qPXr1yullPr222/VLbfccsZr/OSTT8q0DhRf55133qmWLFmilHK3IowaNUopJS0E4sKVbiHo0qWLZyXPkl555RU1a9YspZR33Tp06JDq1KmTUkqpZ599Vr344osV5lW6blX09F+ybpVOcz51KzU1VbVs2dKrdeBMdUtaCERl8OU99JJoIahbty5//vknOTk5Z33MiBEj+PLLL0lLS+PAgQN07dq1wrSDBw9m8+bN7N+/n7feeqvM/tdff52BAwfyxRdfYLPZyMzMLJPmt99+Y8mSJcyYMYP169cTHx9/2vKZpsn06dPLtHqUJzo6moMH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gCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgSVVHH0Bbq1QqHX0IAHSQUkpHH0Kn1eWCIPGCAE5vlUrFONUO/A/hyXHLAAAQBHReBw4cSKVSSaVSydChQ3PPPffk4MGDbb6f7373u/n85z/f6jLLly/P5s2bkyTNzc0599xzs2XLljY/FvhfHT58OOeee2527dp1Svf70ksvZd68eTl8+PAp3S//f4KATu9Pf/pT5s+fn8ceeywzZsxomb537940Njbm0KFDLdMOHTqU1atXH7V+U1NTnn766TQ3Nx81ffXq1XnppZcyceLETJ8+vWV6KSUrV648Kj5uv/32/O1vf0uSVFdX58EHH8zAgQNbll+1alVefPHFo7Z/ZHpTU9NJXgE4sUceeSTr16/PggULjpm3fv367N27N0myZs2ao34GTvS6PZGXX345q1atarkVsnnz5kyZMkUQdCaljbXDJjvV/jl19u/fX5KUJ598spRSyvz580uPHj3KoUOHygMPPFD69u1bRo0aVc4777yyfv36sm7dunL22WeXiy++uHzmM58ppZSyYMGCUltbWxoaGsrAgQNLc3NzGT58eGloaCjDhw8v3/zmN0uSMnHixFJKKb179y7vfOc7S319fRk8eHBZu3ZtmTdvXqmpqSmXXHJJ+frXv14+/vGPlyRl1apVZfv27eXiiy8ugwYNKjU1NWXOnDmllFKGDx9eLr/88nLRRReVurq68tRTT3XMRaRDnMpx6rrrrivXXXddaWhoaJl2xx13lMGDB5cRI0aU7t27l3e9611l5MiRZcCAAaWxsbHV1+3SpUtLKaVMnTq1TJ48ufz9738v9fX15cILLyzDhg0rDQ0NZd++feW2224rScr48ePLww8/fErOtSuM/x15DoKATuv/BsGTTz5ZkpRNmzaV6urqsmzZslJKKZ/97GfLLbfcUh566KHSv3//8uc//7mUUsqePXtKdXV1Wbx4cSmllB07dpRSXhn0pk2b1rKfWbNmHRUEjzzySNm/f3/54Ac/WD71qU+VUkrp379/efTRR486rlWrVpW77767XHnllaWpqaksXbq0VFVVlZ07d5bhw4eX73//+6WUUiZOnFhmzpzZ3peL08ipGqe2bdtWqqqqytatW0ttbW357W9/W0p5JQhuueWWUkopH/7wh8vnPve5UkopY8aMKXPmzGn1dXu8IEhS1q5dWw4fPlze+ta3lp///Odl1apVJUlpbm4+JedaStcY/zvyHNwyoMtobGxMz549c+jQoTQ3N2fu3Lm5+uqrs27duvTt2zfXXnttbrzxxowdOzZTp07Ntm3b0tzcnPe9731Jkn79+rVsa8yYMSfczxlnnJHu3btn9OjR2bZtW6vH9I9//CMjR45MTU1Nrrzyyhw8eLBlnbe85S1Jkvr6+rzwwgsnefZwrIULF2bgwIHZtGlTLrzwwvzoRz9qmdenT58kSa9evVJbW5vklZ+BAwcOtPq6PZF+/fqlUqmkvr4+//rXv9rvpGg3goAu4fHHH8/s2bNz55135uyzz05dXV0mT56cX/7yl1m8eHHmzJmTmpqafPnLX87DDz+c+++/P29+85tTV1eXJUuWpKmpKTt27Hhd+9q3b19efvnl/PGPf8yIESOSJFVVVdm9e3fL/dgjzj///DzxxBNpbm7O008/ndra2gwaNKitTx+OUUrJvHnzMnr06KxYsSKjRo3KkiVLXtc/1id63Z511lkt8bp9+/ZWt1FV9cq32o/3c8HpSRDQ6V122WW544478slPfjLf+ta30r1798yePTtTpkxJpVLJu9/97uzfvz+PP/54Bg4cmClTpmTChAkZMGBAZs+enVmzZqV79+65+uqrX9cH/D7wgQ+kW7dueeaZZ1q+fXDNNdfkox/9aK644oqjlr3tttty4MCBDBs2LB/5yEdy7733pkePHu1yHeDVfvWrX2XLli257777cs8992TOnDnp379/Fi5c+Jrrnuh1e+ONN2bWrFnp1q1bVq5c2eo2hgwZkgsuuCB9+/bNV77ylbY6LdpR5T/3LNpugx38Czc6ev90bXV1dfnZz36Wyy+/vKMPhU7MONU+usJ17chz8A4BAOAdAoBTzTjVPrrCdfUOAQDQobrkw4084AI43RmnON10ySDo7G8ZAV1bV3hr+3Qksk6OWwYAgCAAAAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAAEQQAQAQBABBBAABEEAAASao6+gDaQ6VS6ehDAGiVcYrTTZcMglJKRx8CwAlVKhXjVDsQWSfHLQMAQBAAAIIAAEgX/QxBkjQ2Nmb58uXHnTdkyJDcdNNNWbp0aZYvX55du3Zl5MiRmT59empra1/XuqWU3HDDDVm0aFG6devWMv/+++/P2972tnzsYx9rl/MC6Gy2b9+eb3zjG9m6dWtGjRqVGTNmpKam5oTLL1q0KMuXL0+vXr1y6623ZsyYMa9rHienywbBs88+m9/97ndJkrVr12bnzp257LLLkiT79u3L3LlzM23atEyYMCGDBg3KD3/4wyxbtix/+MMfXnPdJPnFL36Rhx56KBMmTMikSZNa9vud73wnl156qSAASLJ///6MHz8+STJ27Nh87Wtfy4YNG7Jw4cLjLj9//vxMnjw5t956a1auXJmrrroqjY2NOf/881udRxsobawdNnnS+7/55pvL0KFDW/7+3HPPld69e5dJkya1TNuyZUuprq4u9957b6vrHnHDDTeUJOX973//UdOHDh1abr755pM9DaAL6+hx8lSaPXt2qaqqKtu2bSullPKlL32pdO/evezcufOYZfft21f69etX7rrrrlJKKS+88EKprq4ud999d6vzjugK17Ujz+EN+RmCRx99NLt27cpdd93VMu2cc87JuHHjTnir4NWef/75LFu2LJMmTcqvf/3rrF+/vj0PF6DTeuKJJzJ8+PAMGDAgSXLppZfmwIED+ctf/nLMsuvWrctzzz3XchugT58+GTFiRNasWdPqPNrGGzIINm/enCR5xzvecdT0/v37Z9OmTa+5/o9//ONUV1dn7ty56dOnT+bNm9cuxwnQ2T377LPp06dPy9+P/HnHjh3HXfbVyxz5844dO1qdR9t4QwbBGWeckSTZs2fPUdN37tyZM8888zXXX7BgQa699tqceeaZuf7667No0aI0Nze3y7ECdGa9e/du+exV8t9xt1evXsddNskxy9fW1rY6j7bxhgyCIx9AWbFiRcu0PXv25Pe//30uuuiiVtddsWJFVq9enSVLlqRSqeQHP/hB/vnPf+anP/1pux4zQGd01llnZePGjTl8+HCS/75De9555x2zbH19fZJk48aNLdM2btyYYcOGtTqPttFlv2XQmnHjxuWCCy7I9OnTs3v37vTu3Tvf+9738vzzz+eLX/xiq+s+8MADqaury09+8pOWX5M5efLkLFy4MNdff32SV94K+81vftOyzjnnnJMhQ4a02/kAnK4+9KEPZf78+Zk2bVq+8IUvZPHixbnmmmsyYMCA7N69O1OnTs173vOefPrTn87gwYNzySWX5Nvf/nauuuqqPPXUU3nxxRdz0003tTqPNtLWn1Jsh02e9P6P902Bv/71r2XIkCElSUlSevbsWR588MFW1927d2/p2bNn+cQnPnHUMjNnzixvetObyjPPPFOGDh3ass0j/82aNavtThDo9Dp6nDzV7rvvvlJXV1eSlIEDB5YNGzaUUkpZu3ZtSVJGjx7dsuzWrVvL+PHjW8bPV3+LoLV5pXSN69qR51D5zwG0mY5+aMf/sv+DBw9m/fr1OXDgQBoaGo76BUMA7aWjx8mO0NTUlDVr1mTEiBFH/VKixsbG1NfXt3wL4YgNGzakR48eefvb337Mtk40rytc1448hzd0EAB0BONU++gK17Ujz+EN+aFCAOBoXfJDhZ6JDZzujFOcbrpcEHT2t4sAoCO4ZQAACAIAQBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAECSqvbYaKVSaY/NAgDtpM2DoJTS1psEANqZWwYAgCAAAAQBABBBAABEEAAAEQQAQAQBABBBAAAk+TfASBETqTACzQAAAABJRU5ErkJggg==", + }, + { + name: "Tablet-Invoice-2", + category: "Tablet", + template_id: 5002, + ImageUri: + "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vXr1qFixIvfddx979uwBYOLEifTu3RuA+Ph4Bg0aRPny5WndujVz5swhIyPDa7KQUorp06d71W38+PEopShdujSRkZFs27bNa//MmTMZN24cAI888kie6yml2Ldv3wXLEUJcidyLC4NpakytQNmuyY/GClpjmgrTNC7/xzN8IAGByOuGDwhyOnDgAIMGDfLqWgsNDeW+++5jwYIFAJw6dYply5YxZMgQfvrpJyZOnMh//vMf1q1bh1KKBx98ME/X3IABAzh9+jSbN2/m448/plWrVp59M2bMYNWqVaxatYo+ffrkqdO9995LTEwMd911F127duXIkSOefZ9//jlffPEFDoeDF154gVWrVvH000/TuHFjzzUrVqzosxytNfv27SvUz0+Iksn3xL+8YcLV45oPYKEwGnLX5EMJCEReJSogAFi5ciVvvPGG17aHH36YH374gfT0dObNm0ezZs1o2bIls2bNYsiQIXTr1o1bbrmF4cOHs2PHDuLi4jzn/v3336xYsYIvvviCmjVr0q5dO5o0aZKn3Jo1a1K1alWfdSpfvjzPPPMMZcuWZe7cuQDs2LGD6OhowsPDWbhwIQ0bNqRr167Url2b4OBgunbtSteuXQkICPBZznfffUd4eDgbN2680o9MiBIunwWIrmGbqrUmPS3dtdTwlZJYQOSjxMwhcI+ZTZs2jccff5wKFSp4tvfo0YPg4GCioqKYP38+Q4cOBSA6OprOnTt7rtG4cWMAr4DgwIEDhIaGUqlSJZ/lzp49m6CgIAYNGkTNmjULrGPz5s091541axa9e/fmlltuYdasWTz44IMFnpu7nB49ejB58mRatGhR4HlCiAtQORYHyn60Tymw2cBiyV4KOHueX/Z8Qc+/Xgqa85frXEOB1xOMWmG1lMbpTMH0zCG4dFar62+e1U8ePRR5lZiAwN3N36FDB9555x3Gjh3r2W6xWBg0aBDvvvsuO3fuZODAgQBUqFCB2NhYzzX++ecfAGrUqOHZVrFiRZKSkoiLi/N03+c0bdo0WrdufVH1++uvv4iIiCA9PZ0vvviCMWPGUKZMGZYvX87+/fupV69evufnLicsLMwz/0AIcQVyTSp0fbnQBAZorDYDpa5+diCtNYF2G84sA6fz8r/iK6WwGIrAIAsWqwZZn0jkUGJixJzP5j799NOeCYFuQ4cOZd26dfTr14+w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yXCByEECAiGEuEiumfiuxtWicn7rdrfqvr/xZ5/tY/vlnEMB+y50vZznSc+A8CaPHQohhBDXUHFt86S/SAghhBASEAghhBBCAgIhhBBCIAGBEEIIIZCAQAghhBBIQCCEEEIIJCAQQgghBBIQCCGEEAIJCIQQQgiBBARCCCGEQAICIYQQQiABgRBCCCGQgEAIIYQQSEAghBBCCCQgEEIIIQQSEAghhBACCQiEEEIIgQQEQgghhEACAiGEEEIgAYEQQgghkIBACCGEEEhAIIQQQghKQEDQuXNnlFJUq1aNJ554gsTERACCg4P5888/Wbp0KWFhYT7Pe//9931e85FHHkEpledn7969PPXUU1SsWJE6derw5JNPesoToiQaP358nvskMTHR674cNGgQR44cASA9PT3fe2j+/Pk8++yznmt3796dAwcOFMn7EuJGdMMHBADvvfceGzduJCoqiq+//hqAlJQUtNaXdb0XXniBVatW8fTTT9O4cWNWrVrFqlWr+Oyzz9i4cSMbNmxgzpw5/P7777z00ksAZGRkEBMTU2jvSYjrRefOnT33yKpVqwgKCgLgtdde448//iA1NZWpU6cCMHHixHzvoa1bt7Jw4UIAzpw5w+rVq9myZQsg95cQhaFEBASHDx9mxYoVZGRk0K5duyu+XsOGDenatSu1a9cmODiYrl270rVrV2bPns348eOpVasWHTt25J577mHNmjUAPPfcczRt2vSKyxbieta2bVusVqvndeXKlbFarcTGxgIwY8aMfO+hbdu2ERMTw+bNm1m8eDGmabJ161ZA7i8hCkOJCAhWrFjBRx99hN1uJyEh4aqUcerUKRITE7n55ps92xo1asTJkycBGDZsGB999NFVKVuI4mzfvn288cYbvPHGG8THx3u2v/LKK/j7+7Np0yZGjx59wXto8+bNNGvWjMWLF/Pzzz/TrFkztm3bBsj9JURhKBEBwfDhw9myZQsvv/wyr7322lUpo2zZsgCebzoAMTEx1KhRA4DmzZvz6KOPXpWyhSjOIiIiWL58OcuXL/dq7MeNG8fo0aPJysqicePGBd5D+/fv59y5c0yZMoUFCxawfPlyXn/9dTZv3oxpmnJ/CVEISkRAAOB0Ovnrr79QSl2V61utVvr06cPkyZM5duyYp1eid+/eAOzZs4dvvvnmqpQtxPVGKUXp0qV55513CA0N5dlnny3wHtq6dSuNGzemR48eOJ1Ounbtyh133EFKSgr79u2T+0uIQlAiAgL3H5s1a9Z4Ji/llJSU5DUL+tixY57z3NtGjhx5wXImT57M8ePHqV69OpGRkbRu3ZoxY8YA8OGHHzJ06NDLnsgoxI1Ea43WGj8/P7744gu++OILfvvtt3zvoS1bttC8eXMAHn30UQYNGoTNZqNJkyZs2bJF7i8hCoHSxeAOUkrdMDdyVlYWO3bsoHz58l7dowkJCZw8eZKGDRsWYe2EKP7yu4cKIveXuJ4U1zZPAgIhhBDiGiqubV6JGDIQQgghRMEkIBBCCCGEBARCCCGEkIBACCGEEEhAIIQQQggkIBBCCCEEYL3wIde36Ohojhw5QoUKFWjUqNFVL2/Tpk2kpqYSHh5OpUqVrnp5QhRnCQkJbN++HZvNRocOHa56eQcOHCA2NpZKlSoRHh5+1csT4kZyw/cQzJo1i6eeeoqFCxeydOlS3n33Xc++2bNnM2HChEItb8aMGQwdOpSlS5cW6nWFuB5t2rSJhx9+mA8++ICMjAzuvfdez76DBw/SrVu3Qi0vKiqKsWPHet3nQoiLc8MHBACjR4/mlVdeAWD8+PH8+eefeY7Jyspi27Zt2O12r+12u53t27djmiapqakcOHDAa39SUhI7d+70vP7ss8/o06fPVXgXQlyfunXrxoIFCwBYtGgR77//vs/jdu7cSVJSks/tGRkZOJ1OduzY4bWgi/u+zcrKAmDUqFG89NJLV+FdCHHju+GHDHJSSnHHHXfwxBNPsGLFCs920zTp27cvderUYf369UyfPp1WrVrRrl07mjZtSlpaGv/88w8333wzmZmZVKxYkenTp7NgwQImTZpEixYtiI2NZcmSJfj7+xfhOxSi+FJKUadOHZYsWULHjh092Q3Blfnw9OnTHDlyhAceeIARI0YwcuRIUlNTCQsLY8WKFTRv3pyyZcuyZcsWVq9eTXR0NAMGDODWW29l48aNzJ8/nwYNGhThOxTi+lYieghyqlixIq+99hpDhgwBXH+kDMNgyZIlPP/883Ts2JFFixYBcO7cOd5++22++uorDh06xNy5c/nyyy/54YcfsNvtTJgwgfXr1zNnzhzatWvHV199VYTvTIjizzAMvvjiC0aMGEFKSoon++hbb73F1KlTGTx4MPPmzfMcf9999zFt2jSaN2/O//7v//LJJ58QEBDA/v37eemll5gxYwYzZszg3Xff5a233iqqtyXEDaFE9RC4M6zdfffdrFixgtmzZ9O9e3fi4+MZOHAg1apVIysri9DQUM85NpsNcKU3dv9YLBaOHj1Kamoq7733HgB+fn7Uq1evSN6XENcD9/1XvXp1Jk6cyFNPPYWfnx8Aw4YNIyEhgfr163PmzBnPOTnvP4vFAkCZMmWw2+38/fffLFmyhGXLlgEQGRl5jd+REDeWEhUQ5PTmm2/Spk0bANauXUvlypWZPXs28+fP5/fff7/g+TfffDP+/v6MHTuWoKCgq11dIW4o9957L1FRUezfv5+zZ8+yfPlyjhw5wokTJ/jpp58u6hrNmjWje/fudO3a9epWVogSosQGBAEBAcybN49FixbRqVMnRo0axfDhw0lKSuKff/654Pk2m41XX32ViIgIKlWqRGBgID/++OPVr7gQN4j33nuPp556ijJlylC/fn3uv/9+tNZkZGRw4sSJC54/adIkBg0aRPny5UlOTmbRokVUrFjxGtRciBvTDZ/+ePz48dSoUYMRI0Zclev7MmbMGFq0aMGjjz56zcoUojhaunQpX331FV9++eU1K3PhwoX88ssvzJw585qVKcSlkPTHReijjz7itddeuyZlDR8+3DMpUQgBK1eu5P77778mZU2bNo3XX3/9mpQlxI3mhu8hEEIIIYqT4trmlYgeAiGEEEIUTAICIYQQQkhAIIQQQogSEBBER0ezevVqdu3aVdRVyVdGRgZbt27Ns33v3r0kJCQUShkHDhxg9erV7N27t1CuJ8TFSEhIYPXq1fzxxx9FXZUCbdiwAdM0vbadPHmS6OjoQrn+6dOnWb16NRs2bCiU6wlxNdzwAUHObIcHDx6kX79+3H333Tz22GMAxMfH8+uvv15xOaZp8s033+S7/+TJk7zwwgv57hszZkye7e+++y6bNm264rqBZIETRSNntsP09HRGjBjBHXfcwd13301iYuIF75tLsWLFChITE/Pd/8gjj+S7b/DgwXkSmy1dupRZs2YVSt12797Nq6++yuDBgwvlekJcDTd8QADnsx1Onz6dXr168fPPP/Ppp58CsGXLFq+10932799PSkoKkDejIeTNsma323n55ZfzrcPMmTP59ttvcTqdnm1aa3bu3Om1DeDs2bPExMTkuUZ8fDxHjx71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lMI3n07WrVu3rFmzJv/85z+z7777JkkGDBiQu+66K3379t1suVWrVm3zEcVHHXXUzt40aPYOOuignH766bnhhhvSu3fvTJ8+fbP9au3atVm+fHkGDx6cZNN3+m8+PrxNmzZJko4dO+bVV1/d5iOKPdYb/jstIgiOOeaY9O/ff5vLHHrooXn88cdTW1ubRYsWpW/fvltcbmuPKE423UNwwAEHbJcxw+7i4IMPzsknn7zNZfr06ZPFixfn1FNPzcKFC1NTU7PF5bb2iOJk0z0E+++/f/bYo0VdCYXtpkUEwbtx7bXX5lOf+lT69OmTl19+OXPmzMm99977tuX+/0cUV1VVpba2Nt/4xjeyYMGCHHvssXnllVfygQ98YBdsAbx/jRkzJkOGDMnMmTOzatWqppt/36qysrLpEcXdu3dP27ZtM3369CSbYn3SpEk566yzdubQYbfh4UYAsBM113Oen60BAIIAABAEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAARBAAABEEAEAEAQAQQQAAJGm1qwewo1RUVOzqIQCwGyil7Ooh7BS7bRAkLed/IvDuVFRUNMvjQnMd15a8n8a6PbSkby5dMgAABAEAIAjYhd54441UVFSkoqIihxxySK677rps2LBhu7/Oj370o3zxi1/c6vx169ZlwoQJ2bhxY5KkoaEhhx56aP7xj39s97HQPN17772prq5u+vucOXM2+3tzM3jw4FRUVKRnz54577zz8vzzz2912fnz5+eBBx7YiaPbugsuuCB33333Tn/dGTNm5Lnnntvpr/t+IwjY5f785z9n4sSJmTt3bq666qqm6a+//noeffTRNDY2Nk1rbGzME088sdn69fX1WbhwYRoaGpqmbdiwIY899lgaGxszcuTIXHnllU3zSil5/PHHm+Ljueeey+jRo5uCoLKyMr/4xS/Sq1evpuUXL16cf/3rX5u97pvT6+vrt9NXguaqvr4+ixYtetf/r9esWZMlS5Yk2fJ7dnv45je/mQcffDDr1q3LjTfemGRTZC9cuDCvvPJK03Ljx4/P7NmzN1t3S/vWjvbaa69l6tSpmTBhwtvmrVixIitWrEiSPP/883n11Vc3m//888/n6aefflevs6X98rOf/WyeffbZ/2L0LURpBnbEMJrJprENdXV1JUmZP39+KaWUiRMnlrZt25bGxsYyefLk0qlTp3L00UeXvn37lqeffro89dRTZf/99y9HHXVU+fznP19KKWXSpEmlqqqqHHbYYaVXr17lueeeK0nKEUccUfr161fuueeekqSMHDmylFJKhw4dysEHH1y6detWDjjggLJkyZIyZsyYkqQMGTKkTJ8+vQwfPrwkKYsXLy4rVqwoRx11VOndu3dp3bp1GT9+fCmllJqamnLiiSeWgQMHlurq6rJgwYJd80XkPdnacWHWrFmlffv2Ze7cuWXu3Lll/PjxpUOHDqWUUu6///7SvXv3ctBBB5UuXbqU++67ryxbtqwkKatWrSqllDJw4MAyefLkctttt5Xu3buXmpqaMnjw4PLkk0++7T37Xsa1NYMGDSrf/OY3S319fRk+fHg5++yzSymlXH/99eXYY48tHTp0KF/60pfKggULSo8ePcrBBx/ctMyW9q334j89tt50003ljDPOKO3bty8vvvhiKaWU2267rey3336lb9++pXXr1uXYY48tNTU1paqqqkycOLFs3LixjBo1qlRVVZXOnTuXs88+u2zcuLFccsklZezYsaWUUqZNm1YOOeSQUsqW98sJEyaU1q1bl2OOOab8z//8z3sed0s6PzWLUbWkLzj/561BMH/+/JKkPPPMM6WysrLceeedpZRSLrvssnLBBReUqVOnlu7du5dHHnmklFLK2rVrS2VlZZkyZUoppZSXXnqp6UD95rqllPLVr351syCYNWtWqaurK0OHDi0XXnhhWbx4cUlSGhoaNhvX4sWLy9VXX11OOumkUl9fX6ZNm1ZatWpVXn311VJTU1N+8pOflFJKGTlyZPnKV76yc75o/Fe2FQStWrUqQ4YMKUOGDCnHHHNMUxDU1taWK6+8spRSyuWXX15qa2u3GQRVVVVl+fLlpZTytvfsex3X1gwaNKgkKUlKr169ygMPPNA077XXXivjx48vVVVVpZRN78/rr7++lPJ/+8xb96334j89th522GHl5z//efnEJz5RvvWtb5VSNgVBnz59Sn19ffnud79bjjjiiNLY2FiuueaactZZZ5WZM2eW6urq8sILL5QXX3yxVFZWlpkzZ24zCLa0X3bv3r387ne/+4/G3ZLOTy4Z0Gw8+uij2XvvvdPY2JiGhobceOON+ehHP5qnnnoqnTp1yqmnnppzzz03gwYNytixY7N8+fI0NDTk5JNPTpJ06dKl6d+qra3d6uu0a9cubdq0yQknnJDly5dvc0wvvPBCDj/88LRu3TonnXRSNmzY0LRO586dkyTdunXL6tWr/8utZ1dr165dZs+endmzZ+c73/lO0/Rly5blQx/6UJJN1+7f6d6Sgw46KD169EiSt71nt6drrrkml19+eRoaGtK/f/80Njbm7LPPzplnnpnnnnsua9asybp16zZbZ8WKFVvct3a0efPm5S9/+Uvat2+f3r17Z8KECU2XK9q1a5fWrVtnn332SVVVVfbYY4906dIldXV1eeGFF9KrV6/su+++6d69e/r3759ly5Zt87Xsl/85QUCzMG/evIwbNy6XXnpp9t9//1RXV+fiiy/O7NmzM2XKlIwfPz6tW7fOtddem+nTp+emm25K+/btU11dnTvuuCP19fV56aWX3tVrrV+/Pv/+97/z0EMPpX///mnVatPHcaxZsyavv/76Zsv269cvDz/8cBoaGrJw4cJUVVWld+/e23vzacYOO+ywppvyFi1alP79+6djx45p3bp1XnnlldTV1b3tmveb3vqe3V4nqIqKirRr1y7jxo1Lhw4d8uUvfzlLly7N1KlTc/vtt+eEE05Isun+hVatWmXt2rWpr69Pt27dtrhv7WiTJk3K4MGDs3jx4nTt2jVr167NrFmz3nG9mpqaLFmyJCtWrMiqVauydOnS9OvXL126dGm6T+LNew+2pVWrVlvcv9ncbv3BRLw/1NbW5tBDD82oUaNy1VVXZc8998y4ceMyevTonHfeeenVq1eefPLJLFiwIKecckq6du2a0047LT169Mi4cePyhS98IVdccUUOP/zw/OY3v3nH1/v4xz+eZNPJ/uabb07Xrl0zYMCAdOrUKWPHjt3su8MxY8bkjjvuSJ8+fbJy5cqMHz8+bdu23WFfC5qf6667LmeeeWbuvvvuvPbaa/ntb3+bdu3aZdSoUTnqqKNSXV3ddEPqW82bN2+z92zHjh23y5jKpsu9ad26dX7605+mtrY2I0eOzHHHHZfBgwdnr732SocOHbJgwYIMGTIko0ePzve///2sWrVqi/vWjnxPr1u3LlOmTMntt9+eM888M8mmG3lvvfXWDB8+fJvrnnjiiRkxYkRqampSWVmZoUOHZtCgQWnTpk3OPffcVFRU5IgjjnjHMZxyyin55Cc/mYEDB2bRokXbZbt2RxWl7PqPnNoRn3zV0j5Ni3enuro6d911V0488cRdPRR2geZ6XGiu49qS99NYt4eWdH5yyQAA8BMCoOVorseF5jquLXk/jXV7aEnnp936HoKW9FAK4N1prseF5jquLXk/jZV3b7cOguZYYMCu01y/M2uu49qS99NYt4eWFD/uIQAABAEAIAgAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAIggAgAgCACCCAACIIAAAkrTa1QPYkSoqKnb1EIBmprkeF5rruLbk/TRW3r3dOghKKbt6CAC7lYqKihZ1bG1J8eOSAQAgCACA3fySQZLcdNNNee2117Y478ILL0yPHj3yve99L/Pnz89ee+2V448/PpdddlkqKirecd2ePXtm2rRpWbNmTS666KKmeY8++mhmzJiRz33uc+ncufMO2S6AlmzDhg359re/nUWLFuWAAw7IVVddlR49emx1+Xnz5uWWW25JXV1dhg4dms985jPval5LstsHwfz587NixYrU1dXlwQcfzIABA9KtW7ckybBhwzJ27Njcc889Of/887Nu3bpcccUVWbhwYSZNmvSO6ybJD37wg6xcuTIXXnhh07Wmxx57LNdff31GjBghCAB2gNGjR2fmzJk555xzMnXq1MyYMSN//etf06rV209rjz/+eIYOHZrjjjsu++yzT0aNGpUNGzbk4osv3ua8Fqc0AztiGG/9N5988smSpEyePLlp2qxZs0qScssttzRNu+OOO0qS8qc//Wmb65ZSylNPPVWSlCRlzpw5TdMnT55ckpQnn3xye28WwC7VHE4bDz/8cElSfvnLX5ZSSpkxY0ZJUmbOnLnF5U8//fRy5JFHlsbGxlJKKccff3ypra19x3ml7JzzU3PRou8hmD59ejp16rTZj4eGDx+etm3bZvr06e+4/s0335x+/fqltrY2kyZN2pFDBeD/eeihh5IkgwYNSpIcf/zxSZInnnhii8v/8Y9/zIc//OHsscemU95xxx2XRx555B3ntTQtOgieffbZ9O7dO5WVlU3T9txzz/To0SNLly7d5roNDQ352c9+lhEjRmTYsGGZNm3aVu83AGD7WblyZZKkY8eOm/33pZdeetuyb7zxRl599dVUV1c3Tauurk5dXV1Wrly51Xkt8XjeooOgffv2Wbt27dumr1q1arM3yJb86le/yssvv5zhw4dnxIgReeONN/yUAGAn6NChQ5Jk/fr1SdJ0HK+qqnrbsm3atEnbtm2bln1z+T322COdOnXa6rx27drtyE1ollp0ENTU1OTpp5/OsmXLmqbdf//9Wbt2bQYOHLjNdSdPnpwkGTBgQD74wQ8mSSZMmLDDxgrAJl27dk2S/O1vf0uy6ae9SdKnT58tLr/ffvvlmWeeafr70qVL069fv7Rq1Wqb81qaFh0EY8aMSZs2bTJs2LBMnTo1P/zhD3POOeekZ8+eOf/887e63rPPPpt77703l19+eebOnZu5c+fm61//ep544onMmzevabn58+fn97//fdOfjRs37ozNAtitfexjH8vee++dq6++OkuXLs2Pf/zjdO7cOWeccUaS5IYbbshll12WDRs2JElOO+203H333ZkyZUoeeOCB3Hffffn0pz/9jvNanF19V2Mpu+63DEop5c477yx77713028LHHjggeXRRx/d5rrXXXddSVL+/ve/Ny2zdu3a0qZNm3LRRRc1/ZbBW//U1dVt9+0E2JmayWmj/OEPfyiHHHJISVIqKyvLnXfe2TSvZ8+epbKysqxevbqUUsr69evLpZdeWiorK0uS8pGPfKSsW7fuHeeV0rJ+y6CilF3/odQ74rOx38u/uX79+ixZsiQdOnTIgQcemD333HO7jgVgd9GcnmVQSsljjz2WAw88cLP7B5YuXZq6urrU1NRstvzq1auzYsWK1NTUvO0ZBVubt6vPTzuTIADgXWtpx9aWdH5q0fcQAACbCAIAYPd+lkFLeo41wM7i2Lp72m2DoDlenwGA5solAwBAEAAAggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAAiCAAACIIAIAIAgAgggAASNJqVw/gTRUVFbt6CADQYjWLICil7OohAECL5pIBACAIAABBAABEEAAAEQQAQAQBABBBAABEEAAASf4XeKYNJpiT2FkAAAAASUVORK5CYII=", + }, + { + name: "Tablet-Tax-Invoice-1", + category: "Tablet", + + template_id: 5003, + ImageUri: + "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UsK6det49tlneffdd8nIyKCgoIAvv/ySZ555xr9kt8/mzZv58ccf2bFjBy+//DJvvvlmuXUPtNYsX76cF198kWnTpvmX4PbJz89n1apVACxevJhnnnmGzz//nJKSEgAyMjJYsmRJub8ucnJyWLJkyTF/MTgcDkaNGnXMMlVp3+rVqwH46quv+Pe//80XX3yB0+lk7969vPvuu7zwwgvlnhgA71j3xx9/zNNPP80nn3xCXl5epe0QQpx+48aNKzcptyrKbgLpG54C7zyY4cOHV3rdJZdc4n+fn5/PrFmzjnmft956y/+4NxCwKN/xXHbZZQE9Tk888QRut7vK14sgcyaXFT5Rr7zySrlltPfu3asBPX78+ONe71va+rzzztP16tXT0dHRev78+f7zderU0f3799cNGjTQ559/vrbb7bpRo0Y6KSlJt2zZUjdu3FgD+o477vBfc9VVV+no6GgdExOjzz//fB0aGqoNw9BPPfWUv8yUKVM0oNu2baubNWumAX3dddf5z69bt04D+s4779T169fXnTt31oA+//zztdZa79u3TxuGoadNmxbwfaZMmaIjIyN1Xl5ehd83KSlJX3PNNbpLly768ssv9x9/4YUXNOC/rqrtu+iii3Tbtm11fHy8BnSPHj107dq1defOnXVYWJgG9Hvvvee/7ocfftBNmjTRDodDd+vWTYeGhuomTZrotWvXBrRz4sSJAe0RQlSuOlsUhIeHV1jHoUOHdOvWrcttZVD2d+vRnE6nrlu3brlr/va3vx2zvcXFxf7fnZRuYbBv374Ky27ZskWfe+65/rINGjQo93vheFsUjBkzJqB99957r7Ysq9K2PfHEE+XOyxYFwaHGBJlFixZpQL/99tvHvNa3/4YvuLhcLn3dddfp2NhYfeDAAa21N8gMGTJEu1wurbXWCxYs0IAeN26c/5qRI0dqQB88eFBr7Q0yLVq00JmZmVprrbOzs/Vll12mAb1hwwattTeIrFu3Tmuttcfj0ffff78GdGpqqtb6SFB46KGH/P+HmjZtmgb0ihUrtNZaDxkyRPfo0SPgO7Vr105fe+21lX7npKQkfd111+m0tDQdGRmpp0+frrUuH2Sq2r4pU6b4654wYYIG9Jdffqm11jonJ0e3bdtWd+vWTWutdUlJie7UqZO++uqrdW5urv8+SUlJunv37gHtlCAjRNWdiiCjtdYbNmzQoaGhVQ4yWms9duzYckFm1apVx23zU089FXBNhw4d/L8ftda6sLBQf/7557pOnToB5f7973+Xq+t4QWbXrl3+P6x8r2uuuSbgu5WUlOgVK1bobt26aaDcH4llg0yzZs30t99+e8zXd999d9yfgTj1aszQkm/IpF69escsN23aNC666CJ/N6fNZqvwEcJ27dr5n/Lp2LEjcGSM1mazMWzYMAC2bdvmv6Z+/fr+1Szj4uL8E2x9c1MaNmxI586dKSgoYN26df5x3B07dgS08YILLvA/NTBw4EDgyPLco0ePZuXKlWzatAmA9evX8/PPPzNy5Mjj/ozatm3LU089xb333svWrVvLna9q+zp16uR/36FDB//PC7zdy5dccom/vStXrmTjxo2MGzeO6Oho/33+/ve/s3r16oCuaSHEH69Tp0688MIL1brm2muvDfjcsWNHunfvftzrbr/99oCh/tTUVBITE2nUqBHdu3f37+uUlZXlL5OQkMCYMWOq1T7wzsl57LHHAo598MEHtG7dmkaNGpGcnExUVBQ9e/b0D6M//PDDAfcu61gL4vle1Rn+EqdOjQkyvuf4y85yr8jmzZvLzZnxzaavzmN6vs3HXC5XpWV8wcf3H+s9e/Zw+eWXExsby80338zkyZMBOHjwYKV1+BZy8q27cOmll9KwYUOmTZsGwEcffUTdunUZMGBApXXoMk8gjBkzhuTkZK655hp/232h6UTaV5HatWv75/X4FrBKTk5GKeV/+YLXoUOHqlW3EOLUu+222wLmvhxP165dA/6gOXqDyMrExsYyf/78cr+D9+/fzw8//FBucb4LLriAxYsXn/ByDPfffz/ffPNNuT9w9+/fz+rVqwOe2HQ4HNx6660BT8GK4FBjgoyv9+C77747Zrno6Gjy8/MDjvl6c0716o++en2LQV133XX8+uuv/Prrr6xfv/6EHgm32+3cdNNNvPvuuxQXF/Pxxx9z/fXXY5pmlet455132L17N88//zxwJOicivYdzbcwVlpaGto7lBnwSkhIOOl7CCFO3htvvFGtJ4N8G0mGhoYyatSoKl/XqlUrUlNTef7552nZsmWFZRo1asSTTz7JsmXLyu3ZVF0pKSn89NNPlS7616RJEwYNGsTq1auZPHkyISEhJ3U/8ccLygXxKlK7dm2GDBnCO++8w4033hiwa6rL5aK4uJioqCgSExP57rvvsCzL/x/Zr7/+GqDKG6hV1aeffgpAYmIiubm5LF26lBdffPGkNxcbNWoUkydP5u6772bHjh1VGlYqq2HDhsyYMYMhQ4b4j53K9pWVmJgIeJ8SK7tooRDi5Jx77rmVrvcCcN9993HfffdVub7w8HAWLFjA1q1bady48XHL33777XTr1o3IyMhyK/cej8Ph4J577uH//u//+P777wPWjqpVq1ZAb09lpk+fzvTp06t0v8aNG7N06VJyc3PJysoiMzOTiIgIWrVqdczenrILdYo/rxoTZABeeOEFNm3axKWXXsr48eNJSkpi165dvPXWW7Rq1Yr33nuPsWPH0qtXL+6++24effRRtm7dyoMPPkhycnJA+DkRv/76K2vXriU+Pp65c+fyj3/8g6SkJAYOHIhlWURGRrJ06VJGjhxJZmYmDz/8MECVN27zadWqFf369WP69OkkJCTQpUuXarf10ksv5cYbb2TmzJmAd/ntU9W+srp168aoUaOYMGECERERDBs2jN9++42ZM2cyYcKEgE3hhBBnVqNGjaq8D1J0dDT9+vU7qfuZpknv3r1Pqo7qiImJISYmptKeIBGcaszQEkDz5s1ZtWoVF110EY899hgDBw7k/vvvp3Xr1jz99NMA9OzZk7feeotp06ZRt25devbsSa1atQJWpzxRNpuNIUOGEBUVxTXXXEOLFi34+OOPUUphmiZvvPEGCxYsoE6dOlx22WVceeWVDB8+nJdeeqnaaxz4unWPnnRXHS+++CLnnnsuwClvX1nTp0/nH//4Bw888AAxMTH06tWLnTt3kpGRccJ1CiGEEABKH6tv8k/q1VdfZcyYMWzbtq3SvTdKSkpITU0lISEhYHE8n/z8fNLS0oiNjaVFixblNjmrrquvvpq9e/eyaNEifvjhB5o2bUrz5s3L7VlSUFDAzp07/U/7uFwuVq5cSa9evarVhi+++IIrrriC33///aQ2LNu5cydNmzb1z7E5Ve2riMfjYcOGDZX+b/LII4/w+OOPk5eXR2Rk5EndSwghxNmhRg0tlRUSEnLMOS+RkZF07dr1lN83LCyMvn37Vno+IiLCHxLAO3m3KjvP+hQWFrJo0SImTpzIkCFDTnrX1aP3RTnZ9h2LaZqnfB6SEEKIs1tQDy21bt0apRRr16490035w0yePJnLLruM+vXrB+wAHszGjRuHUorHH3/8TDdFCCFEkAnKoaW9e/cGLETXpUuXM/7s/+bNmykpKTmhibfVsWPHDrKzs09Lb9KZsn379oCF8Xr37l2tx8mFEEKcvYIyyAghhBBCQJAPLQkhhBDi7CZBRgghhBBBKyiDzMGDB1myZAnLly8/0005ab4NGk+XzZs3s2TJErZv337a7iGEEEKcKUEZZD799FNuvvlmXn/9dcC7Adill15K//79ueCCC6q9yeEf5ZdffuHyyy+nf//+/t1clyxZwnPPPXfa7jljxgxGjx7NnDlzTts9hBBCiDMlKINMamoqd999t3/jxL59+zJixAgWLVrE999/H7Az9fr16ykqKgK8C7Lt3buX7OxsUlNTAQLeezwe9uzZQ3Z2Nrt37w64p6/nxLdjdFZWFkVFRWzdupX09PQqtfvJJ59kzJgxLFq0yP/o9IYNG+jcubO/TF5eHuvXrw/YBbawsJCtW7eSn5/v35Pk6PYUFRWRmZlJZmYmmzZt8l/77LPPkpSUFLA2jBBCCFFTBG2Q6dixI+Bd/r5t27Zcf/31AWXS0tLo0qUL06ZNo0ePHixevJj58+eTkpLC+PHjGTFiBEOHDmXChAkMGTKEefPm8e233zJgwAAmTpxISkoKd955JwBr167lwgsv5N1336Vdu3Zs376dW265heuuu45XXnmFtm3bsn///oBHwMePH8+TTz4Z0CatNXPmzAkIKWWDzOeff06PHj148803SUpK4sCBAyxZsoRevXrxr3/9i4SEBLZv315he1599VWGDRvGY489xrBhw/jiiy/899i8ebP/5yWEEELUKDoIxcTE6PT0dK211sOHD9effPJJuTLJycl6yZIlWmutn376af33v/9df/LJJ/qOO+7QWms9Y8YMPW7cOK211hMnTtTPPvusnj17th47dqzWWuv09HQdFxenXS6X7tWrl87NzdVaax0fH69LSkr0JZdcojdu3Ki11nrw4MF6+fLlOjExUe/YsUMXFxfr5s2b6+zs7IA2bdu2TXfr1k2PGjVKO51OrbXWrVu31ocOHdL79+/XLVq08F8zdOhQ/eWXX+quXbvq33//XWutdcOGDXVBQUGF7ZkyZYp++eWXtdZaP/XUU3rKlClaa63z8/N1TEzMSf/MhRBCiD+joOuR2bt3LyEhIdSvXx+Affv2ERsbG1Am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evbZZ/XFF1/cls9g2rRp8vX1vS37gl2sevz6pvz582vBggW6fv26HnnkEe3YseOOHKdEiRLav3+/Yzk5OVnnz59X2bJlJUn9+/e/I8cFgKxycnLSsGHDtHr1ag0aNChNzaSnn35aI0eOVI8ePXTx4kX16NFDMTExiouLU5EiRRz7qFWrlq5fv66YmBjHujNnzihXrlwqUaJEhsddsGCBihQponbt2ql69eppthUtWlQVKlRQo0aNdPLkST300EN65pln0rQpW7as9uzZo6pVq97yZ5ArVy7Vrl37lvcDO1l5RuamEydO6PLly3ds/82bN9fevXu1ePFiRUdHa/z48XJycpKPj4+MMVq8eDE3lgHIVsYYOTs7a+HChdq4caN27drluC+mc+fOio+P13/+8x/16tVLBQoUULFixVSiRAkdPnzYsY/w8HCVLFlSpUuXdqxzc3NTamqq496ZP5syZYoCAgL06quvptv21ltv6fvvv9fHH3+sWbNmacGCBUpKSkrXrn79+ipUqNCtfgS4z1kZZGJjY1WlShW1bdtWvXv3VvPmzdO1ee+99xxPH40ZMyZNv5s/N+/ez4ynp6deeOEFvfHGG2rYsKFWrVqlyZMnq3DhwoqMjNQbb7yh5cuX35E5AsA/4ebmpsWLFys5OdmxLk+ePOrZs6e2b9+e5oxIly5d9NFHHyk8PFw7d+7UW2+95Xjq86aHHnpI7u7uGjRokE6cOKG9e/dq+vTpWRpL3759ValSJfn7+ytv3rzavXu38uTJk6bN7bxHBvc36y4tNW/ePMO731955RXHnxcuXJhh36zcNb979+40y6+99poGDBigM2fOqEaNGo4vo5ubm3788UfejArgntG4cWNNmjQpzbo+ffooMDBQTZs2dax788031alTJ1WtWlX58+fX0KFDNW7cuDT98uTJoy+//FK9e/dWpUqVVLRoUQ0cONCxvVWrVo4/v/POOxo7dqxj2d/fX23bttXq1avVrl27DMd66dIlPffcc3r77bfT9AX+KauqX5PcgduLIH7/SklJUWhoqCpXrvyXl3eSk5O1f/9+1apVS/ny5butYwgODlbVqlW5vIRbQpAB7mMEGQC2s/IeGQAAAMmyMzIAAAB/xBkZAABgLeueWkpNTdWmTZskSQ0bNlSBAgXu6PEuXLigAwcOyNXVVY0aNbqjxwIAAP+MdWdkkpKS1L59e02cOFHnz59X796907wUr3Llyrp+/fptO15YWJjGjx+vfv363bZ9AgCA28O6ICNJJUuWVEBAgCpVqqQzZ85kWirg9OnTioiISLf++PHjio6OlnQjqCQkJKTZHhISotjYWElSixYttHjx4ts7AQAAcFtYd2npz5ycnFS8eHHNmDFDL7/8smP90qVLNW/ePJUsWVKSNG/ePH377bdasGCBPDw8tHbtWnl6eqpMmTLavHmzvvnmG1WrVk0dOnRQhQoVFBwcrHHjxunJJ5/MrqkBAIC/YX2QkaTRo0fr//7v/9KUKujWrZsef/xx7dmzR506dXK8trtmzZqaNm2aZs2apcjISI0fP15jx47VL7/8osDAQLVr107/+c9/FBsbqwYNGhBkAAC4h1kfZG4WTFuwYIF69uyp+Ph4SdLs2bP1/fffq3HjxnJ1ddXFixclSblz55Ykubi4yMXlxvSLFSumpKQkhYSEKCUlRRMmTJAkDRgwIBtmBAAAssr6IHOTu7u7XnnlFfXt21eSNHfuXPn5+cnDw0MrV65UVl6X4+npqatXr1L3AwAAS1h5s29mnn76afXq1UuS9MQTT+iZZ55Rz549VahQIW3btu1v+w8ZMkQbNmzQo48+qmbNmmnNmjV3esgAAOAWWPdm34SEBHl4eOj06dN37ZhRUVFq0qSJDh8+fNeOCQAA/p6VZ2SioqLk6+ur48eP3/Fj/fLLL+rRo8cdPw4AAPjnrDsjAwAAcJOVZ2QAAAAkggwAALAYQQYAAFjLuvfI3O3q1zY5cuSIzpw5Izc3N9WoUSO7hwMAwB1n3RmZP1e/TkxM1PDhw9W4cWO1bNlSX3zxRXYPMUMJCQl64oknHMtHjx5V69atb+sx/P39NWLECE2dOvW27hcAgHuVdUFGSlv9evz48cqXL5+2bdumjRs36rnnnnO0u3Dhgg4dOpSuf2hoqBISEpSSkqKQkJB0b/3dv39/morYycnJCg4OVlJSUpp2V69eVXh4eJbHvWLFCk2bNi3DbaGhoYqJiflHY705rpt1pIYNG6YxY8ZkeTwAANjOuktLfzZ37lwdPXo03fqpU6dq+fLlcnNzkyQtXrxYL7zwgq5du6aiRYsqMDBQXl5eKl68uIKCgrRx40YNHz5cQUFB8vT01ObNm7Vw4UJ5eXmpa9euqlq1qrZt26ZZs2apTJky6tSpk+rXr6/Q0FB16tRJrVu31syZM7Vo0SJJUu3atbVx40aVKlVK0o0q3VWrVtWqVav0yCOPqHjx4o6xvvHGG7pw4YJOnTqlHj16aNCgQRoyZMhfjvXYsWPq3bu3fHx8tGPHDi1cuFA1a9a8C584AAD3EGOZ+Ph4U758eWOMMZGRkY4//9Hly5eNh4eHuX79ujHGmEcffdSsXbvWDB482CxbtswYY0yvXr1MYGCgMcaYFi1amH379pnBgwebVatWGWOMWbNmjenZs6djn2fOnDEjR440Y8eONadPnzb169c3xhgTHR1t6tSpY4wxxtPT05w9e9bs3LnTdO/ePc2YEhISTLVq1cypU6dMvXr1THBwsGndurVj+5UrV8zXX39tWrZsaYwxfzvWrl27mu3btxtjjFm7dq3p16+fMcaYH374wQwcOPDffbgAAFjG6jMyxYsXV0REhGJiYlSkSBHH+nPnzqlkyZJydnaWJNWtW1cRERGS0la/vrn9ZvXrP6pQoYLOnDmjqKgo9enTR+XLl1dycrLjOK6uro6+ly9fliT1799f8+fP1/nz5x3FK28yxsgYowoVKujtt9/WSy+9pDx58kiSBg4cqOjoaFWvXt1Rpfvvxrpv3z6tWrVKa9eulST5+vre0mcJAICNrA4yLi4u6tatm9577z1NnjxZ169f19atW+Xt7a3jx4/r+vXrcnZ2VnBwsJ566int2LEjy/veunWrateurS1btqhs2bL68ssvtXDhQm3evDnTPn379lWrVq2UK1cuTZ48OdN2TzzxhPz9/XX48GFdunRJAQEBOnXqlM6ePavVq1dnaXz16tXTo48+qpYtW2Z5TgAA5DRWBxlJmjx5sjp16qRly5bJ1dVV/fv3V/PmzfX666/L3d1d5cuXV6VKldSoUSPNnz//b/f39ttva+rUqXJzc9NHH30kZ2dnDRs2TM8//7xiYmJ04sSJTPuWKlVKHh4eqly5suNsSmY++OADvfTSSypWrJiqV6+u7t27yxijhIQEnT179m/HOWHCBPXt21clS5ZUbGysVqxYoTJlyvxtPwAAchLrai1lVP06JSVF+/fvV82aNR2XfP6NIUOG6PHHH1fHjh3/9T569eqlUaNGydPT81/v41YsWbJEP/300z37GDoAALeTlY9f/7n6tbOzs+rXr39LIeZ26Nq1qypXrpxtIWbmzJl69913s+XYAABkB+vOyAAAANxk5RkZAAAAiSADAAAsRpABAADWsi7IpKamauPGjdq4caOuXbuW3cPJ1KFDhxQdHZ1mXUJCgvbs2XNb9p+cnOz4HP5YFwoAgPuJdUHmz9Wvp0+frscee0xdunTR+vXrJUmBgYGOt+3eigMHDig0NDTT7SNGjMj0OFOnTtWuXbvSrDt37pyGDx9+y+OSpLi4OE2cOFFdunTRuXPnbss+AQCwjXVBRvp/1a+LFCmiTz75RAEBAVqxYoVat24tSXrnnXfSBYz4+HiFhYU5lkNCQhQbG5umzcmTJ/X77787lv38/BQUFJThGK5duyY/Pz99//33adZfunRJJ0+eTLPOGKPQ0FClpKSkWZ+amqqQkBDH+j8fX7pxZuePD5bdXC5SpIgCAgJUpUqVDMcHAMD9wOo3+xYsWFDOzs7asGGDI8Ts3btXERERmjlzpjp27KgmTZqoSpUqatq0qdzd3TVhwgR16NBBFSpUUHBwsMaNG6cnn3xSr7/+ukJCQiRJnp6eevPNN7Vt2zYdPnxYqampGjBgQJpj+/n5afjw4VqwYIEGDx4s6UZZg2HDhqlRo0Zat26devToIUnq06ePnJ2d01wKa968uUqXLq1ixYpp0qRJmjJlSprjT5w4Ub6+vqpevbquX7+u2bNnp1nmhXcAAMju6tfGGBMSEmKaN29uunTpYs6fP2+MMaZZs2bm+PHjjvaFCxc2165dM8YYM23aNDNlyhRjzI2K01WrVjVBQUHm8ccfd+yzRYsW5siRI2bUqFFm/vz5GY7D29vbREdHmzZt2piDBw86jhsbG2uMMWbgwIHG39/fLFmyxEycONEYY8zx48dNs2bNHG3Xr19vjDEZHn/37t2mfPnyJiwszBhjzMWLF9Ms31S/fn3HXAEAuN9YfUZGkurUqaN169bpww8/1Msvv6zvvvsuXZsyZcoof/78kqT9+/crJSVFEyZMkCQNGDBAe/fu1ZUrVxzrHn30UeXNmzfTY+7YsUPOzs7at2+fqlevrq+//lqvvPKKLl68qIIFC6Zpu2HDBjVu3DjD/VSqVEmSMjx+6dKlNW/ePD333HPq1q2bXn311XTLAADc76wPMlevXlXBggX1yCOPOG72dXFxUVxcXIbtPT09dfXqVY0dO9axLigoSLlz506z7uZ+4uPj0+3j888/V+3atbV582aVLFlS8+bN09tvv63IyEhFRUWpZMmSjrbu7u7auXOn+vTpk+kc6tWrl+Hxc+fOrYCAAFWuXFn9+vVTnTp10iyXKlXq7z8gAAByMKuDTEpKipo3b64SJUooJiZGn3zyiSSpTZs26tatm1q2bKkPP/wwTZ8hQ4aoY8eO2rhxo5KSkvTmm2+qQ4cOqlu3rnx8fFS4cGE1adJE48ePV4sWLfTss89qyZIlWrZsmQoWLKgrV67oxx9/1MmTJ5UvXz5JN+6NCQwM1Ntvv60aNWrI09NTkZGR6tGjh/r3768WLVrIy8tL5cuXz3AeDz30ULrjjxw5UrVq1VLdunVVp04dOTs7q3r16o7l4sWL39kPFwAAC1hXa+nP1a+Tk5MVGhqq2rVrK0+ePNk8uruvQYMGWrp0qdzd3bN7KAAA3HVWPn79x+rXuXPnVv369e+7EBMTEyNfX1+Fh4dn91AAAMg21p2RAQAAuMnKMzIAAAASQQYAAFiMIAMAAKxFkAEAANay7j0yqamp2rRpkySpYcOGKlCgQDaP6N5y5MgRnTlzRm5ubqpRo0Z2DwcAgDvKujMySUlJat++vSZOnKjz588rMTFRw4cPV+PGjdWyZUtHMcVFixbpvffekyQFBgamq4b9d+Lj4zVo0CC1bdtWHTp00OXLl5Wampqu2vWfRUVFad26df9ucn9SoEABOTk5OX4OHz6sEydOqEuXLpn28ff314gRIzR16tTbMgYAAO5l1j1+/ecX4o0aNUrGGE2aNCnTPs2bN9fXX3/9j14at2zZMv3444+aN29emmN7enrq8OHDjnWnT5+Wk5OT4629P//8sxYvXpymOvXNl/bVqVNHuXPnzvIYbvrpp5/k5+enb775JsPt+/fvV7Vq1eTq6ipJWrJkiX766ScqZAMAcjzrzsj82dy5czVq1Kg0686dO6fatWtr0qRJ2rt3ryIiIjRz5kytX79ebdu2VWhoqCRp4cKFmRZfrFy5soKDg3Xs2DHHutWrV+vSpUuaMGGCjh07pqVLl2ro0KEaO3asBgwYIOlG6Ni/f78mTJig1NRUhYWFydvbW59++qm8vb118ODBfzzHcePGOebYrVs3tW/fXtKNcgsNGzbURx99JE9PT+3Zs+cf7xsAAKtlY+XtfyU+Pt6UL1/eGGNMZGSk489/9sknn5j33nvPGGNMs2bNzPHjx40xxnz33Xfm5ZdfNsYY06VLFxMcHJzpsVatWmUqV65s3njjDZOUlGTi4+ONh4dHmjZJSUlm+/btpmTJkiYpKcn4+/ubgQMHOrZ37drVbN++3RhjzNq1a02/fv3+0XwXL15s+vbt61gOCQkx7dq1M8YYM3jwYLNq1SpjjDFr1qwxPXv2NMYY88MPP6QZAwAAOZXVZ2SKFy+uiIgIxcTEZLnPk08+qR9//FHnzp3TqVOn5OXllWnbjh07Kjg4WCdPntTnn3+ebvvs2bPVpk0brVixQq6urrp48WK6Nvv27dOqVas0YcIEbd++Xb6+vlkea2pqqsaOHZvujFNGKlSooDNnzmR53wAA5ATWPbX0Ry4uLurWrZvee+89TZ48WdevX9fWrVvVvHnzdO3i4uIkSblz51b37t3Vs2dP9e/fX8YY7d27V/Xr10/TJzU1VYmJiSpcuLC8vLwUExMjZ2dnXbt2zdFm7ty58vPzk4eHh1auXCljjFxcXBQfH+9oU69ePT366KNq2bJlmv3v3btXdevWlbOzc6bz+/rrr+Xt7a2aNWv+7WexdetW1a5d+2/bAQCQk1h9RkaSJk+erBUrVqhatWpq0KCBdu/ena5NmzZt1K1bNw0ZMkSS9NRTT+nXX39V7969deXKFXXp0iXNvTCSdODAAfn4+MjX11cBAQEaNGiQcufOLS8vLzVq1EizZs3SE088oWeeeUY9e/ZUoUKFtG3bNtWrV0+//vqrfH19tWXLFk2YMEEjRoyQr6+vGjVqpMjISEnSW2+9pa+++irTeaWmpurdd99VSEiIfH195evrqzVr1qRr9/bbb6tVq1basGGDJkyYcCsfJQAA1rH+qSVJSklJ0f79+1WzZk3Hkzt/JTQ0VBMmTHA8Sv3CCy9oxowZ6Z4ounLlik6ePKk6derIycnpts7jgw8+UIcOHbJ0tiUzQ4YM0eOPP66OHTumWc9TSwCA+4WVZ2SioqLk6+ur48ePS5KcnZ1Vv379LIWYlStXasiQIXr33Xcl3Qg1r776aoaPRRcuXFh169a97SEmKSlJtWvXvqUQk5mZM2c65gYAQE5n3RkZAACAm6w8IwMAACARZAAAgMUIMgAAwFo5IshERkYqPDw8u4cBAADuMuuCzM8//6y8efOqU6dOeuqpp7Rp0yYFBgZqzpw52T00AABwl1kXZKQbhRNXrVqlt956S3379nWsP336tKKjo9O0PXTokM6fP59m3fXr1xUSEpJmXXJysoKDg5WcnOxYd+HCBV29evUOzAAAANwOVpcocHZ21sWLF2WM0Zo1a3T58mX99NNPmj17ttq2baunnnpKzs7OOnXqlLp3765XX31VDz/8sGrVqqWrV68qOjpa69evV1hYmHr37i0fHx/t2LFDCxcuVM2aNTVo0CBVqlRJ06ZNy+6pAgCADFgZZA4ePKiXX35Z33//vV577TU5OTnJ19dX06ZN04oVK/TDDz/IGKP8+fPr66+/VkJCgkqUKKEXXnhBV69e1QcffKASJUro4Ycf1u+//64xY8Zozpw58vHxUUBAgN5//3199dVXmjFjhvLly5fd0wUAAJmwMsiUKlVK3bp107PPPisvLy99++23jjfzlilTRrGxsfr9999VtmxZSZKrq6tq1Kihc+fOSZLy5s3raHv+/HlHheq1a9dKkqNCdYUKFe721AAAwD9gZZApWbJkumrSf+bh4aHly5dLulHS4MKFCypfvnyGbTOrUH3hwgXly5dPBQsWvB3DBgAAt5mVN/tmRYsWLZQnTx499NBDat68ud58803lyZMnw7aZVageNGiQxo0bdzeHDQAA/gFqLQEAAGvl2DMyAAAg5yPIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGu5ZPcAssrJySm7hwAAgJWMMdk9hDvGmiAjSeHh4dk9BADAPaJKlSr8XsiCKlWqZPcQ7iirggxwLzHGaOfOnZIkNzc3Pfjgg44zh2FhYYqNjXW0LVCggOrUqSNJOnr0qEqXLq3ChQs7tqekpOjo0aMqWLCgHnjggTT7KFiwoGrUqCFnZ2fH+kKFCqlChQqONhUqVFC5cuUc+7948WK68daoUUOHDh1S9erVVbRoUUlScnKyfvvtN5UsWVJubm6OeR09elQeHh6SpNTUVO3atUt169ZV/vz5b98HCNxjjhw54vj//qawsDDVqlXLsXzo0CHVqFHDsZzZd2jnzp2qWbOm43u+c+dOVatWTU5OTkpISFCZMmUkSZcvX9bRo0dVu3Zt7d+/P92YChUqlOb4SM/JWHK+ycnJieSNe0pKSoqqVavmWK5du7Y++ugjVapUSU8//bS2b9/u2Fa/fn198cUX6t+/v65cuaLLly9r5MiR6tu3r8LCwvTyyy8rKSlJ169fV/PmzfX++++n2UehQoU0ZswYde/eXf/3f/+nevXqaeTIkWnalChRQqNHj9amTZu0fPnydOP95ptv9Mwzz2jevHlq3ry5tm/fruHDh6tYsWI6fPiw2rVrp2nTpsnFxUVeXl5atmyZqlatqsTERNWqVUsrV67kL1TcU27nGZnU1FQ1bdpUM2fOlLe3t2O9r6+vpk+frjp16ujAgQP673//q1WrVknSX36HqlWrJj8/P/n4+EiS6tSpo5kzZypv3rwaP368li9frnz58mnTpk0aOXKkvv/+e7Vp0ybduBo1aqRvv/32luZWpUqVHH1piZt9gVvk5+enpUuXqkyZMnrxxReVkpIiSRoxYoTCw8MVHh6uH374QcHBwTp69KgCAgK0bds2derUSSkpKXrttdfUqFEjbdiwQZs3b9Zrr73m2PegQYO0detWdezYUXPnzs3w+CNGjNDmzZvVvHlzzZgxQx988IHCw8P1v//9TxUqVHCMoUmTJo4+yayPJ4gAAB5NSURBVMnJevPNN9WvXz/99NNP+umnnxQcHKzvvvtOkhQXF6cXX3xR8fHxd/CTA+4d69ev1/nz5/XDDz841sXGxurYsWNav369JGnjxo06ePCgEhIS/vY79FeOHj2q0aNHp1l3M5SFh4fL3d1d77//vsLDw285xNwPCDLAbVCvXj0NGDBAv/32m44fPy5JOnPmjHbs2KG9e/dKkipUqCBJ+vbbb+Xi4qKiRYsqNDRUv/32m1577TU5OzvL2dlZJUuWTLPvkiVLysXFRQULFsz0+OXKlVO1atUcIerv7N+/X6dOnVL//v0lSdWqVVPLli0VGBjoaHPt2jWNGTMmy58BYLMlS5aoa9euWrVqleOycGhoqCQ5gsyGDRsk3fj+ZOU7lJm8efNq06ZN+v777+/ATO4/BBngNqlZs6YkKSYmRtKNa+KffPKJFixYIEmqWrWqlixZoiVLlqh169Zav369IiMjlStXLsc9K382Z84cVatWTb/88osmTpyYYZtly5apb9+++vDDDzVkyJAsjTU6Olp58+ZNc89LlSpVdPnyZcfy+PHj9euvv2rRokWSeHIQOdf58+e1bt06DRs2TA888IB+/PFHSdKBAwdUvXp1HTp0SHv27NG+fftUs2ZNHTx4MEvfoYw4OTkpb968+vDDDzVx4kQdO3aM79YtIsgAt8nNf73dvFm3a9eu+vrrrzV16lRHm+rVq2vx4sVq2LChpk6dqlKlSik1NVWnT59Otz8nJycNHjxYn376qaKjo1WgQIEMj/vAAw+obdu2Wr16tXr16pWlsT7wwANKTExMc9zTp0/L3d3dsVy6dGlNnz5dU6ZMkZSzH9/E/W3JkiUqVKiQVq5cqaJFi2rhwoWSpIMHD6pRo0Zq27atJkyYIF9fXzVt2lShoaFZ+g798TuTmpqqXLlyyRgjY4weeeQRDRo0SP/73//4bt0iggxwi6KjoxUWFqapU6eqcePGjicX/iwlJUVBQUHKlSuXypUrp2vXrqlOnToqX768Ro8erYiICIWFhenLL79M069NmzZq1qyZ/vvf/2a434cffljPPPOMKlWqlOUx16xZU+7u7vrwww918eJFrVmzRkuWLFHPnj3TtGvcuLGGDh2a5f0CtjHGaNGiRWratKkkqUmTJgoLC9PevXt14MAB1a5dW127dtX+/fvVrVs31ahRQyEhIX/5HXJ2dlbFihW1Y8cOSdLWrVuVmJiY7jv64osvprmxGP8Oj18Dt+iVV15RpUqV5O3tneaX/vTp0zV9+nRJUtOmTfX222/rhRde0MWLF1W6dGm9//77yp07tyZPnqxXXnlFLVq0UOHChR1h4ua/3KQbl3l8fX0d/1K8VU5OThozZoxGjBih5cuXq0yZMho3bpyaN2+e7j6bIUOGKCgo6LYcF7jXbN26VREREVq0aJFKlSol6cZlYT8/Px05ckS1a9dWtWrVVKNGDbVu3VpHjhzRkSNHlJiYmOl3SJLeeustvfrqq5oxY4ZcXV01ZswYPfjgg4qIiHAc28nJSR999JGeeeaZbJl7TsHj18BdlJiYqCNHjqh69erKnTu3Y/3169d16NAhVa1aVa6urndtPPHx8Tp27Fia99QAtrgXXoj3V9+hpKQk/fbbb6pcuXKml4bvhpz++DVBBgBgpXshyNggpwcZ7pEBAADWIsgAAABrWXVpCQAA/HOW/Kr/V6x6aikn/4cAAPwzTk5O/F7Igpx+IoBLSwAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIA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", + }, + { + name: "Tablet-Tax-Invoice-2", + category: "Tablet", + + template_id: 5004, + ImageUri: + "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mEhxcTE1a9Zk6dKlhIWFcdlll9GuXTurjFKKH374gc2bNxMaGsoll1xC9+7drdfT0tLIy8ujefPmLFmyhN9//51u3bpZ+47s3LmTzMxMLrvssoD3sm/fPvbt20e/fv0q/Po4HA7Gjx/P5s2biY6OLrfMqeqXl5dHUlISPXv2ZPny5Wzfvp1WrVoxZMgQMjIyWLNmDVlZWQwYMIAOHToE3PvYsWMsX76c/fv306xZMwYNGlTuKp9CiL+u6OhoFi5cyGWXXValltyxY8fy4IMPWi0qpbuJKtrpGnwL4D300EPWfk9z5szh6quvrrD8zp07AxbeGzRoEJGRkZWu54gRI/jPf/4DwI4dO/jggw9kQbxgoILQm2++qQC1a9cu69z8+fMVoL7++utTXn/77bcrQF1yySWqXr16KjIyUi1btsx6vU6dOqp///6qQYMGqkePHsput6tGjRqp2NhY1bJlS9W4cWMFqLvuusu6ZvTo0SoyMlJFRUWpHj16qNDQUKXrupo+fbpV5vnnn1eAatOmjWrWrJkC1E033WS9/uqrr6qYmBg1atQo1alTJ9WgQQMFqMmTJyullJo3b54C1G+//RbwfgYPHqz69u1b4fuNjY1V48aNU926dVPXXXddwPMAlZubW6n6JSQkKEANGDBAtWnTRrVt21YBqlevXqp27dqqa9euKiwsTAFq3rx51nU//fSTatKkiXI4HKp79+4qNDRUNWnSRG3atCmgnk899VRAfYQQZ1/r1q0VoAA1bty4Mq9HRUVZr8+YMaPce7z++utWGf/HrbfeetLnjhw5ssw1rVu3PmV9R48ebZUPDQ1V3377bbnlcnNzVf/+/QPuv3HjxoAy+/btC3h91qxZAa+npKQou91uvR4TE6MSExMrrNvatWvVihUrAs699NJLAc9ITU095XsUZ+aCCTLPPPOMAtTvv/9+0msXLFigACu4uN1uddNNN6no6Gh1+PBhpZQvyAwbNky53W6llFIrV64MCBRut1vdeOONClBHjhxRSvn+sbVo0UJlZGQopZTKyspS1157rQLU1q1blVJKHTx4UCUkJCillPJ6verhhx9WgEpKSlJKHQ8Wy5cvt8rccsstqkaNGqq4uFgVFRWpOnXqqEceecR6P4cPH1a6rqu33367wvccGxurbrrpJpWcnKycTqd65513Ap7nDw6nqp8/yDz/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9x5PPvnkGdUVym6Udqb1OxnDMM76OCQhhBDVW1B3LbVq1QpN09i0adP5rsqfZtSoUdx1113ccMMN3Hvvvee7OmfF5MmT0TSN55577nxXRQghRJAJyq6lAwcOBCxE161bt/O+b49/r6Vu3bqd0+f490qq7Nb0wWD37t0B6/9cccUVVleXEEIIcTJBGWSEEEIIISDIu5aEEEIIUb1JkBFCCCFE0ArKIHPkyBHWrl3LunXrzndVzti5fA9paWmsXbu2Wg2GFkIIUb0EZZBZtGgREydOtFbr/eOPP7jmmmvo378/l112WZU3OTxfCgoKzmhBu1NZtWoVDzzwwGnvAiuEEEL81QVlkElKSuLee+/lgw8+oKioiL59+zJ27FhWr17N+vXrA3am3rJlC4WFhYBvsbesrCz27NlDRkYG4NvM0L/CrNfrJS0tjaysLFJTUwOemZ+fT0JCgrVjdGZmJoWFhezcuZNDhw5Vuu4pKSnWTta//PJLwCynE+vrr1NiYiJKKXJycgDfLqwJCQnWXiOmaZKamkpBQQGbN2+26jh+/HhuvfVWaxduIYQQ4kITlAviJSUlce211wK+5e/btGnDzTffHFAmOTmZMWPG0Lt3b9avX8/MmTNZvnw5GzdupHPnzixatIiBAwcSGRnJ3Llz2b9/Pz///DP33XcfV155JatWreKqq65i1qxZbNq0ibvvvpvevXvz5Zdfsnz5ch566CEMw6BJkyb897//JTk5mdatW5ObmwvAP/7xDyIiInj88cetOt16663YbDZ27drF119/zdatW61NFcurb9u2bRkxYgRdunThxx9/5J577mHkyJGMGjWKzp07s27dOiZPnkyrVq24+eab6dOnDzt37iQ2NpaZM2daX6t+/fr9CX8rQgghxHmgglBUVJQ6dOiQUkqpMWPGqE8//bRMmbi4OLV27VqllFL//ve/1UMPPaTuu+8+9eGHHyqllJowYYJavHixUkqpK6+8Um3atEktXLhQ3X///UoppQ4dOqRq1qyp3G636t27t8rJyVFKKdW2bVtVXFysrr76arVt2zallFJDhw5V69atU126dFF79+5VRUVFqnnz5iorK8uqj8vlUlFRUWrv3r3Wudtvv119/vnnFdb3wQcfVHPmzFFKKTVu3Dj19ddfq4kTJ6qNGzda72Ht2rXq+++/V2PHjlVKKbV+/Xo1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iIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQERGRtBhkiIiISFoMMkRERCQtBhkiIiKSFoMMERERSYtBhoiIiKTFIENERETSYpAhIiIiaTHIEBERkbQYZIiIiEhaDDJEREQkLQYZIiIikhaDDBEREUmLQYaIiIikxSBDRERE0mKQISIiImkxyBAREZG0GGSIiIhIWgwyREREJC0GGSIiIpIWgwwRERFJi0GGiIiIpMUgQ0RERNJikCEiIiJpMcgQ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", + }, // { // name: "Health-Log", diff --git a/src/templates.ts b/src/templates.ts index 68ba287..addcf23 100644 --- a/src/templates.ts +++ b/src/templates.ts @@ -3,6 +3,8 @@ export let APP_NAME = "Invoice Suite"; // Template Interface for better type safety export interface ItemsConfig { Name: string; + Heading: string; + Subheading: string; Rows: { start: number; end: number; @@ -92,6 +94,8 @@ export let DATA: { [key: number]: TemplateData } = { }, Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 23, end: 35, @@ -112,7 +116,7 @@ export let DATA: { [key: number]: TemplateData } = { sheet1: { sheetstr: { savestr: - "version:1.5\ncell:B1:b:::2::l:1:f:10\ncell:C1:b:::2::l:1:f:10\ncell:D1:b:::2::l:1:f:10\ncell:E1:b:::2::l:1:f:10\ncell:F1:b:::2::l:1:f:10\ncell:G1:b:::2::l:1:f:10\ncell:A2:b::2:::l:1:f:10\ncell:B2:t:INVOICE:b:1:1:1:1:f:13:cf:1:colspan:6\ncell:C2:t::b:2::2::l:1:f:10\ncell:D2:t::b:2::2::l:1:f:10\ncell:E2:t::b:2::2::l:1:f:10\ncell:F2:t::b:2::2::l:1:f:10\ncell:G2:t::b:2::2::l:1:f:10\ncell:A3:b::2:::l:3:f:10\ncell:B3:b:2:::2:l:3:f:10\ncell:C3:b:2::::l:1:f:10\ncell:D3:b:2::::l:1:f:10\ncell:E3:b:2::::l:1:f:10\ncell:F3:b:2::::l:1:f:10\ncell:G3:b:2:2:::l:3:f:10\ncell:A4:b::2:::l:3:f:10\ncell:B4:b::::2:l:3:f:6\ncell:C4:t:BILL TO\\c:f:9:colspan:2\ncell:E4:f:5:cf:2\ncell:G4:b::2:::l:3:f:10\ncell:A5:b::2:::l:3:f:10\ncell:B5:b::::2:l:3:f:7\ncell:C5:t:[Name]:f:9:cf:2:colspan:3\ncell:E5:f:1:cf:2\ncell:F5:t::l:2:f:10:tvf:4:rowspan:3\ncell:G5:t::b::1:::l:2:f:10\ncell:A6:b::2:::l:3:f:10\ncell:B6:b::::2:l:3:f:7\ncell:C6:t:[Street Address]:f:9:cf:2:colspan:3\ncell:E6:f:1:cf:2\ncell:F6:l:2:f:10\ncell:G6:b::1:::l:2:f:10\ncell:A7:b::2:::l:3:f:10\ncell:B7:b::::2:l:3:f:7\ncell:C7:t:[City, State, Zip]:f:9:cf:2:colspan:3\ncell:E7:f:1:cf:2\ncell:G7:b::2:::l:3:f:10\ncell:A8:b::2:::l:3:f:10\ncell:B8:b::::2:l:3:f:7\ncell:C8:t:Phone\\c:f:9:cf:2:colspan:3\ncell:D8:f:8:cf:2\ncell:E8:f:1:cf:2\ncell:G8:b::2:::l:3:f:10\ncell:A9:b::2:::l:3:f:10\ncell:B9:b::::2:l:3:f:7\ncell:C9:t:Email\\c:f:9:cf:2:colspan:3\ncell:E9:f:1:cf:2\ncell:G9:b::2:::l:3:f:10\ncell:A10:b::2:::l:3:f:10\ncell:B10:b::::2:l:3:f:7\ncell:C10:colspan:2\ncell:G10:b::2:::l:3:f:10\ncell:A11:b::2:::l:3:f:10\ncell:B11:b::::2:l:3:f:7\ncell:C11:t:FROM\\c:f:9:colspan:2\ncell:E11:f:8:colspan:2\ncell:G11:b::2:::l:3:f:10\ncell:A12:b::2:::l:3:f:10\ncell:B12:b::::2:l:3:f:7\ncell:C12:t:[Name]:f:9:colspan:4\ncell:E12:colspan:2\ncell:G12:b::2:::l:3:f:10\ncell:A13:b::2:::l:3:f:10\ncell:B13:b::::2:l:3:f:7\ncell:C13:t:[Street Address]:f:9:colspan:4\ncell:E13:colspan:2\ncell:G13:b::2:::l:3:f:10\ncell:A14:b::2:::l:3:f:10\ncell:B14:b::::2:l:3:f:7\ncell:C14:t:[City, State, Zip]:f:9:colspan:4\ncell:E14:colspan:2\ncell:G14:b::2:::l:3:f:10\ncell:A15:b::2:::l:3:f:10\ncell:B15:b::::2:l:3:f:7\ncell:C15:t:Phone\\c:f:9:colspan:4\ncell:D15:f:8:cf:2:colspan:3\ncell:E15:colspan:2\ncell:G15:b::2:::l:3:f:10\ncell:A16:b::2:::l:3:f:10\ncell:B16:b::::2:l:3:f:7\ncell:C16:t:Email\\c:f:9:colspan:4\ncell:E16:colspan:2\ncell:G16:b::2:::l:3:f:10\ncell:A17:b::2:::l:3:f:10\ncell:B17:b::::2:l:3:f:6\ncell:G17:b::2:::l:3:f:10\ncell:A18:b::2:::l:3:f:10\ncell:B18:b::::2:l:3:f:10\ncell:C18:t:INVOICE #\\c:f:9:cf:2:colspan:4\ncell:D18:v:1:l:4:f:9:cf:2:colspan:3\ncell:G18:b::2:::l:3:f:10\ncell:A19:b::2:::l:3:f:10\ncell:B19:b::::2:l:3:f:10\ncell:G19:b::2:::l:3:f:10\ncell:A20:b::2:::l:3:f:10\ncell:B20:b::::2:l:3:f:10\ncell:C20:t:DATE\\c:f:9:cf:2\ncell:D20:vtf:nd:45898:TODAY():f:9:cf:2:ntvf:3:colspan:2\ncell:G20:b::2:::l:3:f:10\ncell:A21:b::2:::l:3:f:10\ncell:B21:b::::2:l:3:f:6:cf:2\ncell:C21:b:::2::l:1:f:10\ncell:D21:b:::2::l:3:f:6:cf:2\ncell:E21:b:::2::l:1:f:10\ncell:F21:b:::2::l:1:f:10\ncell:G21:b::2:::l:3:f:10\ncell:A22:b::2:::l:3:f:10\ncell:B22:b::2::2:l:3:f:10\ncell:C22:t:Description:b:1::1:1:f:9:cf:1:colspan:3\ncell:D22:t:Description:b:1::1::l:3:f:6:cf:2:colspan:2:rowspan:1\ncell:E22:t::b:2:2:2::l:1:f:10\ncell:F22:t:Amount:b:1:1:1:1:f:9:cf:1\ncell:G22:b::2::2:l:3:f:10\ncell:A23:b::2:::l:3:f:10\ncell:B23:b::2::2:l:3:f:10\ncell:C23:b:1:1::1:f:2:cf:2:colspan:3\ncell:D23:b:1:1:::l:3:f:10:cf:2:colspan:2:rowspan:1\ncell:E23:t::b:2:2:2::l:1:f:10\ncell:F23:b:1:1:::f:2:ntvf:1\ncell:G23:b::2::2:l:3:f:10\ncell:A24:b::2:::l:3:f:10\ncell:B24:b::2::2:l:3:f:10:cf:2\ncell:C24:b::1::1:f:2:cf:2:colspan:3\ncell:D24:b::1:::l:1:f:10:colspan:2\ncell:E24:l:1:f:10\ncell:F24:b::1:::f:2:ntvf:1\ncell:G24:b::2::2:l:3:f:10\ncell:A25:b::2:::l:3:f:10\ncell:B25:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C25:b::1::1:f:2:cf:2:colspan:3\ncell:D25:b::1:::colspan:2\ncell:F25:b::1:::f:2:ntvf:1\ncell:G25:b::2::2:l:3:f:10\ncell:A26:b::2:::l:3:f:10\ncell:B26:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C26:b::1::1:f:2:cf:2:colspan:3\ncell:D26:b::1:::colspan:2\ncell:F26:b::1:::f:2:ntvf:1\ncell:G26:b::2::2:l:3:f:10\ncell:A27:b::2:::l:3:f:10\ncell:B27:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C27:b::1::1:f:2:cf:2:colspan:3\ncell:D27:b::1:::colspan:2\ncell:F27:b::1:::f:2:ntvf:1\ncell:G27:b::2::2:l:3:f:10\ncell:A28:b::2:::l:3:f:10\ncell:B28:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C28:b::1::1:f:2:cf:2:colspan:3\ncell:D28:b::1:::colspan:2\ncell:F28:b::1:::f:2:ntvf:1\ncell:G28:b::2::2:l:3:f:10\ncell:A29:b::2:::l:3:f:10\ncell:B29:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C29:b::1::1:f:2:cf:2:colspan:3\ncell:D29:b::1:::colspan:2\ncell:F29:b::1:::f:2:ntvf:1\ncell:G29:b::2::2:l:3:f:10\ncell:A30:b::2:::l:3:f:10\ncell:B30:b::2::2:l:3:f:10:cf:2\ncell:C30:b::1::1:f:2:cf:2:colspan:3\ncell:D30:b::1:::colspan:2\ncell:F30:b::1:::f:2:ntvf:1\ncell:G30:b::2::2:l:3:f:10\ncell:A31:b::2:::l:3:f:10\ncell:B31:b::2::2:l:3:f:10:cf:2\ncell:C31:b::1::1:f:2:cf:2:colspan:3\ncell:D31:b::1:::colspan:2\ncell:F31:b::1:::f:2:ntvf:1\ncell:G31:b::2::2:l:3:f:10\ncell:A32:b::2:::l:3:f:10\ncell:B32:b::2::2:l:3:f:10:cf:2\ncell:C32:b::1::1:f:2:cf:2:colspan:3\ncell:D32:b::1:::colspan:2\ncell:F32:b::1:::f:2:ntvf:1\ncell:G32:b::2::2:l:3:f:10\ncell:A33:b::2:::l:3:f:10\ncell:B33:b::2::2:l:3:f:10:cf:2\ncell:C33:b::1::1:f:2:cf:2:colspan:3\ncell:D33:b::1:::colspan:2\ncell:F33:b::1:::f:2:ntvf:1\ncell:G33:b::2::2:l:3:f:10\ncell:A34:b::2:::l:3:f:10\ncell:B34:b::2::2:l:3:f:10:cf:2\ncell:C34:b::1::1:f:2:cf:2:colspan:3\ncell:D34:b::1:::colspan:2\ncell:F34:b::1:::f:2:ntvf:1\ncell:G34:b::2::2:l:3:f:10\ncell:A35:b::2:::l:3:f:7\ncell:B35:b::2::2:l:3:f:10:cf:2\ncell:C35:b::1:1:1:f:2:cf:2:colspan:3\ncell:D35:b::1:1::l:3:f:10:cf:2:colspan:2\ncell:E35:b:::2::l:3:f:10:cf:2\ncell:F35:b::1:1::f:2:ntvf:1\ncell:G35:b::2::2:l:3:f:10\ncell:A36:b::2:::l:3:f:6\ncell:B36:b::2::2:l:3:f:6\ncell:C36:t:TOTAL:b:1:1:1:1:f:11:cf:2:colspan:3\ncell:D36:b:2::2::l:3:f:12:cf:2\ncell:E36:b:2:2:2::l:3:f:12:cf:2\ncell:F36:vtf:n:0:SUM(F23\\cF35):b:1:1:1::f:11:ntvf:1\ncell:G36:b::2::2:l:3:f:7\ncell:A37:b::2:::l:3:f:10\ncell:B37:b::::2:l:3:f:6:cf:2\ncell:C37:b:2::::l:1:f:10\ncell:D37:b:2::::l:1:f:10\ncell:E37:b:2::::l:1:f:10\ncell:F37:b:2::::l:1:f:10\ncell:G37:b::2:::l:3:f:6\ncell:A38:b::2:::l:3:f:10\ncell:B38:b::::2:l:3:f:10\ncell:D38:colspan:3:rowspan:3\ncell:G38:b::2:::l:3:f:10\ncell:A39:b::2:::l:3:f:10\ncell:B39:b::::2:l:3:f:10:cf:2\ncell:C39:f:4:cf:1\ncell:E39:f:3\ncell:F39:t::l:2:f:10\ncell:G39:b::2:::l:3:f:10\ncell:A40:b::2:::l:3:f:10\ncell:B40:b::::2:l:3:f:10\ncell:G40:b::2:::l:3:f:10\ncell:A41:b::2:::l:3:f:10\ncell:B41:b:::2:2:l:3:f:10\ncell:C41:b:::2::l:3:f:10\ncell:D41:b:::2::l:3:f:10\ncell:E41:b:::2::l:3:f:10\ncell:F41:b:::2::l:3:f:10\ncell:G41:b::2:2::l:3:f:10\ncell:B42:b:1:::\ncell:C42:b:1:::\ncell:D42:b:1:::\ncell:E42:b:1:::\ncell:F42:b:1:::\ncell:G42:b:1:::\ncol:A:w:10\ncol:B:w:10\ncol:C:w:62\ncol:D:w:73\ncol:E:w:15\ncol:F:w:68\ncol:G:w:10\nrow:1:h:14.25\nrow:2:h:18.75\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:15.75\nrow:6:h:15.75\nrow:7:h:15.75\nrow:8:h:15.75\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:15.75\nrow:36:h:15.75\nrow:37:h:14.25\nrow:38:h:14.25\nrow:39:h:14.25\nrow:40:h:14.25\nrow:41:h:14.25\nsheet:c:7:r:42:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\nfont:1:* * Trebuchet MS\nfont:2:* 9pt Trebuchet MS\nfont:3:italic bold * Trebuchet MS\nfont:4:italic bold 10pt Trebuchet MS\nfont:5:normal bold * Trebuchet MS\nfont:6:normal bold 10pt Arial\nfont:7:normal bold 12pt Arial\nfont:8:normal normal * *\nfont:9:normal normal * Trebuchet MS\nfont:10:normal normal 10pt Arial\nfont:11:normal normal 11pt Trebuchet MS\nfont:12:normal normal 12pt Arial\nfont:13:normal normal 16pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:* * * *;vertical-align:top;\nlayout:4:padding:* * * 4px;vertical-align:*;\nvalueformat:1:#,##0.00\nvalueformat:2:d-mmm\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n", + "version:1.5\ncell:B1:b:::2::l:1:f:10\ncell:C1:b:::2::l:1:f:10\ncell:D1:b:::2::l:1:f:10\ncell:E1:b:::2::l:1:f:10\ncell:F1:b:::2::l:1:f:10\ncell:G1:b:::2::l:1:f:10\ncell:A2:b::2:::l:1:f:10\ncell:B2:t:INVOICE:b:1:1:1:1:f:13:cf:1:colspan:6\ncell:C2:t::b:2::2::l:1:f:10\ncell:D2:t::b:2::2::l:1:f:10\ncell:E2:t::b:2::2::l:1:f:10\ncell:F2:t::b:2::2::l:1:f:10\ncell:G2:t::b:2::2::l:1:f:10\ncell:A3:b::2:::l:3:f:10\ncell:B3:b:2:::2:l:3:f:10\ncell:C3:b:2::::l:1:f:10\ncell:D3:b:2::::l:1:f:10\ncell:E3:b:2::::l:1:f:10\ncell:F3:b:2::::l:1:f:10\ncell:G3:b:2:2:::l:3:f:10\ncell:A4:b::2:::l:3:f:10\ncell:B4:b::::2:l:3:f:6\ncell:C4:t:BILL TO\\c:f:9:colspan:2\ncell:E4:f:5:cf:2\ncell:G4:b::2:::l:3:f:10\ncell:A5:b::2:::l:3:f:10\ncell:B5:b::::2:l:3:f:7\ncell:C5:t:[Name]:f:9:cf:2:colspan:3\ncell:E5:f:1:cf:2\ncell:F5:t::l:2:f:10:tvf:4:rowspan:3\ncell:G5:t::b::1:::l:2:f:10\ncell:A6:b::2:::l:3:f:10\ncell:B6:b::::2:l:3:f:7\ncell:C6:t:[Street Address]:f:9:cf:2:colspan:3\ncell:E6:f:1:cf:2\ncell:F6:l:2:f:10\ncell:G6:b::1:::l:2:f:10\ncell:A7:b::2:::l:3:f:10\ncell:B7:b::::2:l:3:f:7\ncell:C7:t:[City, State, Zip]:f:9:cf:2:colspan:3\ncell:E7:f:1:cf:2\ncell:G7:b::2:::l:3:f:10\ncell:A8:b::2:::l:3:f:10\ncell:B8:b::::2:l:3:f:7\ncell:C8:t:Phone\\c:f:9:cf:2:colspan:3\ncell:D8:f:8:cf:2\ncell:E8:f:1:cf:2\ncell:G8:b::2:::l:3:f:10\ncell:A9:b::2:::l:3:f:10\ncell:B9:b::::2:l:3:f:7\ncell:C9:t:Email\\c:f:9:cf:2:colspan:3\ncell:E9:f:1:cf:2\ncell:G9:b::2:::l:3:f:10\ncell:A10:b::2:::l:3:f:10\ncell:B10:b::::2:l:3:f:7\ncell:C10:colspan:2\ncell:G10:b::2:::l:3:f:10\ncell:A11:b::2:::l:3:f:10\ncell:B11:b::::2:l:3:f:7\ncell:C11:t:FROM\\c:f:9:colspan:2\ncell:E11:f:8:colspan:2\ncell:G11:b::2:::l:3:f:10\ncell:A12:b::2:::l:3:f:10\ncell:B12:b::::2:l:3:f:7\ncell:C12:t:[Name]:f:9:colspan:4\ncell:E12:colspan:2\ncell:G12:b::2:::l:3:f:10\ncell:A13:b::2:::l:3:f:10\ncell:B13:b::::2:l:3:f:7\ncell:C13:t:[Street Address]:f:9:colspan:4\ncell:E13:colspan:2\ncell:G13:b::2:::l:3:f:10\ncell:A14:b::2:::l:3:f:10\ncell:B14:b::::2:l:3:f:7\ncell:C14:t:[City, State, Zip]:f:9:colspan:4\ncell:E14:colspan:2\ncell:G14:b::2:::l:3:f:10\ncell:A15:b::2:::l:3:f:10\ncell:B15:b::::2:l:3:f:7\ncell:C15:t:Phone\\c:f:9:colspan:4\ncell:D15:f:8:cf:2:colspan:3\ncell:E15:colspan:2\ncell:G15:b::2:::l:3:f:10\ncell:A16:b::2:::l:3:f:10\ncell:B16:b::::2:l:3:f:7\ncell:C16:t:Email\\c:f:9:colspan:4\ncell:E16:colspan:2\ncell:G16:b::2:::l:3:f:10\ncell:A17:b::2:::l:3:f:10\ncell:B17:b::::2:l:3:f:6\ncell:G17:b::2:::l:3:f:10\ncell:A18:b::2:::l:3:f:10\ncell:B18:b::::2:l:3:f:10\ncell:C18:t:INVOICE #\\c:f:9:cf:2:colspan:4\ncell:D18:v:1:l:4:f:9:cf:2:colspan:3\ncell:G18:b::2:::l:3:f:10\ncell:A19:b::2:::l:3:f:10\ncell:B19:b::::2:l:3:f:10\ncell:G19:b::2:::l:3:f:10\ncell:A20:b::2:::l:3:f:10\ncell:B20:b::::2:l:3:f:10\ncell:C20:t:DATE\\c:f:9:cf:2\ncell:D20:vtf:nd:45901:TODAY():f:9:cf:2:ntvf:3:colspan:2\ncell:G20:b::2:::l:3:f:10\ncell:A21:b::2:::l:3:f:10\ncell:B21:b::::2:l:3:f:6:cf:2\ncell:C21:b:::2::l:1:f:10\ncell:D21:b:::2::l:3:f:6:cf:2\ncell:E21:b:::2::l:1:f:10\ncell:F21:b:::2::l:1:f:10\ncell:G21:b::2:::l:3:f:10\ncell:A22:b::2:::l:3:f:10\ncell:B22:b::2::2:l:3:f:10\ncell:C22:t:Description:b:1::1:1:f:9:cf:1:colspan:3\ncell:D22:t:Description:b:1::1::l:3:f:6:cf:2:colspan:2:rowspan:1\ncell:E22:t::b:2:2:2::l:1:f:10\ncell:F22:t:Amount:b:1:1:1:1:f:9:cf:1\ncell:G22:b::2::2:l:3:f:10\ncell:A23:b::2:::l:3:f:10\ncell:B23:b::2::2:l:3:f:10\ncell:C23:b:1:1::1:f:2:cf:2:colspan:3\ncell:D23:b:1:1:::l:3:f:10:cf:2:colspan:2:rowspan:1\ncell:E23:t::b:2:2:2::l:1:f:10\ncell:F23:b:1:1:::f:2:ntvf:1\ncell:G23:b::2::2:l:3:f:10\ncell:A24:b::2:::l:3:f:10\ncell:B24:b::2::2:l:3:f:10:cf:2\ncell:C24:b::1::1:f:2:cf:2:colspan:3\ncell:D24:b::1:::l:1:f:10:colspan:2\ncell:E24:l:1:f:10\ncell:F24:b::1:::f:2:ntvf:1\ncell:G24:b::2::2:l:3:f:10\ncell:A25:b::2:::l:3:f:10\ncell:B25:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C25:b::1::1:f:2:cf:2:colspan:3\ncell:D25:b::1:::colspan:2\ncell:F25:b::1:::f:2:ntvf:1\ncell:G25:b::2::2:l:3:f:10\ncell:A26:b::2:::l:3:f:10\ncell:B26:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C26:b::1::1:f:2:cf:2:colspan:3\ncell:D26:b::1:::colspan:2\ncell:F26:b::1:::f:2:ntvf:1\ncell:G26:b::2::2:l:3:f:10\ncell:A27:b::2:::l:3:f:10\ncell:B27:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C27:b::1::1:f:2:cf:2:colspan:3\ncell:D27:b::1:::colspan:2\ncell:F27:b::1:::f:2:ntvf:1\ncell:G27:b::2::2:l:3:f:10\ncell:A28:b::2:::l:3:f:10\ncell:B28:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C28:b::1::1:f:2:cf:2:colspan:3\ncell:D28:b::1:::colspan:2\ncell:F28:b::1:::f:2:ntvf:1\ncell:G28:b::2::2:l:3:f:10\ncell:A29:b::2:::l:3:f:10\ncell:B29:b::2::2:l:3:f:10:cf:2:ntvf:2\ncell:C29:b::1::1:f:2:cf:2:colspan:3\ncell:D29:b::1:::colspan:2\ncell:F29:b::1:::f:2:ntvf:1\ncell:G29:b::2::2:l:3:f:10\ncell:A30:b::2:::l:3:f:10\ncell:B30:b::2::2:l:3:f:10:cf:2\ncell:C30:b::1::1:f:2:cf:2:colspan:3\ncell:D30:b::1:::colspan:2\ncell:F30:b::1:::f:2:ntvf:1\ncell:G30:b::2::2:l:3:f:10\ncell:A31:b::2:::l:3:f:10\ncell:B31:b::2::2:l:3:f:10:cf:2\ncell:C31:b::1::1:f:2:cf:2:colspan:3\ncell:D31:b::1:::colspan:2\ncell:F31:b::1:::f:2:ntvf:1\ncell:G31:b::2::2:l:3:f:10\ncell:A32:b::2:::l:3:f:10\ncell:B32:b::2::2:l:3:f:10:cf:2\ncell:C32:b::1::1:f:2:cf:2:colspan:3\ncell:D32:b::1:::colspan:2\ncell:F32:b::1:::f:2:ntvf:1\ncell:G32:b::2::2:l:3:f:10\ncell:A33:b::2:::l:3:f:10\ncell:B33:b::2::2:l:3:f:10:cf:2\ncell:C33:b::1::1:f:2:cf:2:colspan:3\ncell:D33:b::1:::colspan:2\ncell:F33:b::1:::f:2:ntvf:1\ncell:G33:b::2::2:l:3:f:10\ncell:A34:b::2:::l:3:f:10\ncell:B34:b::2::2:l:3:f:10:cf:2\ncell:C34:b::1::1:f:2:cf:2:colspan:3\ncell:D34:b::1:::colspan:2\ncell:F34:b::1:::f:2:ntvf:1\ncell:G34:b::2::2:l:3:f:10\ncell:A35:b::2:::l:3:f:7\ncell:B35:b::2::2:l:3:f:10:cf:2\ncell:C35:b::1:1:1:f:2:cf:2:colspan:3\ncell:D35:b::1:1::l:3:f:10:cf:2:colspan:2\ncell:E35:b:::2::l:3:f:10:cf:2\ncell:F35:b::1:1::f:2:ntvf:1\ncell:G35:b::2::2:l:3:f:10\ncell:A36:b::2:::l:3:f:6\ncell:B36:b::2::2:l:3:f:6\ncell:C36:t:TOTAL:b:1:1:1:1:f:11:cf:2:colspan:3\ncell:D36:b:2::2::l:3:f:12:cf:2\ncell:E36:b:2:2:2::l:3:f:12:cf:2\ncell:F36:vtf:n:0:SUM(F23\\cF35):b:1:1:1::f:11:ntvf:1\ncell:G36:b::2::2:l:3:f:7\ncell:A37:b::2:::l:3:f:10\ncell:B37:b::::2:l:3:f:6:cf:2\ncell:C37:b:2::::l:1:f:10\ncell:D37:b:2::::l:1:f:10\ncell:E37:b:2::::l:1:f:10\ncell:F37:b:2::::l:1:f:10\ncell:G37:b::2:::l:3:f:6\ncell:A38:b::2:::l:3:f:10\ncell:B38:b::::2:l:3:f:10\ncell:D38:tvf:4:colspan:3:rowspan:3\ncell:G38:b::2:::l:3:f:10\ncell:A39:b::2:::l:3:f:10\ncell:B39:b::::2:l:3:f:10:cf:2\ncell:C39:f:4:cf:1\ncell:E39:f:3\ncell:F39:t::l:2:f:10\ncell:G39:b::2:::l:3:f:10\ncell:A40:b::2:::l:3:f:10\ncell:B40:b::::2:l:3:f:10\ncell:G40:b::2:::l:3:f:10\ncell:A41:b::2:::l:3:f:10\ncell:B41:b:::2:2:l:3:f:10\ncell:C41:b:::2::l:3:f:10\ncell:D41:b:::2::l:3:f:10\ncell:E41:b:::2::l:3:f:10\ncell:F41:b:::2::l:3:f:10\ncell:G41:b::2:2::l:3:f:10\ncell:B42:b:1:::\ncell:C42:b:1:::\ncell:D42:b:1:::\ncell:E42:b:1:::\ncell:F42:b:1:::\ncell:G42:b:1:::\ncol:A:w:10\ncol:B:w:10\ncol:C:w:62\ncol:D:w:73\ncol:E:w:15\ncol:F:w:68\ncol:G:w:10\nrow:1:h:14.25\nrow:2:h:18.75\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:15.75\nrow:6:h:15.75\nrow:7:h:15.75\nrow:8:h:15.75\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:15.75\nrow:36:h:15.75\nrow:37:h:14.25\nrow:38:h:14.25\nrow:39:h:14.25\nrow:40:h:14.25\nrow:41:h:14.25\nsheet:c:7:r:42:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\nfont:1:* * Trebuchet MS\nfont:2:* 9pt Trebuchet MS\nfont:3:italic bold * Trebuchet MS\nfont:4:italic bold 10pt Trebuchet MS\nfont:5:normal bold * Trebuchet MS\nfont:6:normal bold 10pt Arial\nfont:7:normal bold 12pt Arial\nfont:8:normal normal * *\nfont:9:normal normal * Trebuchet MS\nfont:10:normal normal 10pt Arial\nfont:11:normal normal 11pt Trebuchet MS\nfont:12:normal normal 12pt Arial\nfont:13:normal normal 16pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:* * * *;vertical-align:top;\nlayout:4:padding:* * * 4px;vertical-align:*;\nvalueformat:1:#,##0.00\nvalueformat:2:d-mmm\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n", }, name: "inv1", hidden: "0", @@ -229,18 +233,6 @@ export let DATA: { [key: number]: TemplateData } = { cellMappings: { sheet1: { Heading: "B2", - Items: { - Name: "Items", - Rows: { - start: 23, - end: 35, - }, - Columns: { - Description: "B", - Amount: "G", - }, - }, - Date: "G4", InvoiceNumber: "B5", From: { @@ -265,6 +257,19 @@ export let DATA: { [key: number]: TemplateData } = { 2: "B39", 3: "B40", }, + Items: { + Name: "Items", + Heading: "Items", + Subheading: "Item", + Rows: { + start: 23, + end: 35, + }, + Columns: { + Description: "B", + Amount: "G", + }, + }, }, }, @@ -276,7 +281,7 @@ export let DATA: { [key: number]: TemplateData } = { sheet1: { sheetstr: { savestr: - "version:1.5\ncell:B2:t:INVOICE:l:1:f:9:cf:1:colspan:6\ncell:C2:t::l:2:f:13\ncell:D2:t::l:2:f:13\ncell:E2:l:1:f:10:c:2:cf:3\ncell:F2:t:INVOICE:l:1:f:8:c:2:cf:2:colspan:2\ncell:G2:t::l:2:f:13\ncell:B3:f:6:cf:2:colspan:4\ncell:C3:t::l:2:f:13\ncell:D3:t::l:2:f:13\ncell:F3:l:1:f:7:cf:2\ncell:G3:l:1:f:14:cf:2:ntvf:3\ncell:B4:f:2:colspan:2\ncell:F4:t:DATE\\c:l:1:f:14:cf:2\ncell:G4:vtf:nd:45898:TODAY():l:1:f:14:cf:2:ntvf:3\ncell:B5:t:INVOICE #\\c:f:3:colspan:6\ncell:C5:cf:2:colspan:5\ncell:F5:l:1:f:7:cf:2:colspan:2\ncell:G5:l:1:f:14:cf:2\ncell:B6:f:2:colspan:2\ncell:F6:l:1:f:7:cf:2:colspan:2\ncell:G6:l:1:f:14:cf:2\ncell:B7:t:FROM\\c:f:12\ncell:F7:l:1:f:7:cf:2:tvf:4:colspan:2:rowspan:6\ncell:G7:l:1:f:14:cf:2\ncell:B8:t:[Company Name]:f:3:colspan:4\ncell:F8:l:1:f:7:cf:2:colspan:2\ncell:G8:l:1:f:14:cf:2\ncell:B9:t:[Street Address]:f:1:cf:2:colspan:4\ncell:F9:l:1:f:7\ncell:G9:l:1:f:14:cf:1\ncell:B10:t:[City, State, Zip]:f:1:cf:2:colspan:4\ncell:G10:l:1:f:13\ncell:B11:t:Phone\\c :f:1:cf:2:colspan:4\ncell:B12:t:Email\\c:f:1:cf:2:colspan:4\ncell:B13:colspan:2\ncell:B14:t:BILL TO\\c:f:11:cf:2\ncell:B15:t:[Name]:f:1:cf:2:colspan:6\ncell:B16:t:[Company Name]:f:1:cf:2:colspan:6\ncell:F16:t: \ncell:B17:t:[Street Address]:f:1:cf:2:colspan:6\ncell:B18:t:[City, State, Zip]:f:1:cf:2:colspan:6\ncell:B19:t:Phone\\c :f:1:cf:2:colspan:6\ncell:B20:t:Email\\c:f:1:cf:2:colspan:6\ncell:A22:b::1::\ncell:B22:t:DESCRIPTION:b:1:1:1:1:l:1:f:14:c:1:bg:3:cf:1:colspan:5:rowspan:1\ncell:C22:t::l:2:f:13\ncell:D22:t::l:2:f:13\ncell:E22:t::l:2:f:13\ncell:F22:t::l:2:f:13\ncell:G22:t:AMOUNT:b:1:1:1::l:1:f:14:c:1:bg:3:cf:1\ncell:A23:b::1::\ncell:B23:b:1:1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C23:t::l:2:f:4\ncell:D23:t::l:2:f:4\ncell:E23:t::l:2:f:4\ncell:F23:t::b::2:::l:1:f:4\ncell:G23:b::1::1:f:4:ntvf:1\ncell:A24:b::1::\ncell:B24:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C24:t::l:2:f:4\ncell:D24:t::l:2:f:4\ncell:E24:t::l:2:f:4\ncell:F24:t::b::2:::l:1:f:4\ncell:G24:b::1::1:f:4:ntvf:1\ncell:A25:b::1::\ncell:B25:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C25:t::l:2:f:4\ncell:D25:t::l:2:f:4\ncell:E25:t::l:2:f:4\ncell:F25:t::b::2:::l:1:f:4\ncell:G25:b::1::1:f:4:ntvf:1\ncell:A26:b::1::\ncell:B26:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C26:t::l:2:f:4\ncell:D26:t::l:2:f:4\ncell:E26:t::l:2:f:4\ncell:F26:t::b::2:::l:1:f:4\ncell:G26:b::1::1:f:4:ntvf:1\ncell:A27:b::1::\ncell:B27:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C27:t::l:2:f:4\ncell:D27:t::l:2:f:4\ncell:E27:t::l:2:f:4\ncell:F27:t::b::2:::l:1:f:4\ncell:G27:b::1::1:f:4:ntvf:1\ncell:A28:b::1::\ncell:B28:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C28:t::l:2:f:4\ncell:D28:t::l:2:f:4\ncell:E28:t::l:2:f:4\ncell:F28:t::b::2:::l:1:f:4\ncell:G28:b::1::1:f:4:ntvf:1\ncell:A29:b::1::\ncell:B29:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C29:t::l:2:f:4\ncell:D29:t::l:2:f:4\ncell:E29:t::l:2:f:4\ncell:F29:t::b::2:::l:1:f:4\ncell:G29:b::1::1:f:4:ntvf:1\ncell:A30:b::1::\ncell:B30:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C30:t::l:2:f:4\ncell:D30:t::l:2:f:4\ncell:E30:t::l:2:f:4\ncell:F30:t::b::2:::l:1:f:4\ncell:G30:b::1::1:f:4:ntvf:1\ncell:A31:b::1::\ncell:B31:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C31:t::l:2:f:4\ncell:D31:t::l:2:f:4\ncell:E31:t::l:2:f:4\ncell:F31:t::b::2:::l:1:f:4\ncell:G31:b::1::1:f:4:ntvf:1\ncell:A32:b::1::\ncell:B32:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C32:t::l:2:f:4\ncell:D32:t::l:2:f:4\ncell:E32:t::l:2:f:4\ncell:F32:t::b::2:::l:1:f:4\ncell:G32:b::1::1:f:4:ntvf:1\ncell:A33:b::1::\ncell:B33:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C33:t::l:2:f:4\ncell:D33:t::l:2:f:4\ncell:E33:t::l:2:f:4\ncell:F33:t::b::2:::l:1:f:4\ncell:G33:b::1::1:f:4:ntvf:1\ncell:A34:b::1::\ncell:B34:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C34:l:2:f:4\ncell:D34:l:2:f:4\ncell:E34:l:2:f:4\ncell:F34:b::2:::l:1:f:4\ncell:G34:b::1::1:f:4:ntvf:1\ncell:A35:b::1::\ncell:B35:b::1:1:1:f:4:cf:2:colspan:5:rowspan:1\ncell:C35:t::b:::2::l:1:f:4\ncell:D35:t::b:::2::l:1:f:4\ncell:E35:t::b:::2::l:1:f:4\ncell:F35:t::b::2:2::l:1:f:4\ncell:G35:b::1:1:1:f:4:ntvf:1\ncell:B36:b:2::::l:1:f:13\ncell:C36:b:2::::l:1:f:13\ncell:D36:b:2::::l:1:f:13\ncell:E36:b:2::::l:1:f:14\ncell:F36:t:Subtotal:b:2::::l:1:f:11\ncell:G36:vtf:n:0:SUM(G23\\cG35):b:1::::f:11:ntvf:1\ncell:B37:t:NOTES:b:::1::l:1:f:14:cf:2:colspan:3:rowspan:1\ncell:C37:t::b:::2::l:1:f:13\ncell:D37:t::b:::2::l:1:f:13\ncell:F37:t:Tax Rate:l:1:f:11\ncell:G37:v:0:f:1:ntvf:2\ncell:B38:b:1::::f:1:cf:2:colspan:3\ncell:C38:t::b:2::::l:1:f:13\ncell:D38:t::b:2::::l:1:f:13\ncell:F38:t:Tax:l:1:f:11\ncell:G38:vtf:n:0:G37*G36:f:1:ntvf:1\ncell:B39:f:1:cf:2:colspan:3\ncell:C39:t::l:2:f:13\ncell:D39:t::l:2:f:13\ncell:F39:t:Other:b:::1::l:1:f:11\ncell:G39:v:0:b:::1::f:1:ntvf:1\ncell:B40:b:::1::f:1:cf:2:colspan:3:rowspan:1\ncell:C40:t::l:2:f:13\ncell:D40:t::l:2:f:13\ncell:F40:t:TOTAL:b:1::::l:1:f:14\ncell:G40:vtf:n:0:(G36+G38)+G39:b:1::::f:11:ntvf:1\ncell:E41:colspan:3:rowspan:3\ncell:E42:colspan:3:rowspan:2\ncell:B43:l:1:f:5:cf:1\ncell:C43:t::l:2:f:13\ncell:D43:t::l:2:f:13\ncell:E43:t::l:2:f:13\ncell:F43:t::l:2:f:13\ncell:G43:t::l:2:f:13\ncol:A:w:10\ncol:B:w:90\ncol:C:w:19\ncol:D:w:10\ncol:E:w:16\ncol:F:w:45\ncol:G:w:64\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nrow:36:h:14.25\nrow:37:h:14.25\nrow:38:h:14.25\nrow:39:h:14.25\nrow:40:h:14.25\nrow:43:h:15.75\nsheet:c:7:r:43:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncellformat:3:right\ncolor:1:rgb(0, 0, 0)\ncolor:2:rgb(0,0,0)\ncolor:3:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 10pt *\nfont:3:* 10pt Trebuchet MS\nfont:4:* 9pt Trebuchet MS\nfont:5:italic bold 10pt Trebuchet MS\nfont:6:italic normal * Trebuchet MS\nfont:7:normal bold 10pt Trebuchet MS\nfont:8:normal bold 14pt Trebuchet MS\nfont:9:normal bold 16pt Trebuchet MS\nfont:10:normal bold 28pt Trebuchet MS\nfont:11:normal normal * Trebuchet MS\nfont:12:normal normal 10pt *\nfont:13:normal normal 10pt Arial\nfont:14:normal normal 10pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n", + "version:1.5\ncell:B2:t:INVOICE:l:1:f:9:cf:1:colspan:6\ncell:C2:t::l:2:f:13\ncell:D2:t::l:2:f:13\ncell:E2:l:1:f:10:c:2:cf:3\ncell:F2:t:INVOICE:l:1:f:8:c:2:cf:2:colspan:2\ncell:G2:t::l:2:f:13\ncell:B3:f:6:cf:2:colspan:4\ncell:C3:t::l:2:f:13\ncell:D3:t::l:2:f:13\ncell:F3:l:1:f:7:cf:2\ncell:G3:l:1:f:14:cf:2:ntvf:3\ncell:B4:f:2:colspan:2\ncell:F4:t:DATE\\c:l:1:f:14:cf:2\ncell:G4:vtf:nd:45901:TODAY():l:1:f:14:cf:2:ntvf:3\ncell:B5:t:INVOICE #\\c:f:3:colspan:6\ncell:C5:cf:2:colspan:5\ncell:F5:l:1:f:7:cf:2:colspan:2\ncell:G5:l:1:f:14:cf:2\ncell:B6:f:2:colspan:2\ncell:F6:l:1:f:7:cf:2:colspan:2\ncell:G6:l:1:f:14:cf:2\ncell:B7:t:FROM\\c:f:12\ncell:F7:l:1:f:7:cf:2:tvf:4:colspan:2:rowspan:6\ncell:G7:l:1:f:14:cf:2\ncell:B8:t:[Company Name]:f:3:colspan:4\ncell:F8:l:1:f:7:cf:2:colspan:2\ncell:G8:l:1:f:14:cf:2\ncell:B9:t:[Street Address]:f:1:cf:2:colspan:4\ncell:F9:l:1:f:7\ncell:G9:l:1:f:14:cf:1\ncell:B10:t:[City, State, Zip]:f:1:cf:2:colspan:4\ncell:G10:l:1:f:13\ncell:B11:t:Phone\\c :f:1:cf:2:colspan:4\ncell:B12:t:Email\\c:f:1:cf:2:colspan:4\ncell:B13:colspan:2\ncell:B14:t:BILL TO\\c:f:11:cf:2\ncell:B15:t:[Name]:f:1:cf:2:colspan:6\ncell:B16:t:[Company Name]:f:1:cf:2:colspan:6\ncell:F16:t: \ncell:B17:t:[Street Address]:f:1:cf:2:colspan:6\ncell:B18:t:[City, State, Zip]:f:1:cf:2:colspan:6\ncell:B19:t:Phone\\c :f:1:cf:2:colspan:6\ncell:B20:t:Email\\c:f:1:cf:2:colspan:6\ncell:A22:b::1::\ncell:B22:t:DESCRIPTION:b:1:1:1:1:l:1:f:14:c:1:bg:3:cf:1:colspan:5:rowspan:1\ncell:C22:t::l:2:f:13\ncell:D22:t::l:2:f:13\ncell:E22:t::l:2:f:13\ncell:F22:t::l:2:f:13\ncell:G22:t:AMOUNT:b:1:1:1::l:1:f:14:c:1:bg:3:cf:1\ncell:A23:b::1::\ncell:B23:b:1:1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C23:t::l:2:f:4\ncell:D23:t::l:2:f:4\ncell:E23:t::l:2:f:4\ncell:F23:t::b::2:::l:1:f:4\ncell:G23:b::1::1:f:4:ntvf:1\ncell:A24:b::1::\ncell:B24:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C24:t::l:2:f:4\ncell:D24:t::l:2:f:4\ncell:E24:t::l:2:f:4\ncell:F24:t::b::2:::l:1:f:4\ncell:G24:b::1::1:f:4:ntvf:1\ncell:A25:b::1::\ncell:B25:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C25:t::l:2:f:4\ncell:D25:t::l:2:f:4\ncell:E25:t::l:2:f:4\ncell:F25:t::b::2:::l:1:f:4\ncell:G25:b::1::1:f:4:ntvf:1\ncell:A26:b::1::\ncell:B26:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C26:t::l:2:f:4\ncell:D26:t::l:2:f:4\ncell:E26:t::l:2:f:4\ncell:F26:t::b::2:::l:1:f:4\ncell:G26:b::1::1:f:4:ntvf:1\ncell:A27:b::1::\ncell:B27:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C27:t::l:2:f:4\ncell:D27:t::l:2:f:4\ncell:E27:t::l:2:f:4\ncell:F27:t::b::2:::l:1:f:4\ncell:G27:b::1::1:f:4:ntvf:1\ncell:A28:b::1::\ncell:B28:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C28:t::l:2:f:4\ncell:D28:t::l:2:f:4\ncell:E28:t::l:2:f:4\ncell:F28:t::b::2:::l:1:f:4\ncell:G28:b::1::1:f:4:ntvf:1\ncell:A29:b::1::\ncell:B29:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C29:t::l:2:f:4\ncell:D29:t::l:2:f:4\ncell:E29:t::l:2:f:4\ncell:F29:t::b::2:::l:1:f:4\ncell:G29:b::1::1:f:4:ntvf:1\ncell:A30:b::1::\ncell:B30:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C30:t::l:2:f:4\ncell:D30:t::l:2:f:4\ncell:E30:t::l:2:f:4\ncell:F30:t::b::2:::l:1:f:4\ncell:G30:b::1::1:f:4:ntvf:1\ncell:A31:b::1::\ncell:B31:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C31:t::l:2:f:4\ncell:D31:t::l:2:f:4\ncell:E31:t::l:2:f:4\ncell:F31:t::b::2:::l:1:f:4\ncell:G31:b::1::1:f:4:ntvf:1\ncell:A32:b::1::\ncell:B32:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C32:t::l:2:f:4\ncell:D32:t::l:2:f:4\ncell:E32:t::l:2:f:4\ncell:F32:t::b::2:::l:1:f:4\ncell:G32:b::1::1:f:4:ntvf:1\ncell:A33:b::1::\ncell:B33:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C33:t::l:2:f:4\ncell:D33:t::l:2:f:4\ncell:E33:t::l:2:f:4\ncell:F33:t::b::2:::l:1:f:4\ncell:G33:b::1::1:f:4:ntvf:1\ncell:A34:b::1::\ncell:B34:b::1::1:f:4:cf:2:colspan:5:rowspan:1\ncell:C34:l:2:f:4\ncell:D34:l:2:f:4\ncell:E34:l:2:f:4\ncell:F34:b::2:::l:1:f:4\ncell:G34:b::1::1:f:4:ntvf:1\ncell:A35:b::1::\ncell:B35:b::1:1:1:f:4:cf:2:colspan:5:rowspan:1\ncell:C35:t::b:::2::l:1:f:4\ncell:D35:t::b:::2::l:1:f:4\ncell:E35:t::b:::2::l:1:f:4\ncell:F35:t::b::2:2::l:1:f:4\ncell:G35:b::1:1:1:f:4:ntvf:1\ncell:B36:b:2::::l:1:f:13\ncell:C36:b:2::::l:1:f:13\ncell:D36:b:2::::l:1:f:13\ncell:E36:b:2::::l:1:f:14\ncell:F36:t:Subtotal:b:2::::l:1:f:11\ncell:G36:vtf:n:0:SUM(G23\\cG35):b:1::::f:11:ntvf:1\ncell:B37:t:NOTES:b:::1::l:1:f:14:cf:2:colspan:3:rowspan:1\ncell:C37:t::b:::2::l:1:f:13\ncell:D37:t::b:::2::l:1:f:13\ncell:F37:t:Tax Rate:l:1:f:11\ncell:G37:v:0:f:1:ntvf:2\ncell:B38:b:1::::f:1:cf:2:colspan:3\ncell:C38:t::b:2::::l:1:f:13\ncell:D38:t::b:2::::l:1:f:13\ncell:F38:t:Tax:l:1:f:11\ncell:G38:vtf:n:0:G37*G36:f:1:ntvf:1\ncell:B39:f:1:cf:2:colspan:3\ncell:C39:t::l:2:f:13\ncell:D39:t::l:2:f:13\ncell:F39:t:Other:b:::1::l:1:f:11\ncell:G39:v:0:b:::1::f:1:ntvf:1\ncell:B40:b:::1::f:1:cf:2:colspan:3:rowspan:1\ncell:C40:t::l:2:f:13\ncell:D40:t::l:2:f:13\ncell:F40:t:TOTAL:b:1::::l:1:f:14\ncell:G40:vtf:n:0:(G36+G38)+G39:b:1::::f:11:ntvf:1\ncell:E41:tvf:4:colspan:3:rowspan:3\ncell:E42:colspan:3:rowspan:2\ncell:B43:l:1:f:5:cf:1\ncell:C43:t::l:2:f:13\ncell:D43:t::l:2:f:13\ncell:E43:t::l:2:f:13\ncell:F43:t::l:2:f:13\ncell:G43:t::l:2:f:13\ncol:A:w:10\ncol:B:w:90\ncol:C:w:19\ncol:D:w:10\ncol:E:w:16\ncol:F:w:45\ncol:G:w:64\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nrow:36:h:14.25\nrow:37:h:14.25\nrow:38:h:14.25\nrow:39:h:14.25\nrow:40:h:14.25\nrow:43:h:15.75\nsheet:c:7:r:43:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncellformat:3:right\ncolor:1:rgb(0, 0, 0)\ncolor:2:rgb(0,0,0)\ncolor:3:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 10pt *\nfont:3:* 10pt Trebuchet MS\nfont:4:* 9pt Trebuchet MS\nfont:5:italic bold 10pt Trebuchet MS\nfont:6:italic normal * Trebuchet MS\nfont:7:normal bold 10pt Trebuchet MS\nfont:8:normal bold 14pt Trebuchet MS\nfont:9:normal bold 16pt Trebuchet MS\nfont:10:normal bold 28pt Trebuchet MS\nfont:11:normal normal * Trebuchet MS\nfont:12:normal normal 10pt *\nfont:13:normal normal 10pt Arial\nfont:14:normal normal 10pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n", }, name: "inv2", hidden: "0", @@ -403,9 +408,9 @@ export let DATA: { [key: number]: TemplateData } = { templateId: 1003, category: "Mobile", footers: [ - { name: "Detail1", index: 1, isActive: true }, + { name: "Detail1", index: 1, isActive: false }, { name: "Detail2", index: 2, isActive: false }, - { name: "Invoice", index: 3, isActive: false }, + { name: "Invoice", index: 3, isActive: true }, ], logoCell: { sheet1: "", @@ -422,6 +427,8 @@ export let DATA: { [key: number]: TemplateData } = { Heading: "B2", Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 6, end: 18, @@ -437,6 +444,8 @@ export let DATA: { [key: number]: TemplateData } = { Heading: "B2", Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 6, end: 18, @@ -492,7 +501,7 @@ export let DATA: { [key: number]: TemplateData } = { sheet2: { sheetstr: { savestr: - "version:1.5\ncell:B1:b:::2::l:1:f:7\ncell:C1:b:::2::l:1:f:7\ncell:D1:b:::2::l:1:f:7\ncell:E1:b:::2::l:1:f:7\ncell:F1:b:::2::l:1:f:7\ncell:A2:b::2:::l:1:f:7\ncell:B2:t:INVOICE DETAILS:b:1:1:1:1:l:1:f:8:cf:1:colspan:5\ncell:C2:t::b:2::2::l:1:f:7\ncell:D2:t::b:2::2::l:1:f:7\ncell:E2:t::b:2::2::l:1:f:7\ncell:F2:b:2:1:1::l:1:f:7\ncell:G2:b::::1\ncell:A3:b::2:::l:3:f:7\ncell:B3:b:2::::l:1:f:7\ncell:C3:b:2::::l:1:f:7\ncell:D3:b:2::::l:1:f:7\ncell:E3:b:2::::l:1:f:7\ncell:F3:b:1:1:::l:1:f:7\ncell:G3:b::::1\ncell:A4:b::2:::l:3:f:7\ncell:B4:b:::2::l:1:f:7\ncell:C4:b:::2::l:3:f:4:cf:2\ncell:D4:b:::2::l:1:f:7\ncell:E4:b:::2::l:1:f:7\ncell:F4:b::1:1::l:1:f:7\ncell:G4:b::::1\ncell:A5:b::2:::l:3:f:7\ncell:B5:t:Description:b:1:1:1:1:f:6:cf:1:colspan:3\ncell:C5:t:Description:b:2::2:2:l:3:f:4:cf:2:colspan:2:rowspan:1\ncell:D5:t::b:2:2:2::l:1:f:7\ncell:E5:t:Qty.:b:1:1:1:1:f:6:cf:1\ncell:F5:t:Price:b:1:1:1:1:f:6:cf:1\ncell:G5:b::::1\ncell:A6:b::2:::l:3:f:7\ncell:B6:b:1:1::1:f:1:cf:2:colspan:3\ncell:C6:b:1:1::1:l:3:f:7:cf:2:colspan:2:rowspan:1\ncell:D6:t::b:2:2:2::l:1:f:7\ncell:E6:b:1:1:::f:1:ntvf:1\ncell:F6:b:1:1:::f:1:ntvf:1\ncell:G6:b::::1\ncell:A7:b::2:::l:3:f:7\ncell:B7:b::1::1:f:1:cf:2:colspan:3\ncell:C7:b::1::1:l:1:f:7:colspan:2\ncell:D7:l:1:f:7\ncell:E7:b::1:::f:1:ntvf:1\ncell:F7:b::1:::f:1:ntvf:1\ncell:G7:b::::1\ncell:A8:b::2:::l:3:f:7\ncell:B8:b::1::1:f:1:cf:2:colspan:3\ncell:C8:b::1::1:colspan:2\ncell:E8:b::1:::f:1:ntvf:1\ncell:F8:b::1:::f:1:ntvf:1\ncell:G8:b::::1\ncell:A9:b::2:::l:3:f:7\ncell:B9:b::1::1:f:1:cf:2:colspan:3\ncell:C9:b::1::1:colspan:2\ncell:E9:b::1:::f:1:ntvf:1\ncell:F9:b::1:::f:1:ntvf:1\ncell:G9:b::::1\ncell:A10:b::2:::l:3:f:7\ncell:B10:b::1::1:f:1:cf:2:colspan:3\ncell:C10:b::1::1:colspan:2\ncell:E10:b::1:::f:1:ntvf:1\ncell:F10:b::1:::f:1:ntvf:1\ncell:G10:b::::1\ncell:A11:b::2:::l:3:f:7\ncell:B11:b::1::1:f:1:cf:2:colspan:3\ncell:C11:b::1::1:colspan:2\ncell:E11:b::1:::f:1:ntvf:1\ncell:F11:b::1:::f:1:ntvf:1\ncell:G11:b::::1\ncell:A12:b::2:::l:3:f:7\ncell:B12:b::1::1:f:1:cf:2:colspan:3\ncell:C12:b::1::1:colspan:2\ncell:E12:b::1:::f:1:ntvf:1\ncell:F12:b::1:::f:1:ntvf:1\ncell:G12:b::::1\ncell:A13:b::2:::l:3:f:7\ncell:B13:b::1::1:f:1:cf:2:colspan:3\ncell:C13:b::1::1:colspan:2\ncell:E13:b::1:::f:1:ntvf:1\ncell:F13:b::1:::f:1:ntvf:1\ncell:G13:b::::1\ncell:A14:b::2:::l:3:f:7\ncell:B14:b::1::1:f:1:cf:2:colspan:3\ncell:C14:b::1::1:colspan:2\ncell:E14:b::1:::f:1:ntvf:1\ncell:F14:b::1:::f:1:ntvf:1\ncell:G14:b::::1\ncell:A15:b::2:::l:3:f:7\ncell:B15:b::1::1:f:1:cf:2:colspan:3\ncell:C15:b::1::1:colspan:2\ncell:E15:b::1:::f:1:ntvf:1\ncell:F15:b::1:::f:1:ntvf:1\ncell:G15:b::::1\ncell:A16:b::2:::l:3:f:7\ncell:B16:b::1::1:f:1:cf:2:colspan:3\ncell:C16:b::1::1:colspan:2\ncell:E16:b::1:::f:1:ntvf:1\ncell:F16:b::1:::f:1:ntvf:1\ncell:G16:b::::1\ncell:A17:b::2:::l:3:f:7\ncell:B17:b::1::1:f:1:cf:2:colspan:3\ncell:C17:b::1::1:colspan:2\ncell:E17:b::1:::f:1:ntvf:1\ncell:F17:b::1:::f:1:ntvf:1\ncell:G17:b::::1\ncell:A18:b::2:::l:3:f:5\ncell:B18:b::1:1:1:f:1:cf:2:colspan:3\ncell:C18:b::1:1:1:l:3:f:7:cf:2:colspan:2\ncell:D18:b:::2::l:3:f:7:cf:2\ncell:E18:b::1:1::f:1:ntvf:1\ncell:F18:b::1:1::f:1:ntvf:1\ncell:G18:b::::1\ncell:A19:b::2:::l:3:f:7\ncell:F19:b::1::\ncell:G19:b::::1\ncell:A20:b::2:::l:3:f:7\ncell:F20:b::1::\ncell:G20:b::::1\ncell:A21:b::2:::l:3:f:7\ncell:C21:t:Thank you for your business:b::1:::f:3:colspan:4\ncell:D21:t:Thank you for your business:f:2:colspan:4\ncell:E21:t::l:2:f:7\ncell:F21:l:2:f:7\ncell:G21:b::::1\ncell:A22:b::2:::l:3:f:7\ncell:F22:b::1::\ncell:G22:b::::1\ncell:A23:b::2:::l:3:f:7\ncell:B23:b:::2::l:3:f:7\ncell:C23:b:::2::l:3:f:7\ncell:D23:b:::2::l:3:f:7\ncell:E23:b:::2::l:3:f:7\ncell:F23:b::1:1::l:3:f:7\ncell:G23:b::::1\ncell:B24:b:1:::\ncell:C24:b:1:::\ncell:D24:b:1:::\ncell:E24:b:1:::\ncell:F24:b:1:::\ncol:A:w:10\ncol:B:w:42\ncol:C:w:56\ncol:D:w:39\ncol:E:w:48\ncol:F:w:57\nrow:1:h:14.25\nrow:2:h:18.75\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:15.75\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nsheet:c:7:r:24:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\nfont:1:* * Trebuchet MS\nfont:2:italic bold * Trebuchet MS\nfont:3:italic bold 10pt Trebuchet MS\nfont:4:normal bold 10pt Arial\nfont:5:normal bold 12pt Arial\nfont:6:normal normal * Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 16pt Arial\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:* * * *;vertical-align:top;\nvalueformat:1:#,##0.00\n", + "version:1.5\ncell:B1:b:::2::l:1:f:7\ncell:C1:b:::2::l:1:f:7\ncell:D1:b:::2::l:1:f:7\ncell:E1:b:::2::l:1:f:7\ncell:F1:b:::2::l:1:f:7\ncell:A2:b::2:::l:1:f:7\ncell:B2:t:INVOICE DETAILS:b:1:1:1:1:l:1:f:8:cf:1:colspan:5\ncell:C2:t::b:2::2::l:1:f:7\ncell:D2:t::b:2::2::l:1:f:7\ncell:E2:t::b:2::2::l:1:f:7\ncell:F2:b:2:1:1::l:1:f:7\ncell:G2:b::::1\ncell:A3:b::2:::l:3:f:7\ncell:B3:b:2::::l:1:f:7\ncell:C3:b:2::::l:1:f:7\ncell:D3:b:2::::l:1:f:7\ncell:E3:b:2::::l:1:f:7\ncell:F3:b:1:1:::l:1:f:7\ncell:G3:b::::1\ncell:A4:b::2:::l:3:f:7\ncell:B4:b:::2::l:1:f:7\ncell:C4:b:::2::l:3:f:4:cf:2\ncell:D4:b:::2::l:1:f:7\ncell:E4:b:::2::l:1:f:7\ncell:F4:b::1:1::l:1:f:7\ncell:G4:b::::1\ncell:A5:b::2:::l:3:f:7\ncell:B5:t:Description:b:1:1:1:1:f:6:cf:1:colspan:3\ncell:C5:t:Description:b:2::2:2:l:3:f:4:cf:2:colspan:2:rowspan:1\ncell:D5:t::b:2:2:2::l:1:f:7\ncell:E5:t:Qty.:b:1:1:1:1:f:6:cf:1\ncell:F5:t:Price:b:1:1:1:1:f:6:cf:1\ncell:G5:b::::1\ncell:A6:b::2:::l:3:f:7\ncell:B6:b:1:1::1:f:1:cf:2:colspan:3\ncell:C6:b:1:1::1:l:3:f:7:cf:2:colspan:2:rowspan:1\ncell:D6:t::b:2:2:2::l:1:f:7\ncell:E6:b:1:1:::f:1:ntvf:1\ncell:F6:b:1:1:::f:1:ntvf:1\ncell:G6:b::::1\ncell:A7:b::2:::l:3:f:7\ncell:B7:b::1::1:f:1:cf:2:colspan:3\ncell:C7:b::1::1:l:1:f:7:colspan:2\ncell:D7:l:1:f:7\ncell:E7:b::1:::f:1:ntvf:1\ncell:F7:b::1:::f:1:ntvf:1\ncell:G7:b::::1\ncell:A8:b::2:::l:3:f:7\ncell:B8:b::1::1:f:1:cf:2:colspan:3\ncell:C8:b::1::1:colspan:2\ncell:E8:b::1:::f:1:ntvf:1\ncell:F8:b::1:::f:1:ntvf:1\ncell:G8:b::::1\ncell:A9:b::2:::l:3:f:7\ncell:B9:b::1::1:f:1:cf:2:colspan:3\ncell:C9:b::1::1:colspan:2\ncell:E9:b::1:::f:1:ntvf:1\ncell:F9:b::1:::f:1:ntvf:1\ncell:G9:b::::1\ncell:A10:b::2:::l:3:f:7\ncell:B10:b::1::1:f:1:cf:2:colspan:3\ncell:C10:b::1::1:colspan:2\ncell:E10:b::1:::f:1:ntvf:1\ncell:F10:b::1:::f:1:ntvf:1\ncell:G10:b::::1\ncell:A11:b::2:::l:3:f:7\ncell:B11:b::1::1:f:1:cf:2:colspan:3\ncell:C11:b::1::1:colspan:2\ncell:E11:b::1:::f:1:ntvf:1\ncell:F11:b::1:::f:1:ntvf:1\ncell:G11:b::::1\ncell:A12:b::2:::l:3:f:7\ncell:B12:b::1::1:f:1:cf:2:colspan:3\ncell:C12:b::1::1:colspan:2\ncell:E12:b::1:::f:1:ntvf:1\ncell:F12:b::1:::f:1:ntvf:1\ncell:G12:b::::1\ncell:A13:b::2:::l:3:f:7\ncell:B13:b::1::1:f:1:cf:2:colspan:3\ncell:C13:b::1::1:colspan:2\ncell:E13:b::1:::f:1:ntvf:1\ncell:F13:b::1:::f:1:ntvf:1\ncell:G13:b::::1\ncell:A14:b::2:::l:3:f:7\ncell:B14:b::1::1:f:1:cf:2:colspan:3\ncell:C14:b::1::1:colspan:2\ncell:E14:b::1:::f:1:ntvf:1\ncell:F14:b::1:::f:1:ntvf:1\ncell:G14:b::::1\ncell:A15:b::2:::l:3:f:7\ncell:B15:b::1::1:f:1:cf:2:colspan:3\ncell:C15:b::1::1:colspan:2\ncell:E15:b::1:::f:1:ntvf:1\ncell:F15:b::1:::f:1:ntvf:1\ncell:G15:b::::1\ncell:A16:b::2:::l:3:f:7\ncell:B16:b::1::1:f:1:cf:2:colspan:3\ncell:C16:b::1::1:colspan:2\ncell:E16:b::1:::f:1:ntvf:1\ncell:F16:b::1:::f:1:ntvf:1\ncell:G16:b::::1\ncell:A17:b::2:::l:3:f:7\ncell:B17:b::1::1:f:1:cf:2:colspan:3\ncell:C17:b::1::1:colspan:2\ncell:E17:b::1:::f:1:ntvf:1\ncell:F17:b::1:::f:1:ntvf:1\ncell:G17:b::::1\ncell:A18:b::2:::l:3:f:5\ncell:B18:b::1:1:1:f:1:cf:2:colspan:3\ncell:C18:b::1:1:1:l:3:f:7:cf:2:colspan:2\ncell:D18:b:::2::l:3:f:7:cf:2\ncell:E18:b::1:1::f:1:ntvf:1\ncell:F18:b::1:1::f:1:ntvf:1\ncell:G18:b::::1\ncell:A19:b::2:::l:3:f:7\ncell:F19:b::1::\ncell:G19:b::::1\ncell:A20:b::2:::l:3:f:7\ncell:F20:b::1::\ncell:G20:b::::1\ncell:A21:b::2:::l:3:f:7\ncell:C21:t:Thank you for your business:b::1:::f:3:colspan:4\ncell:D21:t:Thank you for your business:f:2:colspan:4\ncell:E21:t::l:2:f:7\ncell:F21:l:2:f:7\ncell:G21:b::::1\ncell:A22:b::2:::l:3:f:7\ncell:F22:b::1::\ncell:G22:b::::1\ncell:A23:b::2:::l:3:f:7\ncell:B23:b:::2::l:3:f:7\ncell:C23:b:::2::l:3:f:7\ncell:D23:b:::2::l:3:f:7\ncell:E23:b:::2::l:3:f:7\ncell:F23:b::1:1::l:3:f:7\ncell:G23:b::::1\ncell:B24:b:1:::\ncell:C24:b:1:::\ncell:D24:b:1:::\ncell:E24:b:1:::\ncell:F24:b:1:::\ncol:A:w:10\ncol:B:w:42\ncol:C:w:56\ncol:D:w:39\ncol:E:w:48\ncol:F:w:57\nrow:1:h:14.25\nrow:2:h:18.75\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:15.75\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nsheet:c:7:r:24:h:12.75:needsrecalc:yes\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\nfont:1:* * Trebuchet MS\nfont:2:italic bold * Trebuchet MS\nfont:3:italic bold 10pt Trebuchet MS\nfont:4:normal bold 10pt Arial\nfont:5:normal bold 12pt Arial\nfont:6:normal normal * Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 16pt Arial\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:* * * *;vertical-align:top;\nvalueformat:1:#,##0.00\n", }, name: "sheet7", hidden: "0", @@ -500,7 +509,7 @@ export let DATA: { [key: number]: TemplateData } = { sheet3: { sheetstr: { savestr: - 'version:1.5\ncell:B2:t:INVOICE:l:1:f:12:cf:1:colspan:6\ncell:C2:t::l:2:f:10\ncell:D2:t::l:2:f:10\ncell:E2:l:1:f:8:c:2:cf:3\ncell:F2:t:INVOICE:l:1:f:7:c:2:cf:2:colspan:2\ncell:G2:t::l:2:f:10\ncell:B3:f:5:cf:2:colspan:4\ncell:C3:t::l:2:f:10\ncell:D3:t::l:2:f:10\ncell:F3:l:1:f:6:cf:2\ncell:G3:l:1:f:11:cf:2:ntvf:3\ncell:B4:f:2:colspan:2\ncell:F4:t:DATE\\c:l:1:f:11:cf:2\ncell:G4:vtf:nd:45897:TODAY():l:1:f:11:cf:2:ntvf:3\ncell:B5:t:INVOICE #\\c:f:9:colspan:6\ncell:C5:cf:2:colspan:5\ncell:F5:l:1:f:6:cf:2:colspan:2\ncell:G5:l:1:f:11:cf:2\ncell:B6:f:2:colspan:2\ncell:F6:l:1:f:6:cf:2:colspan:2\ncell:G6:l:1:f:11:cf:2\ncell:B7:t:FROM\\c:f:11\ncell:F7:l:1:f:6:cf:2:colspan:2\ncell:G7:l:1:f:11:cf:2\ncell:B8:t:[Company Name]:f:9:colspan:4\ncell:F8:l:1:f:6:cf:2:tvf:4:colspan:2:rowspan:5\ncell:G8:l:1:f:11:cf:2\ncell:B9:t:[Street Address]:f:9:cf:2:colspan:4\ncell:F9:l:1:f:6\ncell:G9:l:1:f:11:cf:1\ncell:B10:t:[City, State, Zip]:f:9:cf:2:colspan:4\ncell:G10:l:1:f:10\ncell:B11:t:Phone\\c :f:9:cf:2:colspan:4\ncell:B12:t:Email\\c:f:9:cf:2:colspan:4\ncell:B13:colspan:2\ncell:B14:t:BILL TO\\c:f:9:cf:2\ncell:B15:t:[Name]:f:9:cf:2:colspan:6\ncell:B16:t:[Company Name]:f:9:cf:2:colspan:6\ncell:F16:t: \ncell:B17:t:[Street Address]:f:9:cf:2:colspan:6\ncell:B18:t:[City, State, Zip]:f:9:cf:2:colspan:6\ncell:B19:t:Phone\\c :f:9:cf:2:colspan:6\ncell:B20:t:Email\\c:f:9:cf:2:colspan:6\ncell:A22:b::1::\ncell:B22:t:DESCRIPTION:b:1:1:1:1:l:1:f:11:c:1:bg:3:cf:1:colspan:5:rowspan:1\ncell:C22:t::l:2:f:10\ncell:D22:t::l:2:f:10\ncell:E22:t::l:2:f:10\ncell:F22:t::l:2:f:10\ncell:G22:t:AMOUNT:b:1:1:1::l:1:f:11:c:1:bg:3:cf:1\ncell:A23:b::1::\ncell:B23:vtf:t: :IF(AND(ISBLANK(inv3!B6),ISBLANK(sheet7!B6)), " ", IF(ISBLANK(inv3!B6), sheet7!B6, inv3!B6)):b:1:1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C23:t::l:2:f:3\ncell:D23:t::l:2:f:3\ncell:E23:t::l:2:f:3\ncell:F23:t::b::2:::l:1:f:3\ncell:G23:vtf:t: :IF(AND(ISBLANK(inv3!B6),ISBLANK(sheet7!B6)), " ", IF(ISBLANK(inv3!B6), (sheet7!E6*sheet7!F6), (inv3!E6*inv3!F6))):b::1::1:f:3:ntvf:1\ncell:A24:b::1::\ncell:B24:vtf:t: :IF(AND(ISBLANK(INV3!B7),ISBLANK(SHEET7!B7)), " ", IF(ISBLANK(INV3!B7), SHEET7!B7, INV3!B7)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C24:t::l:2:f:3\ncell:D24:t::l:2:f:3\ncell:E24:t::l:2:f:3\ncell:F24:t::b::2:::l:1:f:3\ncell:G24:vtf:t: :IF(AND(ISBLANK(INV3!B7),ISBLANK(SHEET7!B7)), " ", IF(ISBLANK(INV3!B7), (SHEET7!E7*SHEET7!F7), (INV3!E7*INV3!F7))):b::1::1:f:3:ntvf:1\ncell:A25:b::1::\ncell:B25:vtf:t: :IF(AND(ISBLANK(INV3!B8),ISBLANK(SHEET7!B8)), " ", IF(ISBLANK(INV3!B8), SHEET7!B8, INV3!B8)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C25:t::l:2:f:3\ncell:D25:t::l:2:f:3\ncell:E25:t::l:2:f:3\ncell:F25:t::b::2:::l:1:f:3\ncell:G25:vtf:t: :IF(AND(ISBLANK(INV3!B8),ISBLANK(SHEET7!B8)), " ", IF(ISBLANK(INV3!B8), (SHEET7!E8*SHEET7!F8), (INV3!E8*INV3!F8))):b::1::1:f:3:ntvf:1\ncell:A26:b::1::\ncell:B26:vtf:t: :IF(AND(ISBLANK(INV3!B9),ISBLANK(SHEET7!B9)), " ", IF(ISBLANK(INV3!B9), SHEET7!B9, INV3!B9)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C26:t::l:2:f:3\ncell:D26:t::l:2:f:3\ncell:E26:t::l:2:f:3\ncell:F26:t::b::2:::l:1:f:3\ncell:G26:vtf:t: :IF(AND(ISBLANK(INV3!B9),ISBLANK(SHEET7!B9)), " ", IF(ISBLANK(INV3!B9), (SHEET7!E9*SHEET7!F9), (INV3!E9*INV3!F9))):b::1::1:f:3:ntvf:1\ncell:A27:b::1::\ncell:B27:vtf:t: :IF(AND(ISBLANK(INV3!B10),ISBLANK(SHEET7!B10)), " ", IF(ISBLANK(INV3!B10), SHEET7!B10, INV3!B10)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C27:t::l:2:f:3\ncell:D27:t::l:2:f:3\ncell:E27:t::l:2:f:3\ncell:F27:t::b::2:::l:1:f:3\ncell:G27:vtf:t: :IF(AND(ISBLANK(INV3!B10),ISBLANK(SHEET7!B10)), " ", IF(ISBLANK(INV3!B10), (SHEET7!E10*SHEET7!F10), (INV3!E10*INV3!F10))):b::1::1:f:3:ntvf:1\ncell:A28:b::1::\ncell:B28:vtf:t: :IF(AND(ISBLANK(INV3!B11),ISBLANK(SHEET7!B11)), " ", IF(ISBLANK(INV3!B11), SHEET7!B11, INV3!B11)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C28:t::l:2:f:3\ncell:D28:t::l:2:f:3\ncell:E28:t::l:2:f:3\ncell:F28:t::b::2:::l:1:f:3\ncell:G28:vtf:t: :IF(AND(ISBLANK(INV3!B11),ISBLANK(SHEET7!B11)), " ", IF(ISBLANK(INV3!B11), (SHEET7!E11*SHEET7!F11), (INV3!E11*INV3!F11))):b::1::1:f:3:ntvf:1\ncell:A29:b::1::\ncell:B29:vtf:t: :IF(AND(ISBLANK(INV3!B12),ISBLANK(SHEET7!B12)), " ", IF(ISBLANK(INV3!B12), SHEET7!B12, INV3!B12)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C29:t::l:2:f:3\ncell:D29:t::l:2:f:3\ncell:E29:t::l:2:f:3\ncell:F29:t::b::2:::l:1:f:3\ncell:G29:vtf:t: :IF(AND(ISBLANK(INV3!B12),ISBLANK(SHEET7!B12)), " ", IF(ISBLANK(INV3!B12), (SHEET7!E12*SHEET7!F12), (INV3!E12*INV3!F12))):b::1::1:f:3:ntvf:1\ncell:A30:b::1::\ncell:B30:vtf:t: :IF(AND(ISBLANK(INV3!B13),ISBLANK(SHEET7!B13)), " ", IF(ISBLANK(INV3!B13), SHEET7!B13, INV3!B13)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C30:t::l:2:f:3\ncell:D30:t::l:2:f:3\ncell:E30:t::l:2:f:3\ncell:F30:t::b::2:::l:1:f:3\ncell:G30:vtf:t: :IF(AND(ISBLANK(INV3!B13),ISBLANK(SHEET7!B13)), " ", IF(ISBLANK(INV3!B13), (SHEET7!E13*SHEET7!F13), (INV3!E13*INV3!F13))):b::1::1:f:3:ntvf:1\ncell:A31:b::1::\ncell:B31:vtf:t: :IF(AND(ISBLANK(INV3!B14),ISBLANK(SHEET7!B14)), " ", IF(ISBLANK(INV3!B14), SHEET7!B14, INV3!B14)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C31:t::l:2:f:3\ncell:D31:t::l:2:f:3\ncell:E31:t::l:2:f:3\ncell:F31:t::b::2:::l:1:f:3\ncell:G31:vtf:t: :IF(AND(ISBLANK(INV3!B14),ISBLANK(SHEET7!B14)), " ", IF(ISBLANK(INV3!B14), (SHEET7!E14*SHEET7!F14), (INV3!E14*INV3!F14))):b::1::1:f:3:ntvf:1\ncell:A32:b::1::\ncell:B32:vtf:t: :IF(AND(ISBLANK(INV3!B15),ISBLANK(SHEET7!B15)), " ", IF(ISBLANK(INV3!B15), SHEET7!B15, INV3!B15)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C32:t::l:2:f:3\ncell:D32:t::l:2:f:3\ncell:E32:t::l:2:f:3\ncell:F32:t::b::2:::l:1:f:3\ncell:G32:vtf:t: :IF(AND(ISBLANK(INV3!B15),ISBLANK(SHEET7!B15)), " ", IF(ISBLANK(INV3!B15), (SHEET7!E15*SHEET7!F15), (INV3!E15*INV3!F15))):b::1::1:f:3:ntvf:1\ncell:A33:b::1::\ncell:B33:vtf:t: :IF(AND(ISBLANK(INV3!B16),ISBLANK(SHEET7!B16)), " ", IF(ISBLANK(INV3!B16), SHEET7!B16, INV3!B16)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C33:l:2:f:3\ncell:D33:l:2:f:3\ncell:E33:l:2:f:3\ncell:F33:b::2:::l:1:f:3\ncell:G33:vtf:t: :IF(AND(ISBLANK(INV3!B16),ISBLANK(SHEET7!B16)), " ", IF(ISBLANK(INV3!B16), (SHEET7!E16*SHEET7!F16), (INV3!E16*INV3!F16))):b::1::1:f:3:ntvf:1\ncell:A34:b::1::\ncell:B34:vtf:t: :IF(AND(ISBLANK(INV3!B17),ISBLANK(SHEET7!B17)), " ", IF(ISBLANK(INV3!B17), SHEET7!B17, INV3!B17)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C34:t::l:2:f:3\ncell:D34:t::l:2:f:3\ncell:E34:t::l:2:f:3\ncell:F34:t::b::2:::l:1:f:3\ncell:G34:vtf:t: :IF(AND(ISBLANK(INV3!B17),ISBLANK(SHEET7!B17)), " ", IF(ISBLANK(INV3!B17), (SHEET7!E17*SHEET7!F17), (INV3!E17*INV3!F17))):b::1::1:f:3:ntvf:1\ncell:A35:b::1::\ncell:B35:vtf:t: :IF(AND(ISBLANK(INV3!B18), ISBLANK(SHEET7!B18)), " ", IF(ISBLANK(INV3!B18), SHEET7!B18, INV3!B18)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C35:t::b:::2::l:1:f:3\ncell:D35:t::b:::2::l:1:f:3\ncell:E35:t::b:::2::l:1:f:3\ncell:F35:t::b::2:2::l:1:f:3\ncell:G35:vtf:t: :IF(AND(ISBLANK(INV3!B18),ISBLANK(SHEET7!B18)), " ", IF(ISBLANK(INV3!B18), (SHEET7!E18*SHEET7!F18), (INV3!E18*INV3!F18))):b::1::1:f:3:ntvf:1\ncell:B36:b:2::::l:1:f:10\ncell:C36:b:2::::l:1:f:10\ncell:D36:b:2::::l:1:f:10\ncell:E36:b:2::::l:1:f:11\ncell:F36:t:Subtotal:b:2::::l:1:f:9\ncell:G36:vtf:n:0:SUM(G23\\cG35):b:1::::f:9:ntvf:1\ncell:B37:t:NOTES:b:::1::l:1:f:11:cf:2:colspan:3:rowspan:1\ncell:C37:t::b:::2::l:1:f:10\ncell:D37:t::b:::2::l:1:f:10\ncell:F37:t:Tax Rate:l:1:f:9\ncell:G37:v:0:f:1:ntvf:2\ncell:B38:b:1::::f:1:cf:2:colspan:3\ncell:C38:t::b:2::::l:1:f:10\ncell:D38:t::b:2::::l:1:f:10\ncell:F38:t:Tax:l:1:f:9\ncell:G38:vtf:n:0:G37*G36:f:1:ntvf:1\ncell:B39:f:1:cf:2:colspan:3\ncell:C39:t::l:2:f:10\ncell:D39:t::l:2:f:10\ncell:F39:t:Other:b:::1::l:1:f:9\ncell:G39:v:0:b:::1::f:1:ntvf:1\ncell:B40:b:::1::f:1:cf:2:colspan:3:rowspan:1\ncell:C40:t::l:2:f:10\ncell:D40:t::l:2:f:10\ncell:F40:t:TOTAL:b:1::::l:1:f:11\ncell:G40:vtf:n:0:(G36+G38)+G39:b:1::::f:9:ntvf:1\ncell:F41:colspan:2:rowspan:2\ncell:B43:t:Thank you for your business:l:1:f:4:cf:1:colspan:6:rowspan:1\ncell:C43:t::l:2:f:10\ncell:D43:t::l:2:f:10\ncell:E43:t::l:2:f:10\ncell:F43:t::l:2:f:10\ncell:G43:t::l:2:f:10\ncol:A:w:10\ncol:B:w:65\ncol:C:w:19\ncol:D:w:10\ncol:E:w:16\ncol:F:w:53\ncol:G:w:64\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nrow:36:h:14.25\nrow:37:h:14.25\nrow:38:h:14.25\nrow:39:h:14.25\nrow:40:h:14.25\nrow:43:h:15.75\nsheet:c:7:r:43:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncellformat:3:right\ncolor:1:rgb(0, 0, 0)\ncolor:2:rgb(0,0,0)\ncolor:3:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 10pt *\nfont:3:* 9pt Trebuchet MS\nfont:4:italic bold 10pt Trebuchet MS\nfont:5:italic normal * Trebuchet MS\nfont:6:normal bold 10pt Trebuchet MS\nfont:7:normal bold 14pt Trebuchet MS\nfont:8:normal bold 28pt Trebuchet MS\nfont:9:normal normal * Trebuchet MS\nfont:10:normal normal 10pt Arial\nfont:11:normal normal 10pt Trebuchet MS\nfont:12:normal normal 16pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n', + 'version:1.5\ncell:B2:t:INVOICE:l:1:f:12:cf:1:colspan:6\ncell:C2:t::l:2:f:10\ncell:D2:t::l:2:f:10\ncell:E2:l:1:f:8:c:2:cf:3\ncell:F2:t:INVOICE:l:1:f:7:c:2:cf:2:colspan:2\ncell:G2:t::l:2:f:10\ncell:B3:f:5:cf:2:colspan:4\ncell:C3:t::l:2:f:10\ncell:D3:t::l:2:f:10\ncell:F3:l:1:f:6:cf:2\ncell:G3:l:1:f:11:cf:2:ntvf:3\ncell:B4:f:2:colspan:2\ncell:F4:t:DATE\\c:l:1:f:11:cf:2\ncell:G4:vtf:nd:45901:TODAY():l:1:f:11:cf:2:ntvf:3\ncell:B5:t:INVOICE #\\c:f:9:colspan:6\ncell:C5:cf:2:colspan:5\ncell:F5:l:1:f:6:cf:2:colspan:2\ncell:G5:l:1:f:11:cf:2\ncell:B6:f:2:colspan:2\ncell:F6:l:1:f:6:cf:2:colspan:2\ncell:G6:l:1:f:11:cf:2\ncell:B7:t:FROM\\c:f:11\ncell:F7:l:1:f:6:cf:2:colspan:2\ncell:G7:l:1:f:11:cf:2\ncell:B8:t:[Company Name]:f:9:colspan:4\ncell:F8:l:1:f:6:cf:2:tvf:4:colspan:2:rowspan:5\ncell:G8:l:1:f:11:cf:2\ncell:B9:t:[Street Address]:f:9:cf:2:colspan:4\ncell:F9:l:1:f:6\ncell:G9:l:1:f:11:cf:1\ncell:B10:t:[City, State, Zip]:f:9:cf:2:colspan:4\ncell:G10:l:1:f:10\ncell:B11:t:Phone\\c :f:9:cf:2:colspan:4\ncell:B12:t:Email\\c:f:9:cf:2:colspan:4\ncell:B13:colspan:2\ncell:B14:t:BILL TO\\c:f:9:cf:2\ncell:B15:t:[Name]:f:9:cf:2:colspan:6\ncell:B16:t:[Company Name]:f:9:cf:2:colspan:6\ncell:F16:t: \ncell:B17:t:[Street Address]:f:9:cf:2:colspan:6\ncell:B18:t:[City, State, Zip]:f:9:cf:2:colspan:6\ncell:B19:t:Phone\\c :f:9:cf:2:colspan:6\ncell:B20:t:Email\\c:f:9:cf:2:colspan:6\ncell:A22:b::1::\ncell:B22:t:DESCRIPTION:b:1:1:1:1:l:1:f:11:c:1:bg:3:cf:1:colspan:5:rowspan:1\ncell:C22:t::l:2:f:10\ncell:D22:t::l:2:f:10\ncell:E22:t::l:2:f:10\ncell:F22:t::l:2:f:10\ncell:G22:t:AMOUNT:b:1:1:1::l:1:f:11:c:1:bg:3:cf:1\ncell:A23:b::1::\ncell:B23:vtf:t: :IF(AND(ISBLANK(inv3!B6),ISBLANK(sheet7!B6)), " ", IF(ISBLANK(inv3!B6), sheet7!B6, inv3!B6)):b:1:1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C23:t::l:2:f:3\ncell:D23:t::l:2:f:3\ncell:E23:t::l:2:f:3\ncell:F23:t::b::2:::l:1:f:3\ncell:G23:vtf:t: :IF(AND(ISBLANK(inv3!B6),ISBLANK(sheet7!B6)), " ", IF(ISBLANK(inv3!B6), (sheet7!E6*sheet7!F6), (inv3!E6*inv3!F6))):b::1::1:f:3:ntvf:1\ncell:A24:b::1::\ncell:B24:vtf:t: :IF(AND(ISBLANK(INV3!B7),ISBLANK(SHEET7!B7)), " ", IF(ISBLANK(INV3!B7), SHEET7!B7, INV3!B7)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C24:t::l:2:f:3\ncell:D24:t::l:2:f:3\ncell:E24:t::l:2:f:3\ncell:F24:t::b::2:::l:1:f:3\ncell:G24:vtf:t: :IF(AND(ISBLANK(INV3!B7),ISBLANK(SHEET7!B7)), " ", IF(ISBLANK(INV3!B7), (SHEET7!E7*SHEET7!F7), (INV3!E7*INV3!F7))):b::1::1:f:3:ntvf:1\ncell:A25:b::1::\ncell:B25:vtf:t: :IF(AND(ISBLANK(INV3!B8),ISBLANK(SHEET7!B8)), " ", IF(ISBLANK(INV3!B8), SHEET7!B8, INV3!B8)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C25:t::l:2:f:3\ncell:D25:t::l:2:f:3\ncell:E25:t::l:2:f:3\ncell:F25:t::b::2:::l:1:f:3\ncell:G25:vtf:t: :IF(AND(ISBLANK(INV3!B8),ISBLANK(SHEET7!B8)), " ", IF(ISBLANK(INV3!B8), (SHEET7!E8*SHEET7!F8), (INV3!E8*INV3!F8))):b::1::1:f:3:ntvf:1\ncell:A26:b::1::\ncell:B26:vtf:t: :IF(AND(ISBLANK(INV3!B9),ISBLANK(SHEET7!B9)), " ", IF(ISBLANK(INV3!B9), SHEET7!B9, INV3!B9)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C26:t::l:2:f:3\ncell:D26:t::l:2:f:3\ncell:E26:t::l:2:f:3\ncell:F26:t::b::2:::l:1:f:3\ncell:G26:vtf:t: :IF(AND(ISBLANK(INV3!B9),ISBLANK(SHEET7!B9)), " ", IF(ISBLANK(INV3!B9), (SHEET7!E9*SHEET7!F9), (INV3!E9*INV3!F9))):b::1::1:f:3:ntvf:1\ncell:A27:b::1::\ncell:B27:vtf:t: :IF(AND(ISBLANK(INV3!B10),ISBLANK(SHEET7!B10)), " ", IF(ISBLANK(INV3!B10), SHEET7!B10, INV3!B10)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C27:t::l:2:f:3\ncell:D27:t::l:2:f:3\ncell:E27:t::l:2:f:3\ncell:F27:t::b::2:::l:1:f:3\ncell:G27:vtf:t: :IF(AND(ISBLANK(INV3!B10),ISBLANK(SHEET7!B10)), " ", IF(ISBLANK(INV3!B10), (SHEET7!E10*SHEET7!F10), (INV3!E10*INV3!F10))):b::1::1:f:3:ntvf:1\ncell:A28:b::1::\ncell:B28:vtf:t: :IF(AND(ISBLANK(INV3!B11),ISBLANK(SHEET7!B11)), " ", IF(ISBLANK(INV3!B11), SHEET7!B11, INV3!B11)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C28:t::l:2:f:3\ncell:D28:t::l:2:f:3\ncell:E28:t::l:2:f:3\ncell:F28:t::b::2:::l:1:f:3\ncell:G28:vtf:t: :IF(AND(ISBLANK(INV3!B11),ISBLANK(SHEET7!B11)), " ", IF(ISBLANK(INV3!B11), (SHEET7!E11*SHEET7!F11), (INV3!E11*INV3!F11))):b::1::1:f:3:ntvf:1\ncell:A29:b::1::\ncell:B29:vtf:t: :IF(AND(ISBLANK(INV3!B12),ISBLANK(SHEET7!B12)), " ", IF(ISBLANK(INV3!B12), SHEET7!B12, INV3!B12)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C29:t::l:2:f:3\ncell:D29:t::l:2:f:3\ncell:E29:t::l:2:f:3\ncell:F29:t::b::2:::l:1:f:3\ncell:G29:vtf:t: :IF(AND(ISBLANK(INV3!B12),ISBLANK(SHEET7!B12)), " ", IF(ISBLANK(INV3!B12), (SHEET7!E12*SHEET7!F12), (INV3!E12*INV3!F12))):b::1::1:f:3:ntvf:1\ncell:A30:b::1::\ncell:B30:vtf:t: :IF(AND(ISBLANK(INV3!B13),ISBLANK(SHEET7!B13)), " ", IF(ISBLANK(INV3!B13), SHEET7!B13, INV3!B13)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C30:t::l:2:f:3\ncell:D30:t::l:2:f:3\ncell:E30:t::l:2:f:3\ncell:F30:t::b::2:::l:1:f:3\ncell:G30:vtf:t: :IF(AND(ISBLANK(INV3!B13),ISBLANK(SHEET7!B13)), " ", IF(ISBLANK(INV3!B13), (SHEET7!E13*SHEET7!F13), (INV3!E13*INV3!F13))):b::1::1:f:3:ntvf:1\ncell:A31:b::1::\ncell:B31:vtf:t: :IF(AND(ISBLANK(INV3!B14),ISBLANK(SHEET7!B14)), " ", IF(ISBLANK(INV3!B14), SHEET7!B14, INV3!B14)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C31:t::l:2:f:3\ncell:D31:t::l:2:f:3\ncell:E31:t::l:2:f:3\ncell:F31:t::b::2:::l:1:f:3\ncell:G31:vtf:t: :IF(AND(ISBLANK(INV3!B14),ISBLANK(SHEET7!B14)), " ", IF(ISBLANK(INV3!B14), (SHEET7!E14*SHEET7!F14), (INV3!E14*INV3!F14))):b::1::1:f:3:ntvf:1\ncell:A32:b::1::\ncell:B32:vtf:t: :IF(AND(ISBLANK(INV3!B15),ISBLANK(SHEET7!B15)), " ", IF(ISBLANK(INV3!B15), SHEET7!B15, INV3!B15)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C32:t::l:2:f:3\ncell:D32:t::l:2:f:3\ncell:E32:t::l:2:f:3\ncell:F32:t::b::2:::l:1:f:3\ncell:G32:vtf:t: :IF(AND(ISBLANK(INV3!B15),ISBLANK(SHEET7!B15)), " ", IF(ISBLANK(INV3!B15), (SHEET7!E15*SHEET7!F15), (INV3!E15*INV3!F15))):b::1::1:f:3:ntvf:1\ncell:A33:b::1::\ncell:B33:vtf:t: :IF(AND(ISBLANK(INV3!B16),ISBLANK(SHEET7!B16)), " ", IF(ISBLANK(INV3!B16), SHEET7!B16, INV3!B16)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C33:l:2:f:3\ncell:D33:l:2:f:3\ncell:E33:l:2:f:3\ncell:F33:b::2:::l:1:f:3\ncell:G33:vtf:t: :IF(AND(ISBLANK(INV3!B16),ISBLANK(SHEET7!B16)), " ", IF(ISBLANK(INV3!B16), (SHEET7!E16*SHEET7!F16), (INV3!E16*INV3!F16))):b::1::1:f:3:ntvf:1\ncell:A34:b::1::\ncell:B34:vtf:t: :IF(AND(ISBLANK(INV3!B17),ISBLANK(SHEET7!B17)), " ", IF(ISBLANK(INV3!B17), SHEET7!B17, INV3!B17)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C34:t::l:2:f:3\ncell:D34:t::l:2:f:3\ncell:E34:t::l:2:f:3\ncell:F34:t::b::2:::l:1:f:3\ncell:G34:vtf:t: :IF(AND(ISBLANK(INV3!B17),ISBLANK(SHEET7!B17)), " ", IF(ISBLANK(INV3!B17), (SHEET7!E17*SHEET7!F17), (INV3!E17*INV3!F17))):b::1::1:f:3:ntvf:1\ncell:A35:b::1::\ncell:B35:vtf:t: :IF(AND(ISBLANK(INV3!B18), ISBLANK(SHEET7!B18)), " ", IF(ISBLANK(INV3!B18), SHEET7!B18, INV3!B18)):b::1::1:f:3:cf:2:colspan:5:rowspan:1\ncell:C35:t::b:::2::l:1:f:3\ncell:D35:t::b:::2::l:1:f:3\ncell:E35:t::b:::2::l:1:f:3\ncell:F35:t::b::2:2::l:1:f:3\ncell:G35:vtf:t: :IF(AND(ISBLANK(INV3!B18),ISBLANK(SHEET7!B18)), " ", IF(ISBLANK(INV3!B18), (SHEET7!E18*SHEET7!F18), (INV3!E18*INV3!F18))):b::1::1:f:3:ntvf:1\ncell:B36:b:2::::l:1:f:10\ncell:C36:b:2::::l:1:f:10\ncell:D36:b:2::::l:1:f:10\ncell:E36:b:2::::l:1:f:11\ncell:F36:t:Subtotal:b:2::::l:1:f:9\ncell:G36:vtf:n:0:SUM(G23\\cG35):b:1::::f:9:ntvf:1\ncell:B37:t:NOTES:b:::1::l:1:f:11:cf:2:colspan:3:rowspan:1\ncell:C37:t::b:::2::l:1:f:10\ncell:D37:t::b:::2::l:1:f:10\ncell:F37:t:Tax Rate:l:1:f:9\ncell:G37:v:0:f:1:ntvf:2\ncell:B38:b:1::::f:1:cf:2:colspan:3\ncell:C38:t::b:2::::l:1:f:10\ncell:D38:t::b:2::::l:1:f:10\ncell:F38:t:Tax:l:1:f:9\ncell:G38:vtf:n:0:G37*G36:f:1:ntvf:1\ncell:B39:f:1:cf:2:colspan:3\ncell:C39:t::l:2:f:10\ncell:D39:t::l:2:f:10\ncell:F39:t:Other:b:::1::l:1:f:9\ncell:G39:v:0:b:::1::f:1:ntvf:1\ncell:B40:b:::1::f:1:cf:2:colspan:3:rowspan:1\ncell:C40:t::l:2:f:10\ncell:D40:t::l:2:f:10\ncell:F40:t:TOTAL:b:1::::l:1:f:11\ncell:G40:vtf:n:0:(G36+G38)+G39:b:1::::f:9:ntvf:1\ncell:F41:tvf:4:colspan:2:rowspan:2\ncell:B43:t:Thank you for your business:l:1:f:4:cf:1:colspan:6:rowspan:1\ncell:C43:t::l:2:f:10\ncell:D43:t::l:2:f:10\ncell:E43:t::l:2:f:10\ncell:F43:t::l:2:f:10\ncell:G43:t::l:2:f:10\ncol:A:w:10\ncol:B:w:65\ncol:C:w:19\ncol:D:w:10\ncol:E:w:16\ncol:F:w:53\ncol:G:w:64\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nrow:36:h:14.25\nrow:37:h:14.25\nrow:38:h:14.25\nrow:39:h:14.25\nrow:40:h:14.25\nrow:43:h:15.75\nsheet:c:7:r:43:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncellformat:3:right\ncolor:1:rgb(0, 0, 0)\ncolor:2:rgb(0,0,0)\ncolor:3:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 10pt *\nfont:3:* 9pt Trebuchet MS\nfont:4:italic bold 10pt Trebuchet MS\nfont:5:italic normal * Trebuchet MS\nfont:6:normal bold 10pt Trebuchet MS\nfont:7:normal bold 14pt Trebuchet MS\nfont:8:normal bold 28pt Trebuchet MS\nfont:9:normal normal * Trebuchet MS\nfont:10:normal normal 10pt Arial\nfont:11:normal normal 10pt Trebuchet MS\nfont:12:normal normal 16pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n', }, name: "sheet6", hidden: "0", @@ -758,6 +767,8 @@ export let DATA: { [key: number]: TemplateData } = { }, Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 16, end: 28, @@ -866,6 +877,8 @@ export let DATA: { [key: number]: TemplateData } = { }, Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 16, end: 28, @@ -993,6 +1006,8 @@ export let DATA: { [key: number]: TemplateData } = { }, Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 18, end: 29, @@ -1118,6 +1133,513 @@ export let DATA: { [key: number]: TemplateData } = { }, Items: { Name: "Items", + Heading: "Items", + Subheading: "Item", + Rows: { + start: 18, + end: 29, + }, + Columns: { + Description: "B", + Hours: "E", + Rate: "F", + }, + }, + TaxPercentage: "G31", + OtherCharges: "G33", + Notes: { + 1: "B32", + 2: "B33", + 3: "B34", + }, + }, + }, + msc: { + numsheets: 1, + currentid: "sheet1", + currentname: "typeiv", + sheetArr: { + sheet1: { + sheetstr: { + savestr: + 'version:1.5\ncell:A1:l:3\ncell:B2:t:[Company Name]:l:1:f:2:cf:2:colspan:3:rowspan:1\ncell:C2:t::l:2:f:7\ncell:D2:t::l:2:f:7\ncell:F2:t:INVOICE:l:1:f:6:c:1:cf:2:colspan:2\ncell:G2:t::l:2:f:7\ncell:B3:t:[Company slogan]:f:3:cf:2:colspan:3:rowspan:1\ncell:C3:t::l:2:f:7\ncell:D3:t::l:2:f:7\ncell:B4:cf:2:colspan:3:rowspan:1\ncell:F4:tvf:4:rowspan:4\ncell:B5:t:[Street Address]:f:1:cf:2:colspan:3:rowspan:1\ncell:F5:l:1:f:5\ncell:G5:l:1:f:8:cf:1\ncell:B6:t:[City, State, Zip]:f:1:cf:2:colspan:3:rowspan:1\ncell:G6:l:1:f:7\ncell:B7:t:Phone\\c :f:1:cf:2:colspan:3:rowspan:1\ncell:B8:t:Email\\c:f:1:cf:2:colspan:3:rowspan:1\ncell:B9:cf:2:colspan:3:rowspan:1\ncell:B10:t:BILL TO\\c:l:1:f:5:bg:2:cf:2:colspan:2\ncell:F10:t:DATE\\c:l:1:f:5:cf:2\ncell:G10:l:1:f:8:cf:2:ntvf:3\ncell:B11:t:[Name]:f:1:cf:2:colspan:3:rowspan:1\ncell:F11:t:INVOICE # \\c:l:1:f:5:cf:2\ncell:G11:v:1:l:1:f:8:cf:2\ncell:B12:t:[Company Name]:f:1:cf:2:colspan:3:rowspan:1\ncell:J12:tvf:4\ncell:B13:t:[Street Address]:f:1:cf:2:colspan:3:rowspan:1\ncell:B14:t:[City, State, Zip]:f:1:cf:2:colspan:3:rowspan:1\ncell:B15:t:Phone\\c :f:1:cf:2:colspan:3:rowspan:1\ncell:B16:cf:2:colspan:3:rowspan:1\ncell:A17:b::1::\ncell:B17:t:DESCRIPTION:b:1:1:1:1:l:1:f:5:bg:2:cf:1:colspan:3:rowspan:1\ncell:C17:t::b:1::1::l:1:f:7:bg:2\ncell:D17:t::b:1::1::l:1:f:7:bg:2\ncell:E17:t:HOURS:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:F17:t:RATE:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:G17:t:AMOUNT:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:A18:b::1::\ncell:B18:b:1:1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C18:t::b:2::::l:1:f:7\ncell:D18:t::b:2:2:::l:1:f:7\ncell:E18:b:1:1::1:f:1:ntvf:1\ncell:F18:b:1:1::1:f:1:ntvf:1\ncell:G18:vtf:t::IF(E18*F18>0,E18*F18,""):b:1:1:::f:1:ntvf:1\ncell:A19:b::1::\ncell:B19:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C19:t::l:2:f:7\ncell:D19:t::b::2:::l:1:f:7\ncell:E19:b::1::1:f:1:ntvf:1\ncell:F19:b::1::1:f:1:ntvf:1\ncell:G19:vtf:t::IF(E19*F19>0,E19*F19,""):b::1:::f:1:ntvf:1\ncell:A20:b::1::\ncell:B20:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C20:t::l:2:f:7\ncell:D20:t::b::2:::l:1:f:7\ncell:E20:b::1::1:f:1:ntvf:1\ncell:F20:b::1::1:f:1:ntvf:1\ncell:G20:vtf:t::IF(E20*F20>0,E20*F20,""):b::1:::f:1:ntvf:1\ncell:A21:b::1::\ncell:B21:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C21:t::l:2:f:7\ncell:D21:t::b::2:::l:1:f:7\ncell:E21:b::1::1:f:1:ntvf:1\ncell:F21:b::1::1:f:1:ntvf:1\ncell:G21:vtf:t::IF(E21*F21>0,E21*F21,""):b::1:::f:1:ntvf:1\ncell:A22:b::1::\ncell:B22:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C22:t::l:2:f:7\ncell:D22:t::b::2:::l:1:f:7\ncell:E22:b::1::1:f:1:ntvf:1\ncell:F22:b::1::1:f:1:ntvf:1\ncell:G22:vtf:t::IF(E22*F22>0,E22*F22,""):b::1:::f:1:ntvf:1\ncell:A23:b::1::\ncell:B23:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C23:t::l:2:f:7\ncell:D23:t::b::2:::l:1:f:7\ncell:E23:b::1::1:f:1:ntvf:1\ncell:F23:b::1::1:f:1:ntvf:1\ncell:G23:vtf:t::IF(E23*F23>0,E23*F23,""):b::1:::f:1:ntvf:1\ncell:A24:b::1::\ncell:B24:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C24:t::l:2:f:7\ncell:D24:t::b::2:::l:1:f:7\ncell:E24:b::1::1:f:1:ntvf:1\ncell:F24:b::1::1:f:1:ntvf:1\ncell:G24:vtf:t::IF(E24*F24>0,E24*F24,""):b::1:::f:1:ntvf:1\ncell:A25:b::1::\ncell:B25:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C25:t::l:2:f:7\ncell:D25:t::b::2:::l:1:f:7\ncell:E25:b::1::1:f:1:ntvf:1\ncell:F25:b::1::1:f:1:ntvf:1\ncell:G25:vtf:t::IF(E25*F25>0,E25*F25,""):b::1:::f:1:ntvf:1\ncell:A26:b::1::\ncell:B26:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C26:t::l:2:f:7\ncell:D26:t::b::2:::l:1:f:7\ncell:E26:b::1::1:f:1:ntvf:1\ncell:F26:b::1::1:f:1:ntvf:1\ncell:G26:vtf:t::IF(E26*F26>0,E26*F26,""):b::1:::f:1:ntvf:1\ncell:A27:b::1::\ncell:B27:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C27:t::l:2:f:7\ncell:D27:t::b::2:::l:1:f:7\ncell:E27:b::1::1:f:1:ntvf:1\ncell:F27:b::1::1:f:1:ntvf:1\ncell:G27:vtf:t::IF(E27*F27>0,E27*F27,""):b::1:::f:1:ntvf:1\ncell:A28:b::1::\ncell:B28:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C28:t::l:2:f:7\ncell:D28:t::b::2:::l:1:f:7\ncell:E28:b::1::1:f:1:ntvf:1\ncell:F28:b::1::1:f:1:ntvf:1\ncell:G28:vtf:t::IF(E28*F28>0,E28*F28,""):b::1:::f:1:ntvf:1\ncell:A29:b::1::\ncell:B29:b::1:1:1:f:1:cf:2:colspan:3:rowspan:1\ncell:C29:t::b:::2::l:1:f:7\ncell:D29:t::b::2:2::l:1:f:7\ncell:E29:b::1:1:1:f:1:ntvf:1\ncell:F29:b::1:1:1:f:1:ntvf:1\ncell:G29:vtf:t::IF(E29*F29>0,E29*F29,""):b::1:::f:1:ntvf:1\ncell:B30:b:2::::l:1:f:8:cf:1:colspan:3:rowspan:1\ncell:C30:t::b:2::::l:1:f:7\ncell:D30:t::b:2::::l:1:f:7\ncell:E30:b:2::::l:1:f:8\ncell:F30:t:Subtotal:b:1::::f:1\ncell:G30:vtf:n:0:SUM(G18\\cG29):b:1::::f:1:ntvf:1\ncell:B31:t:NOTES:b:::2::l:1:f:5:cf:2:colspan:3:rowspan:1\ncell:C31:t::b:::2::l:1:f:7\ncell:D31:t::b:::2::l:1:f:7\ncell:F31:t:Tax Rate:f:1\ncell:G31:v:0:f:1:ntvf:2\ncell:B32:b:1::::f:1:cf:2:colspan:3:rowspan:1\ncell:C32:t::b:2::::l:1:f:7\ncell:D32:t::b:2::::l:1:f:7\ncell:F32:t:Tax:f:1\ncell:G32:vtf:n:0:G31*G30:f:1:ntvf:1\ncell:B33:f:1:cf:2:colspan:3:rowspan:1\ncell:C33:t::l:2:f:7\ncell:D33:t::l:2:f:7\ncell:F33:t:Other:b:::1::l:1:f:1\ncell:G33:v:0:b:::1::f:1:ntvf:1\ncell:B34:f:1:cf:2:colspan:3:rowspan:1\ncell:C34:t::l:2:f:7\ncell:D34:t::l:2:f:7\ncell:F34:t:TOTAL:b:1::::l:1:f:4\ncell:G34:vtf:n:0:(G30+G32)+G33:b:1::::f:4:ntvf:1\ncell:B35:b:2::::l:1:f:7\ncell:C35:b:2::::l:1:f:7\ncell:D35:b:2::::l:1:f:7\ncell:C36:tvf:4\ncell:E36:tvf:4:colspan:3:rowspan:3\ncell:F36:tvf:4\ncol:A:w:40\ncol:B:w:194\ncol:C:w:128\ncol:D:w:60\ncol:E:w:65\ncol:F:w:95\ncol:G:w:90\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nsheet:c:10:r:36:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncolor:1:rgb(0,0,0)\ncolor:2:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 16pt Trebuchet MS\nfont:3:italic normal * Trebuchet MS\nfont:4:normal bold * Trebuchet MS\nfont:5:normal bold 10pt Trebuchet MS\nfont:6:normal bold 28pt Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 10pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:36px * 28px *;vertical-align:*;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n', + }, + name: "typeiv", + hidden: "0", + }, + }, + EditableCells: { + allow: true, + cells: { + "typeiv!G9": true, + "typeiv!G10": true, + "typeiv!B2": true, + "typeiv!B3": true, + "typeiv!B4": true, + "typeiv!B5": true, + "typeiv!B6": true, + "typeiv!B7": true, + "typeiv!B8": true, + "typeiv!B11": true, + "typeiv!B12": true, + "typeiv!B13": true, + "typeiv!B14": true, + "typeiv!B15": true, + "typeiv!B16": true, + "typeiv!B18": true, + "typeiv!B19": true, + "typeiv!B20": true, + "typeiv!B21": true, + "typeiv!B22": true, + "typeiv!B23": true, + "typeiv!B24": true, + "typeiv!B25": true, + "typeiv!B26": true, + "typeiv!B27": true, + "typeiv!B28": true, + "typeiv!B29": true, + "typeiv!E18": true, + "typeiv!E19": true, + "typeiv!E20": true, + "typeiv!E21": true, + "typeiv!E22": true, + "typeiv!E23": true, + "typeiv!E24": true, + "typeiv!E25": true, + "typeiv!E26": true, + "typeiv!E27": true, + "typeiv!E28": true, + "typeiv!E29": true, + "typeiv!F18": true, + "typeiv!F19": true, + "typeiv!F2": true, + "typeiv!F20": true, + "typeiv!F21": true, + "typeiv!F22": true, + "typeiv!F23": true, + "typeiv!F24": true, + "typeiv!F25": true, + "typeiv!F26": true, + "typeiv!F27": true, + "typeiv!F28": true, + "typeiv!F29": true, + "typeiv!B32": true, + "typeiv!B33": true, + "typeiv!B34": true, + "typeiv!G31": true, + "typeiv!G33": true, + "typeiv!B37": true, + "typeiv!E17": true, + "typeiv!F17": true, + "typeiv!G11": true, + "typeiv!F11": true, + "typeiv!F10": true, + "typeiv!G30": true, + "typeiv!G34": true, + }, + constraints: {}, + }, + }, + }, + + 5001: { + template: "Tablet-Invoice-1", + templateId: 5001, + category: "Tablet", + footers: [{ name: "Invoice", index: 1, isActive: true }], + logoCell: { + sheet1: "F4", + }, + signatureCell: { + sheet1: "D31", + }, + cellMappings: { + sheet1: { + Heading: "B2", + Date: "D6", + InvoiceNumber: "D4", + From: { + Name: "E10", + StreetAddress: "E11", + CityStateZip: "E12", + Phone: "E13", + }, + BillTo: { + Name: "C10", + StreetAddress: "C11", + CityStateZip: "C12", + Phone: "C13", + }, + Items: { + Name: "Items", + Heading: "Items", + Subheading: "Item", + Rows: { + start: 16, + end: 28, + }, + Columns: { + Description: "C", + Amount: "F", + }, + }, + }, + }, + msc: { + numsheets: 1, + currentid: "sheet1", + currentname: "typei", + sheetArr: { + sheet1: { + sheetstr: { + savestr: + "version:1.5\ncell:A2:b::2:::l:1:f:7\ncell:B2:t:INVOICE:b:1:1:1:1:f:6:cf:1:colspan:6\ncell:C2:t::b:2::2::l:1:f:7\ncell:D2:t::b:2::2::l:1:f:7\ncell:E2:t::b:2::2::l:1:f:7\ncell:F2:t::b:2::2::l:1:f:7\ncell:G2:t::b:2::2::l:1:f:7\ncell:A3:b::2:::l:3:f:7\ncell:B3:b:2:::2:l:3:f:7\ncell:C3:b:2::::l:1:f:7\ncell:D3:b:2::::l:1:f:7\ncell:E3:b:2::::l:1:f:7\ncell:F3:b:2::::l:1:f:7\ncell:G3:b:2:2:::l:3:f:7\ncell:A4:b::2:::l:3:f:7\ncell:B4:b::::2:l:3:f:3\ncell:C4:t:INVOICE # \\c:f:2:cf:2\ncell:D4:v:1:f:2:cf:2\ncell:F4:tvf:4:rowspan:4\ncell:G4:b::2:::l:3:f:7\ncell:A5:b::2:::l:3:f:7\ncell:B5:b::::2:l:3:f:4\ncell:F5:t::l:2:f:7\ncell:G5:t::b::1:::l:2:f:7\ncell:A6:b::2:::l:3:f:7\ncell:B6:b::::2:l:3:f:4\ncell:C6:t:INVOICE DATE\\c:f:2:cf:2\ncell:D6:f:2:cf:2:ntvf:3\ncell:F6:l:2:f:7\ncell:G6:b::1:::l:2:f:7\ncell:A7:b::2:::l:3:f:7\ncell:B7:b::::2:l:3:f:4\ncell:G7:b::2:::l:3:f:7\ncell:A8:b::2:::l:3:f:7\ncell:B8:b::::2:l:3:f:4\ncell:G8:b::2:::l:3:f:7\ncell:A9:b::2:::l:3:f:7\ncell:B9:b::::2:l:3:f:4\ncell:C9:t:BILL TO\\c:l:3:f:2\ncell:E9:t:FROM\\c:f:2:cf:2\ncell:G9:b::2:::l:3:f:7\ncell:A10:b::2:::l:3:f:7\ncell:B10:b::::2:l:3:f:3\ncell:C10:t:[Name]:f:1:cf:2:colspan:2\ncell:E10:t:[Name]:f:1:cf:2:colspan:2\ncell:G10:b::2:::l:3:f:7\ncell:A11:b::2:::l:3:f:7\ncell:B11:b::::2:l:3:f:7\ncell:C11:t:[Street Address]:f:1:cf:2:colspan:2\ncell:E11:t:[Street Address]:f:1:cf:2:colspan:2\ncell:G11:b::2:::l:3:f:7\ncell:A12:b::2:::l:3:f:7\ncell:B12:b::::2:l:3:f:7\ncell:C12:t:[City, State, Zip]:f:1:cf:2:colspan:2\ncell:E12:t:[City, State, Zip]:f:1:cf:2:colspan:2\ncell:G12:b::2:::l:3:f:7\ncell:A13:b::2:::l:3:f:7\ncell:B13:b::::2:l:3:f:7\ncell:C13:t:Phone\\c:f:1:cf:2:colspan:2\ncell:E13:t:Phone\\c:f:1:cf:2:colspan:2\ncell:G13:b::2:::l:3:f:7\ncell:A14:b::2:::l:3:f:7\ncell:B14:b::::2:l:3:f:3:cf:2\ncell:C14:b:::2::l:1:f:7\ncell:D14:b:::2::l:3:f:3:cf:2\ncell:E14:b:::2::l:1:f:7\ncell:F14:b:::2::l:1:f:7\ncell:G14:b::2:::l:3:f:7\ncell:A15:b::2:::l:3:f:7\ncell:B15:b::2::2:l:3:f:7\ncell:C15:t:Description:b:1::1:1:f:2:cf:1:colspan:3\ncell:D15:t:Description:b:1::1::l:3:f:3:cf:2:colspan:2:rowspan:1\ncell:E15:t::b:2:2:2::l:1:f:7\ncell:F15:t:Amount:b:1:1:1:1:f:2:cf:1\ncell:G15:b::2::2:l:3:f:7\ncell:A16:b::2:::l:3:f:7\ncell:B16:b::2::2:l:3:f:7\ncell:C16:b:1:1::1:f:1:cf:2:colspan:3\ncell:D16:b:1:1:::l:3:f:7:cf:2:colspan:2:rowspan:1\ncell:E16:t::b:2:2:2::l:1:f:7\ncell:F16:b:1:1:::f:1:ntvf:1\ncell:G16:b::2::2:l:3:f:7\ncell:A17:b::2:::l:3:f:7\ncell:B17:b::2::2:l:3:f:7:cf:2\ncell:C17:b::1::1:f:1:cf:2:colspan:3\ncell:D17:b::1:::l:1:f:7:colspan:2\ncell:E17:l:1:f:7\ncell:F17:b::1:::f:1:ntvf:1\ncell:G17:b::2::2:l:3:f:7\ncell:A18:b::2:::l:3:f:7\ncell:B18:b::2::2:l:3:f:7:cf:2:ntvf:2\ncell:C18:b::1::1:f:1:cf:2:colspan:3\ncell:D18:b::1:::colspan:2\ncell:F18:b::1:::f:1:ntvf:1\ncell:G18:b::2::2:l:3:f:7\ncell:A19:b::2:::l:3:f:7\ncell:B19:b::2::2:l:3:f:7:cf:2:ntvf:2\ncell:C19:b::1::1:f:1:cf:2:colspan:3\ncell:D19:b::1:::colspan:2\ncell:F19:b::1:::f:1:ntvf:1\ncell:G19:b::2::2:l:3:f:7\ncell:A20:b::2:::l:3:f:7\ncell:B20:b::2::2:l:3:f:7:cf:2:ntvf:2\ncell:C20:b::1::1:f:1:cf:2:colspan:3\ncell:D20:b::1:::colspan:2\ncell:F20:b::1:::f:1:ntvf:1\ncell:G20:b::2::2:l:3:f:7\ncell:A21:b::2:::l:3:f:7\ncell:B21:b::2::2:l:3:f:7:cf:2:ntvf:2\ncell:C21:b::1::1:f:1:cf:2:colspan:3\ncell:D21:b::1:::colspan:2\ncell:F21:b::1:::f:1:ntvf:1\ncell:G21:b::2::2:l:3:f:7\ncell:A22:b::2:::l:3:f:7\ncell:B22:b::2::2:l:3:f:7:cf:2:ntvf:2\ncell:C22:b::1::1:f:1:cf:2:colspan:3\ncell:D22:b::1:::colspan:2\ncell:F22:b::1:::f:1:ntvf:1\ncell:G22:b::2::2:l:3:f:7\ncell:A23:b::2:::l:3:f:7\ncell:B23:b::2::2:l:3:f:7:cf:2\ncell:C23:b::1::1:f:1:cf:2:colspan:3\ncell:D23:b::1:::colspan:2\ncell:F23:b::1:::f:1:ntvf:1\ncell:G23:b::2::2:l:3:f:7\ncell:A24:b::2:::l:3:f:7\ncell:B24:b::2::2:l:3:f:7:cf:2\ncell:C24:b::1::1:f:1:cf:2:colspan:3\ncell:D24:b::1:::colspan:2\ncell:F24:b::1:::f:1:ntvf:1\ncell:G24:b::2::2:l:3:f:7\ncell:A25:b::2:::l:3:f:7\ncell:B25:b::2::2:l:3:f:7:cf:2\ncell:C25:b::1::1:f:1:cf:2:colspan:3\ncell:D25:b::1:::colspan:2\ncell:F25:b::1:::f:1:ntvf:1\ncell:G25:b::2::2:l:3:f:7\ncell:A26:b::2:::l:3:f:7\ncell:B26:b::2::2:l:3:f:7:cf:2\ncell:C26:b::1::1:f:1:cf:2:colspan:3\ncell:D26:b::1:::colspan:2\ncell:F26:b::1:::f:1:ntvf:1\ncell:G26:b::2::2:l:3:f:7\ncell:A27:b::2:::l:3:f:7\ncell:B27:b::2::2:l:3:f:7:cf:2\ncell:C27:b::1::1:f:1:cf:2:colspan:3\ncell:D27:b::1:::colspan:2\ncell:F27:b::1:::f:1:ntvf:1\ncell:G27:b::2::2:l:3:f:7\ncell:A28:b::2:::l:3:f:4\ncell:B28:b::2::2:l:3:f:7:cf:2\ncell:C28:b::1:1:1:f:1:cf:2:colspan:3\ncell:D28:b::1:1::l:3:f:7:cf:2:colspan:2\ncell:E28:b:::2::l:3:f:7:cf:2\ncell:F28:b::1:1::f:1:ntvf:1\ncell:G28:b::2::2:l:3:f:7\ncell:A29:b::2:::l:3:f:3\ncell:B29:b::2::2:l:3:f:3\ncell:C29:t:TOTAL:b:1:1:1:1:f:5:cf:2:colspan:3\ncell:D29:b:2::2::l:3:f:8:cf:2\ncell:E29:b:2:2:2::l:3:f:8:cf:2\ncell:F29:vtf:n:0:SUM(F16\\cF28):b:1:1:1::f:5:ntvf:1\ncell:G29:b::2::2:l:3:f:4\ncell:A30:b::2:::l:3:f:7\ncell:B30:b::::2:l:3:f:3:cf:2\ncell:C30:b:2::::l:1:f:7\ncell:D30:b:2::::l:1:f:7\ncell:E30:b:2::::l:1:f:7\ncell:F30:b:2::::l:1:f:7\ncell:G30:b::2:::l:3:f:3\ncell:A31:b::2:::l:3:f:7\ncell:B31:b::::2:l:3:f:7\ncell:D31:tvf:4:rowspan:4\ncell:G31:b::2:::l:3:f:7\ncell:A32:b::2:::l:3:f:7\ncell:B32:b::::2:l:3:f:7\ncell:G32:b::2:::l:3:f:7\ncell:A33:b::2:::l:3:f:7\ncell:B33:b::::2:l:3:f:7\ncell:G33:b::2:::l:3:f:7\ncell:A34:b::2:::l:3:f:7\ncell:B34:b::::2:l:3:f:7\ncell:G34:b::2:::l:3:f:7\ncell:A35:b::2:::l:3:f:7\ncell:B35:b:::2:2:l:3:f:7\ncell:C35:b:::2::l:3:f:7\ncell:D35:b:::2::l:3:f:7\ncell:E35:b:::2::l:3:f:7\ncell:F35:b:::2::l:3:f:7\ncell:G35:b::2:2::l:3:f:7\ncell:B36:b:1:::\ncell:C36:b:1:::\ncell:D36:b:1:::\ncell:E36:b:1:::\ncell:F36:b:1:::\ncell:G36:b:1:::\ncol:A:w:10\ncol:B:w:42\ncol:C:w:105\ncol:D:w:182\ncol:E:w:110\ncol:F:w:115\ncol:G:w:65\nrow:1:h:14.25\nrow:2:h:18.75\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:15.75\nrow:6:h:15.75\nrow:7:h:15.75\nrow:8:h:15.75\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:15.75\nrow:29:h:15.75\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nsheet:c:7:r:36:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\nfont:1:* * Trebuchet MS\nfont:2:normal bold * Trebuchet MS\nfont:3:normal bold 10pt Arial\nfont:4:normal bold 12pt Arial\nfont:5:normal bold 12pt Trebuchet MS\nfont:6:normal bold 14pt Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 12pt Arial\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:* * * *;vertical-align:top;\nvalueformat:1:#,##0.00\nvalueformat:2:d-mmm\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n", + }, + name: "typei", + hidden: "0", + }, + }, + EditableCells: { + allow: true, + cells: { + "typei!C10": true, + "typei!B2": true, + "typei!C11": true, + "typei!C12": true, + "typei!C13": true, + "typei!D9": true, + "typei!D4": true, + "typei!D6": true, + "typei!E10": true, + "typei!E11": true, + "typei!E12": true, + "typei!E13": true, + "typei!F9": true, + "typei!C16": true, + "typei!C17": true, + "typei!C18": true, + "typei!C19": true, + "typei!C20": true, + "typei!C21": true, + "typei!C22": true, + "typei!C23": true, + "typei!C24": true, + "typei!C25": true, + "typei!C26": true, + "typei!C27": true, + "typei!C28": true, + "typei!F16": true, + "typei!F17": true, + "typei!F18": true, + "typei!F19": true, + "typei!F20": true, + "typei!F21": true, + "typei!F22": true, + "typei!F23": true, + "typei!F24": true, + "typei!F25": true, + "typei!F26": true, + "typei!F27": true, + "typei!F28": true, + "typei!E35": true, + "typei!C4": true, + "typei!C6": true, + "typei!F4": true, + "typei!F29": true, + }, + constraints: {}, + }, + }, + }, + + 5002: { + template: "Tablet-Invoice-2", + templateId: 5002, + category: "Tablet", + footers: [{ name: "Invoice", index: 1, isActive: true }], + logoCell: { + sheet1: "F4", + }, + signatureCell: { + sheet1: "D31", + }, + cellMappings: { + sheet1: { + Heading: "B2", + Date: "D6", + InvoiceNumber: "D4", + From: { + Name: "E10", + StreetAddress: "E11", + CityStateZip: "E12", + Phone: "E13", + }, + BillTo: { + Name: "C10", + StreetAddress: "C11", + CityStateZip: "C12", + Phone: "C13", + }, + Items: { + Name: "Items", + Heading: "Items", + Subheading: "Item", + Rows: { + start: 16, + end: 28, + }, + Columns: { + Description: "C", + Hours: "F", + Rate: "G", + }, + }, + }, + }, + msc: { + numsheets: 1, + currentid: "sheet1", + currentname: "typeii", + sheetArr: { + sheet1: { + sheetstr: { + savestr: + 'version:1.5\ncell:A2:b::2:::l:1:f:7\ncell:B2:t:INVOICE:b:1:1:1:1:l:3:f:6:cf:1:colspan:8\ncell:C2:t::b:2::2::l:1:f:7\ncell:D2:t::b:2::2::l:1:f:7\ncell:E2:t::b:2::2::l:1:f:7\ncell:F2:t::b:2::2::l:1:f:7\ncell:G2:b:2::2::l:1:f:7\ncell:H2:b:2::2::l:1:f:7\ncell:I2:t::b:2::2::l:1:f:7\ncell:A3:b::2:::l:3:f:7\ncell:B3:b:2:::2:l:3:f:7\ncell:E3:b:2::::l:1:f:7\ncell:F3:b:2::::l:1:f:7\ncell:G3:b:2::::l:1:f:7\ncell:H3:b:2::::l:1:f:7\ncell:I3:b:2:2:::l:3:f:7\ncell:A4:b::2:::l:3:f:7\ncell:B4:b::::2:l:3:f:3\ncell:C4:t:INVOICE # \\c:f:2:cf:2\ncell:D4:v:1:f:2:cf:2\ncell:F4:tvf:5:colspan:2:rowspan:4\ncell:I4:b::2:::l:3:f:7\ncell:A5:b::2:::l:3:f:7\ncell:B5:b::::2:l:3:f:4\ncell:F5:t::l:2:f:7\ncell:G5:l:2:f:7\ncell:H5:l:2:f:7\ncell:I5:t::b::1:::l:2:f:7\ncell:A6:b::2:::l:3:f:7\ncell:B6:b::::2:l:3:f:4\ncell:C6:t:INVOICE DATE\\c:f:2:cf:2\ncell:D6:f:2:cf:2:ntvf:4\ncell:F6:l:2:f:7\ncell:G6:l:2:f:7\ncell:H6:l:2:f:7\ncell:I6:b::1:::l:2:f:7\ncell:A7:b::2:::l:3:f:7\ncell:B7:b::::2:l:3:f:4\ncell:I7:b::2:::l:3:f:7\ncell:A8:b::2:::l:3:f:7\ncell:B8:b::::2:l:3:f:4\ncell:I8:b::2:::l:3:f:7\ncell:A9:b::2:::l:3:f:7\ncell:B9:b::::2:l:3:f:4\ncell:C9:t:BILL TO\\c:f:2\ncell:E9:t:FROM\\c:f:2:cf:2\ncell:F9:colspan:3\ncell:I9:b::2:::l:3:f:7\ncell:A10:b::2:::l:3:f:7\ncell:B10:b::::2:l:3:f:3\ncell:C10:t:[Name]:f:1:cf:2:colspan:2\ncell:E10:t:[Name]:f:1:cf:2:colspan:4\ncell:I10:b::2:::l:3:f:7\ncell:A11:b::2:::l:3:f:7\ncell:B11:b::::2:l:3:f:7\ncell:C11:t:[Street Address]:f:1:cf:2:colspan:2\ncell:E11:t:[Street Address]:f:1:colspan:4\ncell:I11:b::2:::l:3:f:7\ncell:A12:b::2:::l:3:f:7\ncell:B12:b::::2:l:3:f:7\ncell:C12:t:[City, State, Zip]:f:1:cf:2:colspan:2\ncell:E12:t:[City, State, Zip]:f:1:cf:2:colspan:4\ncell:I12:b::2:::l:3:f:7\ncell:A13:b::2:::l:3:f:7\ncell:B13:b::::2:l:3:f:7\ncell:C13:t:Phone\\c :f:1:cf:2:colspan:2\ncell:E13:t:Phone\\c :f:1:cf:2:colspan:4\ncell:I13:b::2:::l:3:f:7\ncell:A14:b::2:::l:3:f:7\ncell:B14:b::::2:l:3:f:3:cf:2\ncell:C14:b:::2::l:1:f:7\ncell:D14:b:::2::l:3:f:3:cf:2\ncell:E14:b:::2::l:1:f:7\ncell:F14:b:::2::l:1:f:7\ncell:G14:b:::2::l:1:f:7\ncell:H14:b:::2::l:1:f:7\ncell:I14:b::2:::l:3:f:7\ncell:A15:b::2:::l:3:f:7\ncell:B15:b::2::2:l:3:f:7\ncell:C15:t:Description:b:1:1:1:1:f:2:cf:1:colspan:3\ncell:D15:t:Description:b:2::2:2:l:3:f:3:cf:2:colspan:2:rowspan:1\ncell:E15:t::b:2:2:2::l:1:f:7\ncell:F15:t:Hours:b:1:1:1:1:f:2:cf:1\ncell:G15:t:Rate:b:1:1:1:1:f:2:cf:1\ncell:H15:t:Amount:b:1:1:1:1:f:2:cf:1\ncell:I15:b::2::2:l:3:f:7\ncell:A16:b::2:::l:3:f:7\ncell:B16:b::2::2:l:3:f:7\ncell:C16:b:1:1::1:f:1:cf:2:colspan:3\ncell:D16:b:1:1::1:l:3:f:7:cf:2:colspan:2:rowspan:1\ncell:E16:t::b:2:2:2::l:1:f:7\ncell:F16:b:1:1:::f:1:ntvf:1\ncell:G16:b:1:1:::f:1:ntvf:1\ncell:H16:vtf:t::IF(F16*G16>0,F16*G16,""):b:1:1:::f:1:ntvf:1\ncell:I16:b::2::2:l:3:f:7\ncell:A17:b::2:::l:3:f:7\ncell:B17:b::2::2:l:3:f:7:cf:2\ncell:C17:b::1::1:f:1:cf:2:colspan:3\ncell:D17:b::1::1:l:1:f:7:colspan:2\ncell:E17:l:1:f:7\ncell:F17:b::1:::f:1:ntvf:1\ncell:G17:b::1:::f:1:ntvf:1\ncell:H17:vtf:t::IF(F17*G17>0,F17*G17,""):b::1:::f:1:ntvf:1\ncell:I17:b::2::2:l:3:f:7\ncell:A18:b::2:::l:3:f:7\ncell:B18:b::2::2:l:3:f:7:cf:2:ntvf:3\ncell:C18:b::1::1:f:1:cf:2:colspan:3\ncell:D18:b::1::1:colspan:2\ncell:F18:b::1:::f:1:ntvf:1\ncell:G18:b::1:::f:1:ntvf:1\ncell:H18:vtf:t::IF(F18*G18>0,F18*G18,""):b::1:::f:1:ntvf:1\ncell:I18:b::2::2:l:3:f:7\ncell:A19:b::2:::l:3:f:7\ncell:B19:b::2::2:l:3:f:7:cf:2:ntvf:3\ncell:C19:b::1::1:f:1:cf:2:colspan:3\ncell:D19:b::1::1:colspan:2\ncell:F19:b::1:::f:1:ntvf:1\ncell:G19:b::1:::f:1:ntvf:1\ncell:H19:vtf:t::IF(F19*G19>0,F19*G19,""):b::1:::f:1:ntvf:1\ncell:I19:b::2::2:l:3:f:7\ncell:A20:b::2:::l:3:f:7\ncell:B20:b::2::2:l:3:f:7:cf:2:ntvf:3\ncell:C20:b::1::1:f:1:cf:2:colspan:3\ncell:D20:b::1::1:colspan:2\ncell:F20:b::1:::f:1:ntvf:1\ncell:G20:b::1:::f:1:ntvf:1\ncell:H20:vtf:t::IF(F20*G20>0,F20*G20,""):b::1:::f:1:ntvf:1\ncell:I20:b::2::2:l:3:f:7\ncell:A21:b::2:::l:3:f:7\ncell:B21:b::2::2:l:3:f:7:cf:2:ntvf:3\ncell:C21:b::1::1:f:1:cf:2:colspan:3\ncell:D21:b::1::1:colspan:2\ncell:F21:b::1:::f:1:ntvf:1\ncell:G21:b::1:::f:1:ntvf:1\ncell:H21:vtf:t::IF(F21*G21>0,F21*G21,""):b::1:::f:1:ntvf:1\ncell:I21:b::2::2:l:3:f:7\ncell:A22:b::2:::l:3:f:7\ncell:B22:b::2::2:l:3:f:7:cf:2:ntvf:3\ncell:C22:b::1::1:f:1:cf:2:colspan:3\ncell:D22:b::1::1:colspan:2\ncell:F22:b::1:::f:1:ntvf:1\ncell:G22:b::1:::f:1:ntvf:1\ncell:H22:vtf:t::IF(F22*G22>0,F22*G22,""):b::1:::f:1:ntvf:1\ncell:I22:b::2::2:l:3:f:7\ncell:A23:b::2:::l:3:f:7\ncell:B23:b::2::2:l:3:f:7:cf:2\ncell:C23:b::1::1:f:1:cf:2:colspan:3\ncell:D23:b::1::1:colspan:2\ncell:F23:b::1:::f:1:ntvf:1\ncell:G23:b::1:::f:1:ntvf:1\ncell:H23:vtf:t::IF(F23*G23>0,F23*G23,""):b::1:::f:1:ntvf:1\ncell:I23:b::2::2:l:3:f:7\ncell:A24:b::2:::l:3:f:7\ncell:B24:b::2::2:l:3:f:7:cf:2\ncell:C24:b::1::1:f:1:cf:2:colspan:3\ncell:D24:b::1::1:colspan:2\ncell:F24:b::1:::f:1:ntvf:1\ncell:G24:b::1:::f:1:ntvf:1\ncell:H24:vtf:t::IF(F24*G24>0,F24*G24,""):b::1:::f:1:ntvf:1\ncell:I24:b::2::2:l:3:f:7\ncell:A25:b::2:::l:3:f:7\ncell:B25:b::2::2:l:3:f:7:cf:2\ncell:C25:b::1::1:f:1:cf:2:colspan:3\ncell:D25:b::1::1:colspan:2\ncell:F25:b::1:::f:1:ntvf:1\ncell:G25:b::1:::f:1:ntvf:1\ncell:H25:vtf:t::IF(F25*G25>0,F25*G25,""):b::1:::f:1:ntvf:1\ncell:I25:b::2::2:l:3:f:7\ncell:A26:b::2:::l:3:f:7\ncell:B26:b::2::2:l:3:f:7:cf:2\ncell:C26:b::1::1:f:1:cf:2:colspan:3\ncell:D26:b::1::1:colspan:2\ncell:F26:b::1:::f:1:ntvf:1\ncell:G26:b::1:::f:1:ntvf:1\ncell:H26:vtf:t::IF(F26*G26>0,F26*G26,""):b::1:::f:1:ntvf:1\ncell:I26:b::2::2:l:3:f:7\ncell:A27:b::2:::l:3:f:7\ncell:B27:b::2::2:l:3:f:7:cf:2\ncell:C27:b::1::1:f:1:cf:2:colspan:3\ncell:D27:b::1::1:colspan:2\ncell:F27:b::1:::f:1:ntvf:1\ncell:G27:b::1:::f:1:ntvf:1\ncell:H27:vtf:t::IF(F27*G27>0,F27*G27,""):b::1:::f:1:ntvf:1\ncell:I27:b::2::2:l:3:f:7\ncell:A28:b::2:::l:3:f:4\ncell:B28:b::2::2:l:3:f:7:cf:2\ncell:C28:b::1:1:1:f:1:cf:2:colspan:3\ncell:D28:b::1:1:1:l:3:f:7:cf:2:colspan:2\ncell:E28:b:::2::l:3:f:7:cf:2\ncell:F28:b::1:1::f:1:ntvf:1\ncell:G28:b::1:1::f:1:ntvf:1\ncell:H28:vtf:t::IF(F28*G28>0,F28*G28,""):b::1:::f:1:ntvf:1\ncell:I28:b::2::2:l:3:f:7\ncell:A29:b::2:::l:3:f:3\ncell:B29:b::2::2:l:3:f:3\ncell:C29:t:TOTAL:b:1:1:1:1:l:3:f:5:cf:2:colspan:5\ncell:D29:b:2::2::l:3:f:8:cf:2\ncell:E29:b:2:2:2::l:3:f:8:cf:2\ncell:F29:vtf:n:0:SUM(F16\\cF28):b:2:2:2::l:3:f:4:ntvf:2\ncell:G29:b:2:2:2::l:3:f:4:ntvf:2\ncell:H29:vtf:n:0:SUM(H16\\cH28):b:1:1:1::f:5:ntvf:1\ncell:I29:b::2::2:l:3:f:4\ncell:A30:b::2:::l:3:f:7\ncell:B30:b::::2:l:3:f:3:cf:2\ncell:C30:b:2::::l:1:f:7\ncell:D30:b:2::::l:1:f:7\ncell:E30:b:2::::l:1:f:7\ncell:F30:b:2::::l:1:f:7\ncell:G30:b:2::::l:1:f:7\ncell:H30:b:2::::l:1:f:7\ncell:I30:b::2:::l:3:f:3\ncell:A31:b::2:::l:3:f:7\ncell:B31:b::::2:l:3:f:7\ncell:D31:tvf:5:rowspan:4\ncell:I31:b::2:::l:3:f:7\ncell:A32:b::2:::l:3:f:7\ncell:B32:b::::2:l:3:f:7\ncell:I32:b::2:::l:3:f:7\ncell:A33:b::2:::l:3:f:7\ncell:B33:b::::2:l:3:f:7\ncell:I33:b::2:::l:3:f:7\ncell:A34:b::2:::l:3:f:7\ncell:B34:b::::2:l:3:f:7\ncell:I34:b::2:::l:3:f:7\ncell:A35:b::2:::l:3:f:7\ncell:B35:b:::2:2:l:3:f:7\ncell:C35:b:::2::l:3:f:7\ncell:D35:b:::2::l:3:f:7\ncell:E35:b:::2::l:3:f:7\ncell:F35:b:::2::l:3:f:7\ncell:G35:b:::2::l:3:f:7\ncell:H35:b:::2::l:3:f:7\ncell:I35:b::2:2::l:3:f:7\ncell:B36:b:1:::\ncell:C36:b:1:::\ncell:D36:b:1:::\ncell:E36:b:1:::\ncell:F36:b:1:::\ncell:G36:b:1:::\ncell:H36:b:1:::\ncell:I36:b:1:::\ncol:A:w:26\ncol:B:w:28\ncol:C:w:96\ncol:D:w:203\ncol:E:w:51\ncol:F:w:50\ncol:G:w:58\ncol:H:w:80\ncol:I:w:28\nrow:1:h:14.25\nrow:2:h:18.75\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:15.75\nrow:6:h:15.75\nrow:7:h:15.75\nrow:8:h:15.75\nrow:9:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:16:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:15.75\nrow:29:h:15.75\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nsheet:c:9:r:36:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\nfont:1:* * Trebuchet MS\nfont:2:normal bold * Trebuchet MS\nfont:3:normal bold 10pt Arial\nfont:4:normal bold 12pt Arial\nfont:5:normal bold 12pt Trebuchet MS\nfont:6:normal bold 14pt Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 12pt Arial\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:* * * *;vertical-align:top;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00;(#,##0.00)\nvalueformat:3:d-mmm\nvalueformat:4:m/d/yy\nvalueformat:5:text-html\n', + }, + name: "typeii", + hidden: "0", + }, + }, + EditableCells: { + allow: true, + cells: { + "typeii!B2": true, + "typeii!D4": true, + "typeii!C10": true, + "typeii!C11": true, + "typeii!C12": true, + "typeii!C13": true, + "typeii!D9": true, + "typeii!E10": true, + "typeii!E11": true, + "typeii!E12": true, + "typeii!E13": true, + "typeii!F9": true, + "typeii!C16": true, + "typeii!C17": true, + "typeii!C18": true, + "typeii!C19": true, + "typeii!C20": true, + "typeii!C21": true, + "typeii!C22": true, + "typeii!C23": true, + "typeii!C24": true, + "typeii!C25": true, + "typeii!C26": true, + "typeii!C27": true, + "typeii!C28": true, + "typeii!F16": true, + "typeii!F17": true, + "typeii!F18": true, + "typeii!F19": true, + "typeii!F20": true, + "typeii!F21": true, + "typeii!F22": true, + "typeii!F23": true, + "typeii!F24": true, + "typeii!F25": true, + "typeii!F26": true, + "typeii!F27": true, + "typeii!F28": true, + "typeii!G16": true, + "typeii!G17": true, + "typeii!G18": true, + "typeii!G19": true, + "typeii!G20": true, + "typeii!G21": true, + "typeii!G22": true, + "typeii!G23": true, + "typeii!G24": true, + "typeii!G25": true, + "typeii!G26": true, + "typeii!G27": true, + "typeii!G28": true, + "typeii!E35": true, + "typeii!F15": true, + "typeii!G15": true, + "typeii!D6": true, + "typeii!C4": true, + "typeii!C6": true, + "typeii!F4": true, + "typeii!H29": true, + }, + constraints: {}, + }, + }, + }, + + 5003: { + template: "Tablet-Tax-Invoice-1", + templateId: 5003, + category: "Tablet", + footers: [{ name: "Invoice", index: 1, isActive: true }], + logoCell: { + sheet1: "F4", + }, + signatureCell: { + sheet1: "C36", + }, + cellMappings: { + sheet1: { + Heading: "F2", + CompanyName: "B2", + CompanySlogan: "B3", + Date: "G9", + InvoiceNumber: "G10", + From: { + StreetAddress: "B5", + CityStateZip: "B6", + Phone: "B7", + Email: "B8", + }, + BillTo: { + Name: "B11", + CompanyName: "B12", + StreetAddress: "B13", + CityStateZip: "B14", + Phone: "B15", + }, + Items: { + Name: "Items", + Heading: "Items", + Subheading: "Item", + Rows: { + start: 18, + end: 29, + }, + Columns: { + Description: "B", + Amount: "G", + }, + }, + TaxPercentage: "G31", + OtherCharges: "G33", + Notes: { + 1: "B32", + 2: "B33", + 3: "B34", + }, + }, + }, + msc: { + numsheets: 1, + currentid: "sheet1", + currentname: "typeiii", + sheetArr: { + sheet1: { + sheetstr: { + savestr: + "version:1.5\ncell:A1:l:3\ncell:B2:t:[Company Name]:l:1:f:3:cf:2:colspan:3\ncell:C2:t::l:2:f:9\ncell:D2:t::l:2:f:9\ncell:E2:l:1:f:7:c:2:cf:3\ncell:F2:t:INVOICE:l:1:f:7:c:2:cf:2:colspan:2\ncell:G2:t::l:2:f:9\ncell:B3:t:[Company Slogan]:f:4:cf:2:colspan:3\ncell:C3:t::l:2:f:9\ncell:D3:t::l:2:f:9\ncell:B4:f:2:colspan:2\ncell:F4:tvf:4:rowspan:4\ncell:B5:t:[Street Address]:f:1:cf:2:colspan:2\ncell:F5:l:1:f:6\ncell:G5:l:1:f:10:cf:1\ncell:B6:t:[City, State, Zip]:f:1:cf:2:colspan:2\ncell:G6:l:1:f:9\ncell:B7:t:Phone\\c :f:1:cf:2:colspan:2\ncell:B8:t:Email\\c:f:1:cf:2:colspan:2\ncell:B9:colspan:2\ncell:F9:t:DATE \\c:l:1:f:6:cf:2\ncell:G9:l:1:f:10:cf:2:ntvf:3\ncell:B10:t:BILL TO\\c:f:5:c:1:bg:3:cf:2:colspan:2\ncell:F10:t:INVOICE # \\c:l:1:f:6:cf:2\ncell:G10:v:1:l:1:f:10:cf:2\ncell:B11:t:[Name]:f:1:cf:2:colspan:2\ncell:B12:t:[Company Name]:f:1:cf:2:colspan:2\ncell:F12:t: \ncell:B13:t:[Street Address]:f:1:cf:2:colspan:2\ncell:B14:t:[City, State, Zip]:f:1:cf:2:colspan:2\ncell:B15:t:Phone\\c :f:1:cf:2:colspan:2\ncell:A17:b::1::\ncell:B17:t:DESCRIPTION:b:1:1:1:1:l:1:f:6:c:1:bg:3:cf:1:colspan:5:rowspan:1\ncell:C17:t::l:2:f:9\ncell:D17:t::l:2:f:9\ncell:E17:t::l:2:f:9\ncell:F17:t::l:2:f:9\ncell:G17:t:AMOUNT:b:1:1:1::l:1:f:6:c:1:bg:3:cf:1\ncell:A18:b::1::\ncell:B18:b:1:1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C18:t::l:2:f:9\ncell:D18:t::l:2:f:9\ncell:E18:t::l:2:f:9\ncell:F18:t::b::2:::l:1:f:9\ncell:G18:b::1::1:f:1:ntvf:1\ncell:A19:b::1::\ncell:B19:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C19:t::l:2:f:9\ncell:D19:t::l:2:f:9\ncell:E19:t::l:2:f:9\ncell:F19:t::b::2:::l:1:f:9\ncell:G19:b::1::1:f:1:ntvf:1\ncell:A20:b::1::\ncell:B20:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C20:t::l:2:f:9\ncell:D20:t::l:2:f:9\ncell:E20:t::l:2:f:9\ncell:F20:t::b::2:::l:1:f:9\ncell:G20:b::1::1:f:1:ntvf:1\ncell:A21:b::1::\ncell:B21:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C21:t::l:2:f:9\ncell:D21:t::l:2:f:9\ncell:E21:t::l:2:f:9\ncell:F21:t::b::2:::l:1:f:9\ncell:G21:b::1::1:f:1:ntvf:1\ncell:A22:b::1::\ncell:B22:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C22:t::l:2:f:9\ncell:D22:t::l:2:f:9\ncell:E22:t::l:2:f:9\ncell:F22:t::b::2:::l:1:f:9\ncell:G22:b::1::1:f:1:ntvf:1\ncell:A23:b::1::\ncell:B23:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C23:t::l:2:f:9\ncell:D23:t::l:2:f:9\ncell:E23:t::l:2:f:9\ncell:F23:t::b::2:::l:1:f:9\ncell:G23:b::1::1:f:1:ntvf:1\ncell:A24:b::1::\ncell:B24:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C24:t::l:2:f:9\ncell:D24:t::l:2:f:9\ncell:E24:t::l:2:f:9\ncell:F24:t::b::2:::l:1:f:9\ncell:G24:b::1::1:f:1:ntvf:1\ncell:A25:b::1::\ncell:B25:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C25:t::l:2:f:9\ncell:D25:t::l:2:f:9\ncell:E25:t::l:2:f:9\ncell:F25:t::b::2:::l:1:f:9\ncell:G25:b::1::1:f:1:ntvf:1\ncell:A26:b::1::\ncell:B26:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C26:t::l:2:f:9\ncell:D26:t::l:2:f:9\ncell:E26:t::l:2:f:9\ncell:F26:t::b::2:::l:1:f:9\ncell:G26:b::1::1:f:1:ntvf:1\ncell:A27:b::1::\ncell:B27:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C27:t::l:2:f:9\ncell:D27:t::l:2:f:9\ncell:E27:t::l:2:f:9\ncell:F27:t::b::2:::l:1:f:9\ncell:G27:b::1::1:f:1:ntvf:1\ncell:A28:b::1::\ncell:B28:b::1::1:f:1:cf:2:colspan:5:rowspan:1\ncell:C28:t::l:2:f:9\ncell:D28:t::l:2:f:9\ncell:E28:t::l:2:f:9\ncell:F28:t::b::2:::l:1:f:9\ncell:G28:b::1::1:f:1:ntvf:1\ncell:A29:b::1::\ncell:B29:b::1:1:1:f:1:cf:2:colspan:5:rowspan:1\ncell:C29:t::b:::2::l:1:f:9\ncell:D29:t::b:::2::l:1:f:9\ncell:E29:t::b:::2::l:1:f:9\ncell:F29:t::b::2:2::l:1:f:9\ncell:G29:b::1:1:1:f:1:ntvf:1\ncell:B30:b:2::::l:1:f:9\ncell:C30:b:2::::l:1:f:9\ncell:D30:b:2::::l:1:f:9\ncell:E30:b:2::::l:1:f:10\ncell:F30:t:Subtotal:b:2::::l:1:f:10\ncell:G30:vtf:n:0:SUM(G18\\cG29):b:1::::f:8:ntvf:1\ncell:B31:t:NOTES:b:::2::l:1:f:6:cf:2:colspan:3:rowspan:1\ncell:C31:t::b:::2::l:1:f:9\ncell:D31:t::b:::2::l:1:f:9\ncell:F31:t:Tax Rate:l:1:f:1\ncell:G31:v:0:f:1:ntvf:2\ncell:B32:b:1::::f:1:cf:2:colspan:3\ncell:C32:t::b:2::::l:1:f:9\ncell:D32:t::b:2::::l:1:f:9\ncell:F32:t:Tax:l:1:f:1\ncell:G32:vtf:n:0:G31*G30:f:1:ntvf:1\ncell:B33:f:1:cf:2:colspan:3\ncell:C33:t::l:2:f:9\ncell:D33:t::l:2:f:9\ncell:F33:t:Other:b:::1::l:1:f:1\ncell:G33:v:0:b:::1::f:1:ntvf:1\ncell:B34:b:::1::f:1:cf:2:colspan:3:rowspan:1\ncell:C34:t::l:2:f:9\ncell:D34:t::l:2:f:9\ncell:F34:t:TOTAL:b:2::::l:1:f:6\ncell:G34:vtf:n:0:(G30+G32)+G33:b:1::::f:5:ntvf:1\ncell:C36:tvf:4:colspan:5:rowspan:7\ncol:A:w:40\ncol:B:w:232\ncol:C:w:53\ncol:D:w:90\ncol:E:w:54\ncol:F:w:91\ncol:G:w:99\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nsheet:c:7:r:36:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncellformat:3:right\ncolor:1:rgb(0, 0, 0)\ncolor:2:rgb(0,0,0)\ncolor:3:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 10pt *\nfont:3:* 16pt Trebuchet MS\nfont:4:italic normal * Trebuchet MS\nfont:5:normal bold * Trebuchet MS\nfont:6:normal bold 10pt Trebuchet MS\nfont:7:normal bold 28pt Trebuchet MS\nfont:8:normal normal * Trebuchet MS\nfont:9:normal normal 10pt Arial\nfont:10:normal normal 10pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:36px * 28px *;vertical-align:*;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n", + }, + name: "typeiii", + hidden: "0", + }, + }, + EditableCells: { + allow: true, + cells: { + "typeiii!G9": true, + "typeiii!G10": true, + "typeiii!B2": true, + "typeiii!B3": true, + "typeiii!B4": true, + "typeiii!B5": true, + "typeiii!B6": true, + "typeiii!B7": true, + "typeiii!B8": true, + "typeiii!B9": true, + "typeiii!B11": true, + "typeiii!B12": true, + "typeiii!B13": true, + "typeiii!B14": true, + "typeiii!B15": true, + "typeiii!B18": true, + "typeiii!B19": true, + "typeiii!B20": true, + "typeiii!B21": true, + "typeiii!B22": true, + "typeiii!B23": true, + "typeiii!B24": true, + "typeiii!B25": true, + "typeiii!B26": true, + "typeiii!B27": true, + "typeiii!B28": true, + "typeiii!B29": true, + "typeiii!G18": true, + "typeiii!G19": true, + "typeiii!G20": true, + "typeiii!G21": true, + "typeiii!G22": true, + "typeiii!G23": true, + "typeiii!G24": true, + "typeiii!G25": true, + "typeiii!G26": true, + "typeiii!G27": true, + "typeiii!G28": true, + "typeiii!G29": true, + "typeiii!B32": true, + "typeiii!B33": true, + "typeiii!B34": true, + "typeiii!G31": true, + "typeiii!G33": true, + "typeiii!B37": true, + "typeiii!F10": true, + "typeiii!F9": true, + "typeiii!F4": true, + "typeiii!F2": true, + "typeiii!G30": true, + "typeiii!G34": true, + }, + constraints: {}, + }, + }, + }, + + 5004: { + template: "Tablet-Tax-Invoice-2", + templateId: 5004, + category: "Tablet", + footers: [{ name: "Invoice", index: 1, isActive: true }], + logoCell: { + sheet1: "F4", + }, + signatureCell: { + sheet1: "E36", + }, + cellMappings: { + sheet1: { + Heading: "F2", + CompanyName: "B2", + CompanySlogan: "B3", + Date: "G10", + InvoiceNumber: "G11", + From: { + StreetAddress: "B5", + CityStateZip: "B6", + Phone: "B7", + Email: "B8", + }, + BillTo: { + Name: "B11", + CompanyName: "B12", + StreetAddress: "B13", + CityStateZip: "B14", + Phone: "B15", + }, + Items: { + Name: "Items", + Heading: "Items", + Subheading: "Item", Rows: { start: 18, end: 29, @@ -1145,7 +1667,7 @@ export let DATA: { [key: number]: TemplateData } = { sheet1: { sheetstr: { savestr: - 'version:1.5\ncell:A1:l:3\ncell:B2:t:[Company Name]:l:1:f:2:cf:2:colspan:3:rowspan:1\ncell:C2:t::l:2:f:7\ncell:D2:t::l:2:f:7\ncell:F2:t:INVOICE:l:1:f:6:c:1:cf:2:colspan:2\ncell:G2:t::l:2:f:7\ncell:B3:t:[Company slogan]:f:3:cf:2:colspan:3:rowspan:1\ncell:C3:t::l:2:f:7\ncell:D3:t::l:2:f:7\ncell:B4:cf:2:colspan:3:rowspan:1\ncell:F4:tvf:4:rowspan:4\ncell:B5:t:[Street Address]:f:1:cf:2:colspan:3:rowspan:1\ncell:F5:l:1:f:5\ncell:G5:l:1:f:8:cf:1\ncell:B6:t:[City, State, Zip]:f:1:cf:2:colspan:3:rowspan:1\ncell:G6:l:1:f:7\ncell:B7:t:Phone\\c :f:1:cf:2:colspan:3:rowspan:1\ncell:B8:t:Email\\c:f:1:cf:2:colspan:3:rowspan:1\ncell:B9:cf:2:colspan:3:rowspan:1\ncell:B10:t:BILL TO\\c:l:1:f:5:bg:2:cf:2:colspan:2\ncell:F10:t:DATE\\c:l:1:f:5:cf:2\ncell:G10:l:1:f:8:cf:2:ntvf:3\ncell:B11:t:[Name]:f:1:cf:2:colspan:3:rowspan:1\ncell:F11:t:INVOICE # \\c:l:1:f:5:cf:2\ncell:G11:v:1:l:1:f:8:cf:2\ncell:B12:t:[Company Name]:f:1:cf:2:colspan:3:rowspan:1\ncell:J12:tvf:4\ncell:B13:t:[Street Address]:f:1:cf:2:colspan:3:rowspan:1\ncell:B14:t:[City, State, Zip]:f:1:cf:2:colspan:3:rowspan:1\ncell:B15:t:Phone\\c :f:1:cf:2:colspan:3:rowspan:1\ncell:B16:cf:2:colspan:3:rowspan:1\ncell:A17:b::1::\ncell:B17:t:DESCRIPTION:b:1:1:1:1:l:1:f:5:bg:2:cf:1:colspan:3:rowspan:1\ncell:C17:t::b:1::1::l:1:f:7:bg:2\ncell:D17:t::b:1::1::l:1:f:7:bg:2\ncell:E17:t:HOURS:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:F17:t:RATE:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:G17:t:AMOUNT:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:A18:b::1::\ncell:B18:b:1:1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C18:t::b:2::::l:1:f:7\ncell:D18:t::b:2:2:::l:1:f:7\ncell:E18:b:1:1::1:f:1:ntvf:1\ncell:F18:b:1:1::1:f:1:ntvf:1\ncell:G18:vtf:t::IF(E18*F18>0,E18*F18,""):b:1:1:::f:1:ntvf:1\ncell:A19:b::1::\ncell:B19:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C19:t::l:2:f:7\ncell:D19:t::b::2:::l:1:f:7\ncell:E19:b::1::1:f:1:ntvf:1\ncell:F19:b::1::1:f:1:ntvf:1\ncell:G19:vtf:t::IF(E19*F19>0,E19*F19,""):b::1:::f:1:ntvf:1\ncell:A20:b::1::\ncell:B20:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C20:t::l:2:f:7\ncell:D20:t::b::2:::l:1:f:7\ncell:E20:b::1::1:f:1:ntvf:1\ncell:F20:b::1::1:f:1:ntvf:1\ncell:G20:vtf:t::IF(E20*F20>0,E20*F20,""):b::1:::f:1:ntvf:1\ncell:A21:b::1::\ncell:B21:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C21:t::l:2:f:7\ncell:D21:t::b::2:::l:1:f:7\ncell:E21:b::1::1:f:1:ntvf:1\ncell:F21:b::1::1:f:1:ntvf:1\ncell:G21:vtf:t::IF(E21*F21>0,E21*F21,""):b::1:::f:1:ntvf:1\ncell:A22:b::1::\ncell:B22:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C22:t::l:2:f:7\ncell:D22:t::b::2:::l:1:f:7\ncell:E22:b::1::1:f:1:ntvf:1\ncell:F22:b::1::1:f:1:ntvf:1\ncell:G22:vtf:t::IF(E22*F22>0,E22*F22,""):b::1:::f:1:ntvf:1\ncell:A23:b::1::\ncell:B23:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C23:t::l:2:f:7\ncell:D23:t::b::2:::l:1:f:7\ncell:E23:b::1::1:f:1:ntvf:1\ncell:F23:b::1::1:f:1:ntvf:1\ncell:G23:vtf:t::IF(E23*F23>0,E23*F23,""):b::1:::f:1:ntvf:1\ncell:A24:b::1::\ncell:B24:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C24:t::l:2:f:7\ncell:D24:t::b::2:::l:1:f:7\ncell:E24:b::1::1:f:1:ntvf:1\ncell:F24:b::1::1:f:1:ntvf:1\ncell:G24:vtf:t::IF(E24*F24>0,E24*F24,""):b::1:::f:1:ntvf:1\ncell:A25:b::1::\ncell:B25:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C25:t::l:2:f:7\ncell:D25:t::b::2:::l:1:f:7\ncell:E25:b::1::1:f:1:ntvf:1\ncell:F25:b::1::1:f:1:ntvf:1\ncell:G25:vtf:t::IF(E25*F25>0,E25*F25,""):b::1:::f:1:ntvf:1\ncell:A26:b::1::\ncell:B26:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C26:t::l:2:f:7\ncell:D26:t::b::2:::l:1:f:7\ncell:E26:b::1::1:f:1:ntvf:1\ncell:F26:b::1::1:f:1:ntvf:1\ncell:G26:vtf:t::IF(E26*F26>0,E26*F26,""):b::1:::f:1:ntvf:1\ncell:A27:b::1::\ncell:B27:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C27:t::l:2:f:7\ncell:D27:t::b::2:::l:1:f:7\ncell:E27:b::1::1:f:1:ntvf:1\ncell:F27:b::1::1:f:1:ntvf:1\ncell:G27:vtf:t::IF(E27*F27>0,E27*F27,""):b::1:::f:1:ntvf:1\ncell:A28:b::1::\ncell:B28:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C28:t::l:2:f:7\ncell:D28:t::b::2:::l:1:f:7\ncell:E28:b::1::1:f:1:ntvf:1\ncell:F28:b::1::1:f:1:ntvf:1\ncell:G28:vtf:t::IF(E28*F28>0,E28*F28,""):b::1:::f:1:ntvf:1\ncell:A29:b::1::\ncell:B29:b::1:1:1:f:1:cf:2:colspan:3:rowspan:1\ncell:C29:t::b:::2::l:1:f:7\ncell:D29:t::b::2:2::l:1:f:7\ncell:E29:b::1:1:1:f:1:ntvf:1\ncell:F29:b::1:1:1:f:1:ntvf:1\ncell:G29:vtf:t::IF(E29*F29>0,E29*F29,""):b::1:::f:1:ntvf:1\ncell:B30:b:2::::l:1:f:8:cf:1:colspan:3:rowspan:1\ncell:C30:t::b:2::::l:1:f:7\ncell:D30:t::b:2::::l:1:f:7\ncell:E30:b:2::::l:1:f:8\ncell:F30:t:Subtotal:b:1::::f:1\ncell:G30:vtf:n:0:SUM(G18\\cG29):b:1::::f:1:ntvf:1\ncell:B31:t:NOTES:b:::2::l:1:f:5:cf:2:colspan:3:rowspan:1\ncell:C31:t::b:::2::l:1:f:7\ncell:D31:t::b:::2::l:1:f:7\ncell:F31:t:Tax Rate:f:1\ncell:G31:v:0:f:1:ntvf:2\ncell:B32:b:1::::f:1:cf:2:colspan:3:rowspan:1\ncell:C32:t::b:2::::l:1:f:7\ncell:D32:t::b:2::::l:1:f:7\ncell:F32:t:Tax:f:1\ncell:G32:vtf:n:0:G31*G30:f:1:ntvf:1\ncell:B33:f:1:cf:2:colspan:3:rowspan:1\ncell:C33:t::l:2:f:7\ncell:D33:t::l:2:f:7\ncell:F33:t:Other:b:::1::l:1:f:1\ncell:G33:v:0:b:::1::f:1:ntvf:1\ncell:B34:f:1:cf:2:colspan:3:rowspan:1\ncell:C34:t::l:2:f:7\ncell:D34:t::l:2:f:7\ncell:F34:t:TOTAL:b:1::::l:1:f:4\ncell:G34:vtf:n:0:(G30+G32)+G33:b:1::::f:4:ntvf:1\ncell:B35:b:2::::l:1:f:7\ncell:C35:b:2::::l:1:f:7\ncell:D35:b:2::::l:1:f:7\ncell:C36:tvf:4\ncell:E36:colspan:3:rowspan:4\ncol:A:w:40\ncol:B:w:194\ncol:C:w:128\ncol:D:w:60\ncol:E:w:65\ncol:F:w:95\ncol:G:w:90\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nsheet:c:10:r:36:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncolor:1:rgb(0,0,0)\ncolor:2:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 16pt Trebuchet MS\nfont:3:italic normal * Trebuchet MS\nfont:4:normal bold * Trebuchet MS\nfont:5:normal bold 10pt Trebuchet MS\nfont:6:normal bold 28pt Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 10pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:36px * 28px *;vertical-align:*;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n', + 'version:1.5\ncell:A1:l:3\ncell:B2:t:[Company Name]:l:1:f:2:cf:2:colspan:3:rowspan:1\ncell:C2:t::l:2:f:7\ncell:D2:t::l:2:f:7\ncell:F2:t:INVOICE:l:1:f:6:c:1:cf:2:colspan:2\ncell:G2:t::l:2:f:7\ncell:B3:t:[Company slogan]:f:3:cf:2:colspan:3:rowspan:1\ncell:C3:t::l:2:f:7\ncell:D3:t::l:2:f:7\ncell:B4:cf:2:colspan:3:rowspan:1\ncell:F4:tvf:4:rowspan:4\ncell:B5:t:[Street Address]:f:1:cf:2:colspan:3:rowspan:1\ncell:F5:l:1:f:5\ncell:G5:l:1:f:8:cf:1\ncell:B6:t:[City, State, Zip]:f:1:cf:2:colspan:3:rowspan:1\ncell:G6:l:1:f:7\ncell:B7:t:Phone\\c :f:1:cf:2:colspan:3:rowspan:1\ncell:B8:t:Email\\c:f:1:cf:2:colspan:3:rowspan:1\ncell:B9:cf:2:colspan:3:rowspan:1\ncell:B10:t:BILL TO\\c:l:1:f:5:bg:2:cf:2:colspan:2\ncell:F10:t:DATE\\c:l:1:f:5:cf:2\ncell:G10:l:1:f:8:cf:2:ntvf:3\ncell:B11:t:[Name]:f:1:cf:2:colspan:3:rowspan:1\ncell:F11:t:INVOICE # \\c:l:1:f:5:cf:2\ncell:G11:v:1:l:1:f:8:cf:2\ncell:B12:t:[Company Name]:f:1:cf:2:colspan:3:rowspan:1\ncell:J12:tvf:4\ncell:B13:t:[Street Address]:f:1:cf:2:colspan:3:rowspan:1\ncell:B14:t:[City, State, Zip]:f:1:cf:2:colspan:3:rowspan:1\ncell:B15:t:Phone\\c :f:1:cf:2:colspan:3:rowspan:1\ncell:B16:cf:2:colspan:3:rowspan:1\ncell:A17:b::1::\ncell:B17:t:DESCRIPTION:b:1:1:1:1:l:1:f:5:bg:2:cf:1:colspan:3:rowspan:1\ncell:C17:t::b:1::1::l:1:f:7:bg:2\ncell:D17:t::b:1::1::l:1:f:7:bg:2\ncell:E17:t:HOURS:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:F17:t:RATE:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:G17:t:AMOUNT:b:1:1:1::l:1:f:5:bg:2:cf:1\ncell:A18:b::1::\ncell:B18:b:1:1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C18:t::b:2::::l:1:f:7\ncell:D18:t::b:2:2:::l:1:f:7\ncell:E18:b:1:1::1:f:1:ntvf:1\ncell:F18:b:1:1::1:f:1:ntvf:1\ncell:G18:vtf:t::IF(E18*F18>0,E18*F18,""):b:1:1:::f:1:ntvf:1\ncell:A19:b::1::\ncell:B19:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C19:t::l:2:f:7\ncell:D19:t::b::2:::l:1:f:7\ncell:E19:b::1::1:f:1:ntvf:1\ncell:F19:b::1::1:f:1:ntvf:1\ncell:G19:vtf:t::IF(E19*F19>0,E19*F19,""):b::1:::f:1:ntvf:1\ncell:A20:b::1::\ncell:B20:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C20:t::l:2:f:7\ncell:D20:t::b::2:::l:1:f:7\ncell:E20:b::1::1:f:1:ntvf:1\ncell:F20:b::1::1:f:1:ntvf:1\ncell:G20:vtf:t::IF(E20*F20>0,E20*F20,""):b::1:::f:1:ntvf:1\ncell:A21:b::1::\ncell:B21:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C21:t::l:2:f:7\ncell:D21:t::b::2:::l:1:f:7\ncell:E21:b::1::1:f:1:ntvf:1\ncell:F21:b::1::1:f:1:ntvf:1\ncell:G21:vtf:t::IF(E21*F21>0,E21*F21,""):b::1:::f:1:ntvf:1\ncell:A22:b::1::\ncell:B22:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C22:t::l:2:f:7\ncell:D22:t::b::2:::l:1:f:7\ncell:E22:b::1::1:f:1:ntvf:1\ncell:F22:b::1::1:f:1:ntvf:1\ncell:G22:vtf:t::IF(E22*F22>0,E22*F22,""):b::1:::f:1:ntvf:1\ncell:A23:b::1::\ncell:B23:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C23:t::l:2:f:7\ncell:D23:t::b::2:::l:1:f:7\ncell:E23:b::1::1:f:1:ntvf:1\ncell:F23:b::1::1:f:1:ntvf:1\ncell:G23:vtf:t::IF(E23*F23>0,E23*F23,""):b::1:::f:1:ntvf:1\ncell:A24:b::1::\ncell:B24:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C24:t::l:2:f:7\ncell:D24:t::b::2:::l:1:f:7\ncell:E24:b::1::1:f:1:ntvf:1\ncell:F24:b::1::1:f:1:ntvf:1\ncell:G24:vtf:t::IF(E24*F24>0,E24*F24,""):b::1:::f:1:ntvf:1\ncell:A25:b::1::\ncell:B25:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C25:t::l:2:f:7\ncell:D25:t::b::2:::l:1:f:7\ncell:E25:b::1::1:f:1:ntvf:1\ncell:F25:b::1::1:f:1:ntvf:1\ncell:G25:vtf:t::IF(E25*F25>0,E25*F25,""):b::1:::f:1:ntvf:1\ncell:A26:b::1::\ncell:B26:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C26:t::l:2:f:7\ncell:D26:t::b::2:::l:1:f:7\ncell:E26:b::1::1:f:1:ntvf:1\ncell:F26:b::1::1:f:1:ntvf:1\ncell:G26:vtf:t::IF(E26*F26>0,E26*F26,""):b::1:::f:1:ntvf:1\ncell:A27:b::1::\ncell:B27:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C27:t::l:2:f:7\ncell:D27:t::b::2:::l:1:f:7\ncell:E27:b::1::1:f:1:ntvf:1\ncell:F27:b::1::1:f:1:ntvf:1\ncell:G27:vtf:t::IF(E27*F27>0,E27*F27,""):b::1:::f:1:ntvf:1\ncell:A28:b::1::\ncell:B28:b::1::1:f:1:cf:2:colspan:3:rowspan:1\ncell:C28:t::l:2:f:7\ncell:D28:t::b::2:::l:1:f:7\ncell:E28:b::1::1:f:1:ntvf:1\ncell:F28:b::1::1:f:1:ntvf:1\ncell:G28:vtf:t::IF(E28*F28>0,E28*F28,""):b::1:::f:1:ntvf:1\ncell:A29:b::1::\ncell:B29:b::1:1:1:f:1:cf:2:colspan:3:rowspan:1\ncell:C29:t::b:::2::l:1:f:7\ncell:D29:t::b::2:2::l:1:f:7\ncell:E29:b::1:1:1:f:1:ntvf:1\ncell:F29:b::1:1:1:f:1:ntvf:1\ncell:G29:vtf:t::IF(E29*F29>0,E29*F29,""):b::1:::f:1:ntvf:1\ncell:B30:b:2::::l:1:f:8:cf:1:colspan:3:rowspan:1\ncell:C30:t::b:2::::l:1:f:7\ncell:D30:t::b:2::::l:1:f:7\ncell:E30:b:2::::l:1:f:8\ncell:F30:t:Subtotal:b:1::::f:1\ncell:G30:vtf:n:0:SUM(G18\\cG29):b:1::::f:1:ntvf:1\ncell:B31:t:NOTES:b:::2::l:1:f:5:cf:2:colspan:3:rowspan:1\ncell:C31:t::b:::2::l:1:f:7\ncell:D31:t::b:::2::l:1:f:7\ncell:F31:t:Tax Rate:f:1\ncell:G31:v:0:f:1:ntvf:2\ncell:B32:b:1::::f:1:cf:2:colspan:3:rowspan:1\ncell:C32:t::b:2::::l:1:f:7\ncell:D32:t::b:2::::l:1:f:7\ncell:F32:t:Tax:f:1\ncell:G32:vtf:n:0:G31*G30:f:1:ntvf:1\ncell:B33:f:1:cf:2:colspan:3:rowspan:1\ncell:C33:t::l:2:f:7\ncell:D33:t::l:2:f:7\ncell:F33:t:Other:b:::1::l:1:f:1\ncell:G33:v:0:b:::1::f:1:ntvf:1\ncell:B34:f:1:cf:2:colspan:3:rowspan:1\ncell:C34:t::l:2:f:7\ncell:D34:t::l:2:f:7\ncell:F34:t:TOTAL:b:1::::l:1:f:4\ncell:G34:vtf:n:0:(G30+G32)+G33:b:1::::f:4:ntvf:1\ncell:B35:b:2::::l:1:f:7\ncell:C35:b:2::::l:1:f:7\ncell:D35:b:2::::l:1:f:7\ncell:C36:tvf:4\ncell:E36:tvf:4:colspan:3:rowspan:3\ncell:F36:tvf:4\ncol:A:w:40\ncol:B:w:194\ncol:C:w:128\ncol:D:w:60\ncol:E:w:65\ncol:F:w:95\ncol:G:w:90\nrow:1:h:34.5\nrow:2:h:34.5\nrow:3:h:14.25\nrow:4:h:14.25\nrow:5:h:14.25\nrow:6:h:14.25\nrow:7:h:14.25\nrow:8:h:14.25\nrow:10:h:14.25\nrow:11:h:14.25\nrow:12:h:14.25\nrow:13:h:14.25\nrow:14:h:14.25\nrow:15:h:14.25\nrow:17:h:14.25\nrow:18:h:14.25\nrow:19:h:14.25\nrow:20:h:14.25\nrow:21:h:14.25\nrow:22:h:14.25\nrow:23:h:14.25\nrow:24:h:14.25\nrow:25:h:14.25\nrow:26:h:14.25\nrow:27:h:14.25\nrow:28:h:14.25\nrow:29:h:14.25\nrow:30:h:14.25\nrow:31:h:14.25\nrow:32:h:14.25\nrow:33:h:14.25\nrow:34:h:14.25\nrow:35:h:14.25\nsheet:c:10:r:36:h:12.75\nborder:1:1px solid rgb(0,0,0)\nborder:2:thin solid rgb(0,0,0)\ncellformat:1:center\ncellformat:2:left\ncolor:1:rgb(0,0,0)\ncolor:2:rgb(221, 221, 221)\nfont:1:* * Trebuchet MS\nfont:2:* 16pt Trebuchet MS\nfont:3:italic normal * Trebuchet MS\nfont:4:normal bold * Trebuchet MS\nfont:5:normal bold 10pt Trebuchet MS\nfont:6:normal bold 28pt Trebuchet MS\nfont:7:normal normal 10pt Arial\nfont:8:normal normal 10pt Trebuchet MS\nlayout:1:padding:* * * *;vertical-align:bottom;\nlayout:2:padding:* * * *;vertical-align:middle;\nlayout:3:padding:36px * 28px *;vertical-align:*;\nvalueformat:1:#,##0.00\nvalueformat:2:#,##0.00%\nvalueformat:3:m/d/yy\nvalueformat:4:text-html\n', }, name: "typeiv", hidden: "0", @@ -1217,7 +1739,6 @@ export let DATA: { [key: number]: TemplateData } = { "typeiv!G11": true, "typeiv!F11": true, "typeiv!F10": true, - "typeiv!F4": true, "typeiv!G30": true, "typeiv!G34": true, }, diff --git a/src/utils/dynamicFormManager.ts b/src/utils/dynamicFormManager.ts index 62f68b4..a253a61 100644 --- a/src/utils/dynamicFormManager.ts +++ b/src/utils/dynamicFormManager.ts @@ -3,7 +3,7 @@ import { TemplateData, ItemsConfig } from "../templates"; export interface DynamicFormField { label: string; value: string; - type: "text" | "email" | "number" | "decimal" | "textarea"; + type: "text" | "email" | "number" | "decimal" | "textarea" | "date"; cellMapping: string; } @@ -77,9 +77,10 @@ export class DynamicFormManager { */ static getFieldType( label: string - ): "text" | "email" | "number" | "decimal" | "textarea" { + ): "text" | "email" | "number" | "decimal" | "textarea" | "date" { const lowerLabel = label.toLowerCase(); if (lowerLabel.includes("email")) return "email"; + if (lowerLabel.includes("date")) return "date"; if (lowerLabel.includes("number") || lowerLabel.includes("#")) return "number"; if ( @@ -109,14 +110,14 @@ export class DynamicFormManager { Object.entries(cellMappings).forEach(([key, value]) => { if (key === "Items" && this.isItemsConfig(value)) { - // Handle new Items structure with Name, Rows, and Columns + // Handle new Items structure with Name, Heading, Subheading, Rows, and Columns const itemsConfig = value as ItemsConfig; sections.push({ - title: itemsConfig.Name, + title: itemsConfig.Heading, fields: [], isItems: true, itemsConfig: { - name: itemsConfig.Name, + name: itemsConfig.Subheading, range: { start: itemsConfig.Rows.start, end: itemsConfig.Rows.end, @@ -180,6 +181,8 @@ export class DynamicFormManager { value && typeof value === "object" && typeof value.Name === "string" && + typeof value.Heading === "string" && + typeof value.Subheading === "string" && value.Rows && typeof value.Rows.start === "number" && typeof value.Rows.end === "number" && @@ -246,7 +249,9 @@ export class DynamicFormManager { !this.isValidEmail(value as string) ) { errors.push( - `Invalid email format in ${section.title} item ${ + `Invalid email format in ${ + section.title + } ${section.itemsConfig!.name.toLowerCase()} ${ index + 1 }: ${key}` ); @@ -299,9 +304,49 @@ export class DynamicFormManager { // Handle items with range-based cell mapping const items = formData[section.title] as any[]; - // First, clear all cells in the range by setting them to empty string + if (items && items.length > 0) { + // Process each item and only save those with meaningful data + items.forEach((item, index) => { + const rowNumber = section.itemsConfig!.range.start + index; + + // Check if this item has any meaningful data + const hasItemData = Object.values(item).some((value) => { + const trimmedValue = String(value || "").trim(); + return trimmedValue !== "" && trimmedValue !== "0"; + }); + + // Only save items that have meaningful data + if (hasItemData) { + Object.entries(section.itemsConfig!.content).forEach( + ([fieldName, columnLetter]) => { + const cellRef = `${columnLetter}${rowNumber}`; + const value = item[fieldName]; + const trimmedValue = String(value || "").trim(); + + // Only include fields that have actual content + if (trimmedValue !== "" && trimmedValue !== "0") { + cellData[cellRef] = value; + } + } + ); + } + }); + } + + // For clearing unused rows, we need to explicitly clear them + // Get the count of rows that have meaningful data + const usedRowsCount = items + ? items.filter((item) => { + return Object.values(item).some((value) => { + const trimmedValue = String(value || "").trim(); + return trimmedValue !== "" && trimmedValue !== "0"; + }); + }).length + : 0; + + // Clear any remaining rows that might have old data for ( - let rowIndex = 0; + let rowIndex = usedRowsCount; rowIndex <= section.itemsConfig.range.end - section.itemsConfig.range.start; rowIndex++ @@ -310,28 +355,17 @@ export class DynamicFormManager { Object.entries(section.itemsConfig.content).forEach( ([fieldName, columnLetter]) => { const cellRef = `${columnLetter}${rowNumber}`; - cellData[cellRef] = ""; // Clear the cell + // Only clear if we need to remove old data - mark for explicit clearing + cellData[cellRef] = ""; } ); } - - // Then, populate cells with actual data - if (items && items.length > 0) { - items.forEach((item, index) => { - const rowNumber = section.itemsConfig!.range.start + index; - Object.entries(section.itemsConfig!.content).forEach( - ([fieldName, columnLetter]) => { - const cellRef = `${columnLetter}${rowNumber}`; - cellData[cellRef] = item[fieldName] || ""; - } - ); - }); - } } else { // Handle regular fields section.fields.forEach((field) => { const value = formData[section.title]?.[field.label]; - if (value && field.cellMapping) { + const trimmedValue = String(value || "").trim(); + if (trimmedValue !== "" && field.cellMapping) { cellData[field.cellMapping] = value; } }); @@ -372,16 +406,37 @@ export class DynamicFormManager { const rawValue = cellData[cellRef] || ""; const cleanValue = this.cleanCellValue(rawValue); item[fieldName] = cleanValue; - if (cleanValue) hasData = true; + + // Check if this field has meaningful data (not empty, not just "0") + if ( + cleanValue && + cleanValue !== "0" && + cleanValue.trim() !== "" + ) { + hasData = true; + } } ); - // Only add items that have at least some data - if (hasData || rowIndex === section.itemsConfig.range.start) { + // Only add items that have meaningful data OR if it's the first row and we don't have any items yet + if ( + hasData || + (itemsArray.length === 0 && + rowIndex === section.itemsConfig.range.start) + ) { itemsArray.push(item); } } + // Ensure at least one empty item exists if no data was found + if (itemsArray.length === 0) { + const emptyItem: any = {}; + Object.keys(section.itemsConfig.content).forEach((fieldName) => { + emptyItem[fieldName] = ""; + }); + itemsArray.push(emptyItem); + } + formData[section.title] = itemsArray; } else { // Handle regular fields diff --git a/src/utils/helper.ts b/src/utils/helper.ts index ed3eddc..49ecf0a 100644 --- a/src/utils/helper.ts +++ b/src/utils/helper.ts @@ -41,7 +41,7 @@ export const isDefaultFileEmpty = (content: string): boolean => { const decodedContent = decodeURIComponent(content); parsedContent = JSON.parse(decodedContent); } catch { - console.error("Could not parse content as JSON"); + // Error logged return true; // Assume empty if we can't parse } } @@ -88,7 +88,7 @@ export const isDefaultFileEmpty = (content: string): boolean => { return true; } catch (error) { - console.error("Error checking if default file is empty:", error); + // Error logged return true; // Assume empty on error } }; @@ -170,7 +170,7 @@ export const getStorageUsageInfo = (): { percentage: (usedSpace / totalQuota) * 100, }; } catch (error) { - console.error("Error calculating storage usage:", error); + // Error logged return { used: 0, total: 0, percentage: 0 }; } }; @@ -218,7 +218,7 @@ export const isNewUser = (): boolean => { } return stored === "true"; } catch (error) { - console.warn("Error reading from localStorage:", error); + // Error logged return true; // Default to new user if localStorage fails } }; @@ -227,7 +227,7 @@ export const markUserAsExisting = (): void => { try { localStorage.setItem(USER_ONBOARDING_KEY, "false"); } catch (error) { - console.warn("Error writing to localStorage:", error); + // Error logged } }; @@ -235,6 +235,6 @@ export const resetUserOnboarding = (): void => { try { localStorage.removeItem(USER_ONBOARDING_KEY); } catch (error) { - console.warn("Error removing from localStorage:", error); + // Error logged } }; diff --git a/src/utils/settings.ts b/src/utils/settings.ts index 40db794..cf22f32 100644 --- a/src/utils/settings.ts +++ b/src/utils/settings.ts @@ -18,7 +18,7 @@ export const getSettings = (): AppSettings => { return { ...defaultSettings, ...parsed }; } } catch (error) { - console.warn("Failed to load settings from localStorage:", error); + // Error loading settings, return defaults } return defaultSettings; }; @@ -29,7 +29,7 @@ export const saveSettings = (settings: Partial): void => { const newSettings = { ...currentSettings, ...settings }; localStorage.setItem(SETTINGS_KEY, JSON.stringify(newSettings)); } catch (error) { - console.warn("Failed to save settings to localStorage:", error); + // Error saving settings } }; diff --git a/vite.config.ts b/vite.config.ts index 87c4b51..56b2a55 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -88,6 +88,7 @@ export default defineConfig({ }, esbuild: { target: "es2020", + drop: process.env.NODE_ENV === "production" ? ["console", "debugger"] : [], }, optimizeDeps: { esbuildOptions: {