diff --git a/.appbuilder-state.json b/.appbuilder-state.json deleted file mode 100644 index 6bd8c7a..0000000 --- a/.appbuilder-state.json +++ /dev/null @@ -1 +0,0 @@ -{"applicationId":"oef7g66dhqjw","applicationName":"grid landing pages","platform":"React"} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4d29575..896c543 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules +**/node_modules /.pnp .pnp.js @@ -10,6 +10,8 @@ # production /build +**/dist +**/tsconfig.tsbuildinfo # misc .DS_Store @@ -21,3 +23,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +**/.vs diff --git a/README.md b/README.md index be55216..8833933 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,6 @@ Run `npm start` to build the application, start a web server and open the applic Run `npm run build` to build the application into an output directory. -## Running unit tests - -Run `npm test` to execute the unit tests via [Vitest](https://vitest.dev/). Runs all `.test.tsx` files under `./src` folder. ## Running code style checks diff --git a/generationLogs.json b/generationLogs.json deleted file mode 100644 index de4fc85..0000000 --- a/generationLogs.json +++ /dev/null @@ -1 +0,0 @@ -[{"Text":"Component with Id 3f93ffc8-18aa-4ea3-acb2-c80823127a50 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id a8b89ecd-1b63-4286-a5b7-893a0354471c try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id e6ab092d-2237-4a4b-b847-1a61622c27fd try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id db9384fb-b8b2-42c9-8412-a10feef648e3 try to add CSS class name material-icons. Class name already exists in this view!","Type":1},{"Text":"Component with Id e8843921-647f-4dab-bb0b-11c232dc169f try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id 64222c38-a9d4-448e-b4a8-fda6a23f2cb5 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id 1b916aba-2abf-4f35-8eb6-8c4837054a6d try to add CSS class name material-icons. Class name already exists in this view!","Type":1},{"Text":"Component with Id a3b6e72a-ec01-4f60-b319-a7c92aecd0dd try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id 5bd7a64d-4bb9-41a2-abf5-3300a9c949fd try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id f71aeb5f-fbf6-491d-8e8b-1a7c3dc68d44 try to add CSS class name material-icons. Class name already exists in this view!","Type":1},{"Text":"Component with Id f0305457-ff36-4f5b-9e4f-f5925738a151 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id a010c605-14b8-4c9f-938d-22279965ece8 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id dd4be239-81ca-42a5-888c-579ae78091e6 try to add CSS class name material-icons. Class name already exists in this view!","Type":1},{"Text":"Component with Id 280fdc5b-3f1c-4d19-8dd7-dff0a11445a4 try to add CSS class name ig-scrollbar. Class name already exists in this view!","Type":1},{"Text":"Component '' with id '826df48f-2fd2-4376-bcac-daaf56423363' has property value of type 'number' which is not in the correct format.","Type":1},{"Text":"Component with Id 112a5f47-fca2-46be-9a5e-bde316fccee8 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id 692a2005-5c6e-457c-b25a-8c54c02e5945 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id e35f768d-97b4-40a6-a6ba-9ec9083e8071 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id e8a820e0-b189-44bf-912e-c78dcd9eb966 try to add CSS class name material-icons. Class name already exists in this view!","Type":1},{"Text":"Component with Id 19e304aa-28d0-4de6-baf3-aeb8594a160d try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component with Id f03fddd8-ece8-454e-8b40-7eb429db94d8 try to add CSS class name typography__body-1. Class name already exists in this view!","Type":1},{"Text":"Component '' with id '5cd92221-1e48-485d-aba5-d4c514e40be9' has property with no name. Property was not generated.","Type":1},{"Text":"Component '' with id '5cd92221-1e48-485d-aba5-d4c514e40be9' has property with no name. Property was not generated.","Type":1}] \ No newline at end of file diff --git a/ig-theme.css b/ig-theme.css deleted file mode 100644 index e980f0b..0000000 --- a/ig-theme.css +++ /dev/null @@ -1,231 +0,0 @@ -:root { - --ig-font-family: 'Titillium Web', sans-serif; -} - -/* Charts */ -:root { - --charts-default-series: #9de772, #8b5bb1, #6db1ff, #9af2e4, #ee5879, #735656, #f7d262, #a8a8b7, #e051a9, #f8a15f; -} - -igc-category-chart { - --brushes: var(--charts-default-series); - --outlines: var(--charts-default-series); - --marker-brushes: var(--charts-default-series); - --marker-outlines: var(--charts-default-series); - --negative-brushes: #ee5879; - --negative-outlines: #ee5879; - --title-text-color: var(--ig-gray-900); - --subtitle-text-color: var(--ig-gray-700); - --x-axis-label-text-color: var(--ig-gray-700); - --x-axis-title-text-color: var(--ig-gray-900); - --x-axis-stroke: var(--ig-gray-500); - --x-axis-tick-stroke: var(--ig-gray-500); - --y-axis-label-text-color: var(--ig-gray-700); - --y-axis-title-text-color: var(--ig-gray-900); - --y-axis-major-stroke: var(--ig-gray-300); - --y-axis-tick-stroke: var(--ig-gray-500); - --x-axis-label-text-style: normal 400 var(--ig-body-2-font-size) var(--ig-font-family); - --y-axis-label-text-style: normal 400 var(--ig-body-2-font-size) var(--ig-font-family); - --x-axis-title-text-style: normal 400 var(--ig-body-2-font-size) var(--ig-font-family); - --y-axis-title-text-style: normal 400 var(--ig-body-2-font-size) var(--ig-font-family); - --title-text-style: normal var(--ig-h6-font-weight) var(--ig-h6-font-size) var(--ig-font-family); - --subtitle-text-style: var(--ig-subtitle-1-font-weight) var(--ig-subtitle-1-font-size) var(--ig-font-family); -} - -igc-pie-chart { - --brushes: var(--charts-default-series); - --outlines: var(--charts-default-series); - --label-extent: 30; - --label-outer-color: var(--ig-gray-700); - --text-style: normal 400 var(--ig-body-2-font-size) var(--ig-font-family); -} - -/* Typography */ -h1 { - font-family: var(--ig-h1-font-family); - font-weight: var(--ig-h1-font-weight); - font-size: var(--ig-h1-font-size); - font-style: var(--ig-h1-font-style); - letter-spacing: var(--ig-h1-letter-spacing); - text-transform: var(--ig-h1-text-transform); - line-height: var(--ig-h1-line-height); - margin: 0; -} - -h2 { - font-family: var(--ig-h2-font-family); - font-weight: var(--ig-h2-font-weight); - font-size: var(--ig-h2-font-size); - font-style: var(--ig-h2-font-style); - letter-spacing: var(--ig-h2-letter-spacing); - text-transform: var(--ig-h2-text-transform); - line-height: var(--ig-h2-line-height); - margin: 0; -} - -h3 { - font-family: var(--ig-h3-font-family); - font-weight: var(--ig-h3-font-weight); - font-size: var(--ig-h3-font-size); - font-style: var(--ig-h3-font-style); - letter-spacing: var(--ig-h3-letter-spacing); - text-transform: var(--ig-h3-text-transform); - line-height: var(--ig-h3-line-height); - margin: 0; -} - -h4 { - font-family: var(--ig-h4-font-family); - font-weight: var(--ig-h4-font-weight); - font-size: var(--ig-h4-font-size); - font-style: var(--ig-h4-font-style); - letter-spacing: var(--ig-h4-letter-spacing); - text-transform: var(--ig-h4-text-transform); - line-height: var(--ig-h4-line-height); - margin: 0; -} - -h5 { - font-family: var(--ig-h5-font-family); - font-weight: var(--ig-h5-font-weight); - font-size: var(--ig-h5-font-size); - font-style: var(--ig-h5-font-style); - letter-spacing: var(--ig-h5-letter-spacing); - text-transform: var(--ig-h5-text-transform); - line-height: var(--ig-h5-line-height); - margin: 0; -} - -h6 { - font-family: var(--ig-h6-font-family); - font-weight: var(--ig-h6-font-weight); - font-size: var(--ig-h6-font-size); - font-style: var(--ig-h6-font-style); - letter-spacing: var(--ig-h6-letter-spacing); - text-transform: var(--ig-h6-text-transform); - line-height: var(--ig-h6-line-height); - margin: 0; -} - -p { - margin: 0; -} - -img, video { - height: auto; - max-width: 100%; -} - -.image_1 { - max-width: 100%; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -.h6, -igc-card-header h1[slot='title'], -igc-card-header h2[slot='title'], -igc-card-header h3[slot='title'], -igc-card-header h4[slot='title'], -igc-card-header h5[slot='title'] { - font-family: var(--ig-h6-font-family); - font-weight: var(--ig-h6-font-weight); - font-size: var(--ig-h6-font-size); - font-style: var(--ig-h6-font-style); - letter-spacing: var(--ig-h6-letter-spacing); - text-transform: var(--ig-h6-text-transform); - line-height: var(--ig-h6-line-height); -} - -.typography__body-1 { - font-family: var(--ig-body-1-font-family); - font-weight: var(--ig-body-1-font-weight); - font-size: var(--ig-body-1-font-size); - font-style: var(--ig-body-1-font-style); - letter-spacing: var(--ig-body-1-letter-spacing); - text-transform: var(--ig-body-1-text-transform); - line-height: var(--ig-body-1-line-height); -} - -.typography__body-2 { - font-family: var(--ig-body-2-font-family); - font-weight: var(--ig-body-2-font-weight); - font-size: var(--ig-body-2-font-size); - font-style: var(--ig-body-2-font-style); - letter-spacing: var(--ig-body-2-letter-spacing); - text-transform: var(--ig-body-2-text-transform); - line-height: var(--ig-body-2-line-height); - margin: 0; -} - -.typography__subtitle-1 { - font-family: var(--ig-subtitle-1-font-family); - font-weight: var(--ig-subtitle-1-font-weight); - font-size: var(--ig-subtitle-1-font-size); - font-style: var(--ig-subtitle-1-font-style); - letter-spacing: var(--ig-subtitle-1-letter-spacing); - text-transform: var(--ig-subtitle-1-text-transform); - line-height: var(--ig-subtitle-1-line-height); -} - -.typography__subtitle-2, -igc-card-header h1[slot='subtitle'], -igc-card-header h2[slot='subtitle'], -igc-card-header h3[slot='subtitle'], -igc-card-header h4[slot='subtitle'], -igc-card-header h5[slot='subtitle'], -igc-card-header h6[slot='subtitle'] { - font-family: var(--ig-subtitle-2-font-family); - font-weight: var(--ig-subtitle-2-font-weight); - font-size: var(--ig-subtitle-2-font-size); - font-style: var(--ig-subtitle-2-font-style); - letter-spacing: var(--ig-subtitle-2-letter-spacing); - text-transform: var(--ig-subtitle-2-text-transform); - line-height: var(--ig-subtitle-2-line-height); - margin: 0; -} - -.typography__caption { - font-family: var(--ig-caption-font-family); - font-weight: var(--ig-caption-font-weight); - font-size: var(--ig-caption-font-size); - font-style: var(--ig-caption-font-style); - letter-spacing: var(--ig-caption-letter-spacing); - text-transform: var(--ig-caption-text-transform); - line-height: var(--ig-caption-line-height); -} - -.typography__overline { - font-family: var(--ig-overline-font-family); - font-weight: var(--ig-overline-font-weight); - font-size: var(--ig-overline-font-size); - font-style: var(--ig-overline-font-style); - letter-spacing: var(--ig-overline-letter-spacing); - text-transform: var(--ig-overline-text-transform); - line-height: var(--ig-overline-line-height); -} - -/* align icons in their containers */ -.material-icons, .imx-icon { - vertical-align: middle; -} - -.ig-typography h1, -.ig-typography h2, -.ig-typography h3, -.ig-typography h4, -.ig-typography h5, -.ig-typography h6, -.ig-typography p, -.ig-typography__body-1 { - margin: 0 !important; -} - -igc-button .imx-icon, igc-icon-button .imx-icon { - /* adjust icon size when projected in other components */ - --size: 1.125rem; -} diff --git a/index.html b/index.html index be7c9da..985a730 100644 --- a/index.html +++ b/index.html @@ -10,26 +10,12 @@ grid landing pages + - - - - - - + -
- +
diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..12acfe6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6416 @@ +{ + "name": "grid-landing-pages", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "grid-landing-pages", + "version": "0.1.0", + "dependencies": { + "element-internals-polyfill": "^1.3.10", + "functions-have-names": "^1.2.3", + "igniteui-react": "19.0.0-alpha.4", + "igniteui-react-core": "19.0.0-alpha.0", + "igniteui-react-grids": "19.0.0-alpha.4", + "react": "^18.2.0", + "react-app-polyfill": "^0.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.16.0", + "resize-observer-polyfill": "^1.5.1" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@typescript-eslint/eslint-plugin": "^8.21.0", + "@typescript-eslint/parser": "^8.21.0", + "@vitejs/plugin-react": "^4.0.3", + "eslint": "^9.20.0", + "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-react-refresh": "^0.4.3", + "igniteui-cli": "~14.3.16", + "jsdom": "^22.1.0", + "sass": "^1.86.3", + "typescript": "~5.5.4", + "vite": "^6.2.5", + "vite-plugin-static-copy": "^2.3.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", + "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.13.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@igniteui/angular-templates": { + "version": "19.1.14316", + "resolved": "https://registry.npmjs.org/@igniteui/angular-templates/-/angular-templates-19.1.14316.tgz", + "integrity": "sha512-Jion9hChbAFe4lzXZn6/Bvk4NrJ3LzK9mwgfaCHFtjkyswRh8onsGI5A1MXgbFqyG+o3vWsibZrpG7GRSp6qbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@igniteui/cli-core": "~14.3.16", + "typescript": "~5.5.4" + } + }, + "node_modules/@igniteui/cli-core": { + "version": "14.3.16", + "resolved": "https://registry.npmjs.org/@igniteui/cli-core/-/cli-core-14.3.16.tgz", + "integrity": "sha512-dir7+eoWRKNi3CA7HB69oIqepYOBL9WgA2+HFpzWc5aRCBSKy7F76qmJKv2QdyhzybnIzRLjKsiNTmgyzY8Vwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/prompts": "~5.4.0", + "chalk": "^2.3.2", + "glob": "^11.0.0", + "through2": "^2.0.3", + "typescript": "~5.5.4" + } + }, + "node_modules/@igniteui/cli-core/node_modules/@inquirer/prompts": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.4.0.tgz", + "integrity": "sha512-HIQGd7JOX6WXf7zg7WGs+1m+e3eRFyL4mDtWRlV01AXqZido9W3BSoku2BR4E1lK/NCXok6jg6tTcLw4I0thfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^2.5.0", + "@inquirer/confirm": "^3.2.0", + "@inquirer/editor": "^2.2.0", + "@inquirer/expand": "^2.2.0", + "@inquirer/input": "^2.3.0", + "@inquirer/number": "^1.1.0", + "@inquirer/password": "^2.2.0", + "@inquirer/rawlist": "^2.3.0", + "@inquirer/search": "^1.1.0", + "@inquirer/select": "^2.5.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@igniteui/cli-core/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@igniteui/cli-core/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@igniteui/cli-core/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@igniteui/cli-core/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@igniteui/cli-core/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@igniteui/cli-core/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@igniteui/cli-core/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@igniteui/cli-core/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@igniteui/cli-core/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/@igniteui/cli-core/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@igniteui/cli-core/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.5.0.tgz", + "integrity": "sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.2.0.tgz", + "integrity": "sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.5.5", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz", + "integrity": "sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.3.0.tgz", + "integrity": "sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", + "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.3.0.tgz", + "integrity": "sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/number": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.1.0.tgz", + "integrity": "sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.2.0.tgz", + "integrity": "sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.5.0.tgz", + "integrity": "sha512-BHDeL0catgHdcHbSFFUddNzvx/imzJMft+tWDPwTm3hfu8/tApk1HrooNngB2Mb4qY+KaRWF+iZqoVUPeslEog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^2.5.0", + "@inquirer/confirm": "^3.2.0", + "@inquirer/editor": "^2.2.0", + "@inquirer/expand": "^2.3.0", + "@inquirer/input": "^2.3.0", + "@inquirer/number": "^1.1.0", + "@inquirer/password": "^2.2.0", + "@inquirer/rawlist": "^2.3.0", + "@inquirer/search": "^1.1.0", + "@inquirer/select": "^2.5.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.3.0.tgz", + "integrity": "sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/search": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.1.0.tgz", + "integrity": "sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.5.0.tgz", + "integrity": "sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", + "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit-labs/virtualizer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@lit-labs/virtualizer/-/virtualizer-2.1.0.tgz", + "integrity": "sha512-I79sNaalK9rD6FWO/AoxBMnA6jjNBrQu7F6lzz8W/GkQLcqveMWK3IrJAilso+XeFFn7BvlxBv6FqZaoMt+Qkg==", + "license": "BSD-3-Clause", + "dependencies": { + "lit": "^3.2.0", + "tslib": "^2.0.3" + } + }, + "node_modules/@lit/context": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.4.tgz", + "integrity": "sha512-0b8wOWNUPcXjGHFtVP+odwhrZBZw+PpCjKWn8IGO10iHT95Xd6FcUAxe1aE7PUtOBvHZoxvrfdBzweYnDW7VNQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.6.2 || ^2.0.0" + } + }, + "node_modules/@lit/react": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.7.tgz", + "integrity": "sha512-cencnwwLXQKiKxjfFzSgZRngcWJzUDZi/04E0fSaF86wZgchMdvTyu+lE36DrUfvuus3bH8+xLPrhM1cTjwpzw==", + "license": "BSD-3-Clause", + "peerDependencies": { + "@types/react": "17 || 18 || 19" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", + "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "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", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "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" + } + }, + "node_modules/@nodelib/fs.walk": { + "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", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", + "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", + "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", + "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", + "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", + "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", + "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", + "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", + "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", + "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", + "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", + "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", + "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", + "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", + "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", + "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", + "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", + "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", + "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", + "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", + "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "22.13.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", + "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.20", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz", + "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.6.tgz", + "integrity": "sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", + "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/type-utils": "8.29.0", + "@typescript-eslint/utils": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", + "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", + "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", + "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/utils": "8.29.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", + "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", + "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", + "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.29.0", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/asynckit": { + "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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind-apply-helpers": { + "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", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001707", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", + "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", + "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "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" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dunder-proto": { + "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", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.129", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.129.tgz", + "integrity": "sha512-JlXUemX4s0+9f8mLqib/bHH8gOHf5elKS6KeWG3sk3xozb/JTq/RLXIv8OKUWiK4Ah00Wm88EFj5PYkFr4RUPA==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-internals-polyfill": { + "version": "1.3.13", + "resolved": "https://registry.npmjs.org/element-internals-polyfill/-/element-internals-polyfill-1.3.13.tgz", + "integrity": "sha512-viZ7wJsvh6eFwGQX512zEaccK/c6RRFSerJsdkfe3DW/ZtruvNeOR33fpPZgfXxvqRdU2lK33KM4S6GqaTgVKQ==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "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" + } + }, + "node_modules/es-errors": { + "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" + } + }, + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "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", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", + "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.2.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.23.0", + "@eslint/plugin-kit": "^0.2.7", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.19.tgz", + "integrity": "sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "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", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "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" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "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" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "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", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "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", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/igniteui-cli": { + "version": "14.3.16", + "resolved": "https://registry.npmjs.org/igniteui-cli/-/igniteui-cli-14.3.16.tgz", + "integrity": "sha512-qa9WmLa/bsvv+hYjzlOf9uYFIE3eeJDClIQuMGOsG60cpHPHSrJbSzXxuT4QdFoE+YCmUe1uUHJ7ACoLxCY4gw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@igniteui/angular-templates": "~19.1.14316", + "@igniteui/cli-core": "~14.3.16", + "@inquirer/prompts": "^5.4.0", + "@types/yargs": "^17.0.33", + "chalk": "^5.3.0", + "glob": "^11.0.0", + "open": "^10.1.0", + "resolve": "^1.22.8", + "through2": "^4.0.2", + "typescript": "~5.5.4", + "yargs": "^17.7.2" + }, + "bin": { + "ig": "bin/execute.js", + "igniteui": "bin/execute.js" + } + }, + "node_modules/igniteui-cli/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/igniteui-dockmanager": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/igniteui-dockmanager/-/igniteui-dockmanager-1.16.1.tgz", + "integrity": "sha512-4sZUTe7kaN5D25wbGDcUOR+m2bseP4LjCZWCKz6h7osbUqdXRPCeXdh2MA9OVUimYXBCaeDVtENLbBAqRXpAiQ==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "igniteui-trial-watermark": "^1.0.3" + } + }, + "node_modules/igniteui-react": { + "version": "19.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/igniteui-react/-/igniteui-react-19.0.0-alpha.4.tgz", + "integrity": "sha512-6TR8UT7l4GKYObsLkHMINyTARZnEV3JDtN3I42VQdjVDstVE9D/WDyazr66JQ5/vZzzhJ/QiMgL95xyskoKS5A==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "@lit/react": "^1.0.7", + "igniteui-dockmanager": "~1.16.0", + "igniteui-webcomponents": "~5.3.0", + "lit": "^3.2.1" + } + }, + "node_modules/igniteui-react-core": { + "version": "19.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/igniteui-react-core/-/igniteui-react-core-19.0.0-alpha.0.tgz", + "integrity": "sha512-uQ28eL0n/lt7AWJf/M55jvDKPJKEZBcUGaHo+KEXqy/kzlDGx8vq1XnLSfmlL/OhIh/FN+nl0BzQ/FyABwTemA==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/igniteui-react-grids": { + "version": "19.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/igniteui-react-grids/-/igniteui-react-grids-19.0.0-alpha.4.tgz", + "integrity": "sha512-q+dM9wdVtoL7xi5wpVSEl5Kk9EhZnruCMi6tdmNnJh4MknxH8IQRsk5+Oz03A8loMwapHiAd4LJs8usy8VEkeA==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "@lit/react": "^1.0.7", + "igniteui-webcomponents-grids": "~5.4.0-beta.0", + "lit": "^3.2.1" + } + }, + "node_modules/igniteui-trial-watermark": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/igniteui-trial-watermark/-/igniteui-trial-watermark-1.0.3.tgz", + "integrity": "sha512-q6thtu+7R6MOB+i9GorFPCcWeOImW43BzCAtKnDAYWwaoueb8Lg1EhBkIhAyfEIH+yZ/9c5lnZdU61/GRPoP+g==", + "license": "Apache-2.0" + }, + "node_modules/igniteui-webcomponents": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-5.3.0.tgz", + "integrity": "sha512-K5PPwfT2ECp/W3+mNapt1HW6PRIQK7DkehK4SbsCc513LwTzBL1gfHYax0Hk3eiPJP2M/8ANBJ3yDZdRy6YzXQ==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@floating-ui/dom": "^1.6.0", + "@lit-labs/virtualizer": "^2.1.0", + "@lit/context": "^1.1.0", + "lit": "^3.2.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/igniteui-webcomponents-core": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-core/-/igniteui-webcomponents-core-5.4.0-beta.0.tgz", + "integrity": "sha512-dNpf+KPAkxdxeindM3HAVJ1Pk6YfbqHDfT6W+Ryqd2WWO7iRq3oCwnfgSfoietmWrLG1a5pmTsqGCLMdXnQUtg==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "lit-html": "^3.2.0" + } + }, + "node_modules/igniteui-webcomponents-grids": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-grids/-/igniteui-webcomponents-grids-5.4.0-beta.0.tgz", + "integrity": "sha512-6JBbPaULfcBDoSVIVv1t9fPy/vnaMtTiYlAagAMlKVllm1DZ64RQ4N4KmJcsM+HOqDAhqzkh+utvDQ3y08Nz+A==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "igniteui-webcomponents-core": "5.4.0-beta.0", + "igniteui-webcomponents-inputs": "5.4.0-beta.0", + "igniteui-webcomponents-layouts": "5.4.0-beta.0" + } + }, + "node_modules/igniteui-webcomponents-inputs": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-inputs/-/igniteui-webcomponents-inputs-5.4.0-beta.0.tgz", + "integrity": "sha512-zl4o3k7Cvo4k8ITzAmBW35WdP0KigPD8jSd8t4+7qVjuqD1f7BzMAcaPWdyK1nsJrY34WkyCMoIStGCo53zWvQ==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "igniteui-webcomponents-core": "5.4.0-beta.0" + } + }, + "node_modules/igniteui-webcomponents-layouts": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-layouts/-/igniteui-webcomponents-layouts-5.4.0-beta.0.tgz", + "integrity": "sha512-kFAJJxi+KqYsQq93MvgRh07S2T4HWYiar4BOGhjwHTuNCW1t7JB16oJkGpBAnKd4EQxLpHiMZprOYOq/UNLWKg==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "igniteui-webcomponents-core": "5.4.0-beta.0", + "igniteui-webcomponents-inputs": "5.4.0-beta.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz", + "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "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" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "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" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.0.tgz", + "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lit": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz", + "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.0.4", + "lit-element": "^4.1.0", + "lit-html": "^3.2.0" + } + }, + "node_modules/lit-element": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.1.tgz", + "integrity": "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit/reactive-element": "^2.0.4", + "lit-html": "^3.2.0" + } + }, + "node_modules/lit-html": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", + "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "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" + } + }, + "node_modules/micromatch": { + "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", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "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" + } + }, + "node_modules/mime-types": { + "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" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.2.tgz", + "integrity": "sha512-EIyzM39FpVOMbqgzEHhxdrEhtOSDOtjMZQ0M6iVfCE+kWNgCkAyOdnuCWqfmflylftfadU6FkiMgHZA2kUzwRw==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "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", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-0.2.2.tgz", + "integrity": "sha512-mAYn96B/nB6kWG87Ry70F4D4rsycU43VYTj3ZCbKP+SLJXwC0x6YCbwcICh3uW8/C9s1VgP197yx+w7SCWeDdQ==", + "license": "MIT", + "dependencies": { + "core-js": "2.6.4", + "object-assign": "4.1.1", + "promise": "8.0.2", + "raf": "3.4.1", + "whatwg-fetch": "3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", + "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", + "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.0", + "react-router": "6.30.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "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", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.39.0.tgz", + "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.39.0", + "@rollup/rollup-android-arm64": "4.39.0", + "@rollup/rollup-darwin-arm64": "4.39.0", + "@rollup/rollup-darwin-x64": "4.39.0", + "@rollup/rollup-freebsd-arm64": "4.39.0", + "@rollup/rollup-freebsd-x64": "4.39.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", + "@rollup/rollup-linux-arm-musleabihf": "4.39.0", + "@rollup/rollup-linux-arm64-gnu": "4.39.0", + "@rollup/rollup-linux-arm64-musl": "4.39.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-musl": "4.39.0", + "@rollup/rollup-linux-s390x-gnu": "4.39.0", + "@rollup/rollup-linux-x64-gnu": "4.39.0", + "@rollup/rollup-linux-x64-musl": "4.39.0", + "@rollup/rollup-win32-arm64-msvc": "4.39.0", + "@rollup/rollup-win32-ia32-msvc": "4.39.0", + "@rollup/rollup-win32-x64-msvc": "4.39.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "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", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.86.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz", + "integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "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" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz", + "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-plugin-static-copy": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-2.3.1.tgz", + "integrity": "sha512-EfsPcBm3ewg3UMG8RJaC0ADq6/qnUZnokXx4By4+2cAcipjT9i0Y0owIJGqmZI7d6nxk4qB1q5aXOwNuSyPdyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.3", + "fast-glob": "^3.2.11", + "fs-extra": "^11.1.0", + "p-map": "^7.0.3", + "picocolors": "^1.0.0" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/vite-plugin-static-copy/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/vite-plugin-static-copy/node_modules/glob-parent": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/vite-plugin-static-copy/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index e38acf8..9309cc8 100644 --- a/package.json +++ b/package.json @@ -3,21 +3,25 @@ "version": "0.1.0", "private": true, "type": "module", + "scripts": { + "start": "vite", + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview", + "lint": "eslint . --report-unused-disable-directives --max-warnings 0", + "test": "vitest" + }, "dependencies": { - "@igniteui/material-icons-extended": "^3.0.0", - "@testing-library/jest-dom": "^6.1.3", - "@testing-library/react": "^14.0.0", "element-internals-polyfill": "^1.3.10", "functions-have-names": "^1.2.3", - "igniteui-react": "18.8.1", - "igniteui-react-core": "18.8.1", - "igniteui-react-grids": "18.8.1", + "igniteui-react": "19.0.0-alpha.4", + "igniteui-react-core": "19.0.0-alpha.0", + "igniteui-react-grids": "19.0.0-alpha.4", "react": "^18.2.0", "react-app-polyfill": "^0.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.16.0", - "resize-observer-polyfill": "^1.5.1", - "vitest": "^0.34.4" + "resize-observer-polyfill": "^1.5.1" }, "devDependencies": { "@types/react": "^18.2.15", @@ -28,18 +32,12 @@ "eslint": "^9.20.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.3", + "igniteui-cli": "~14.3.16", "jsdom": "^22.1.0", + "sass": "^1.86.3", "typescript": "~5.5.4", - "vite": "^4.4.9", - "vitest-canvas-mock": "^0.3.3", - "igniteui-cli": "~14.3.16" - }, - "scripts": { - "start": "vite", - "build": "tsc && node --max-old-space-size=4096 node_modules/vite/bin/vite build", - "preview": "vite preview", - "lint": "eslint . --report-unused-disable-directives --max-warnings 0", - "test": "vitest" + "vite": "^6.2.5", + "vite-plugin-static-copy": "^2.3.1" }, "browserslist": [ ">0.2%", diff --git a/projects/sales-grid/.editorconfig b/projects/sales-grid/.editorconfig new file mode 100644 index 0000000..59d9a3a --- /dev/null +++ b/projects/sales-grid/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/projects/sales-grid/.gitignore b/projects/sales-grid/.gitignore new file mode 100644 index 0000000..d1b13e2 --- /dev/null +++ b/projects/sales-grid/.gitignore @@ -0,0 +1,26 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/dist +tsconfig.tsbuildinfo + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +.vs diff --git a/projects/sales-grid/README.md b/projects/sales-grid/README.md new file mode 100644 index 0000000..587920e --- /dev/null +++ b/projects/sales-grid/README.md @@ -0,0 +1,27 @@ +# Sales Grid App + +## Development server + +Run `npm start` to build the application, start a web server and open the application in the default browser. The application will open in `http://localhost:3003/` by default. + +## Build + +Run `npm run build` to build the application into an output directory. + +## Running unit tests + +Run `npm test` to execute the unit tests via [Vitest](https://vitest.dev/). Runs all `.test.tsx` files under `./src` folder. + +## Running code style checks + +Run `npm run lint` to execute the code styling rules for the project. + +## Licensing + +See the [License FAQ and Installation documentation](https://www.infragistics.com/products/ignite-ui-react/react/components/general-licensing) for information on how to upgrade to the full licensed package, if the project is using a Trial version of Ignite UI for React, and how to setup your environment and CI to use our licensed npm feed. + +Alternatively run `npm run infragistics-login` for a guided login to our licensed feed. + +## Additional resources + +- [Ignite UI for React](https://www.infragistics.com/products/ignite-ui-react) - to learn more about the product or to dive into component specifics and showcases. diff --git a/projects/sales-grid/eslint.config.js b/projects/sales-grid/eslint.config.js new file mode 100644 index 0000000..092408a --- /dev/null +++ b/projects/sales-grid/eslint.config.js @@ -0,0 +1,28 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' + +export default tseslint.config( + { ignores: ['dist'] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +) diff --git a/projects/sales-grid/index.html b/projects/sales-grid/index.html new file mode 100644 index 0000000..0c6f8a9 --- /dev/null +++ b/projects/sales-grid/index.html @@ -0,0 +1,16 @@ + + + + + Sales Grid App + + + + + + + +
+ + + diff --git a/projects/sales-grid/index.scss b/projects/sales-grid/index.scss new file mode 100644 index 0000000..c6be0ed --- /dev/null +++ b/projects/sales-grid/index.scss @@ -0,0 +1,34 @@ +body { + background: hsla(var(--ig-surface-500, 0 0% 100%)); + color: var(--ig-surface-500-contrast, black); + font-family: var(--ig-font-family); + padding: 0; + /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +html, body, #root { + height: 100%; +} + +/* minor CSS reset */ +body, h1, h2, h3, h4, h5, h6, p { + margin: 0; +} + +html { + box-sizing: border-box; +} + +img, video { + height: auto; + max-width: 100%; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", + monospace; +} diff --git a/projects/sales-grid/package-lock.json b/projects/sales-grid/package-lock.json new file mode 100644 index 0000000..1778e2c --- /dev/null +++ b/projects/sales-grid/package-lock.json @@ -0,0 +1,4773 @@ +{ + "name": "sales-grid-app", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "sales-grid-app", + "version": "0.1.0", + "dependencies": { + "element-internals-polyfill": "^3.0.0", + "functions-have-names": "^1.2.3", + "igniteui-react": "19.0.0-alpha.4", + "igniteui-react-core": "19.0.0-alpha.0", + "igniteui-react-grids": "19.0.0-alpha.4", + "react": "^19.1.0", + "react-app-polyfill": "^3.0.0", + "react-dom": "^19.1.0", + "react-router": "^7.5.0" + }, + "devDependencies": { + "@types/react": "^19.1.0", + "@types/react-dom": "^19.1.1", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.23.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.3", + "jsdom": "^22.1.0", + "sass": "^1.86.3", + "typescript": "~5.7.2", + "typescript-eslint": "^8.24.1", + "vite": "^6.2.5" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz", + "integrity": "sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.13.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", + "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit-labs/virtualizer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@lit-labs/virtualizer/-/virtualizer-2.1.0.tgz", + "integrity": "sha512-I79sNaalK9rD6FWO/AoxBMnA6jjNBrQu7F6lzz8W/GkQLcqveMWK3IrJAilso+XeFFn7BvlxBv6FqZaoMt+Qkg==", + "license": "BSD-3-Clause", + "dependencies": { + "lit": "^3.2.0", + "tslib": "^2.0.3" + } + }, + "node_modules/@lit/context": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.4.tgz", + "integrity": "sha512-0b8wOWNUPcXjGHFtVP+odwhrZBZw+PpCjKWn8IGO10iHT95Xd6FcUAxe1aE7PUtOBvHZoxvrfdBzweYnDW7VNQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.6.2 || ^2.0.0" + } + }, + "node_modules/@lit/react": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.7.tgz", + "integrity": "sha512-cencnwwLXQKiKxjfFzSgZRngcWJzUDZi/04E0fSaF86wZgchMdvTyu+lE36DrUfvuus3bH8+xLPrhM1cTjwpzw==", + "license": "BSD-3-Clause", + "peerDependencies": { + "@types/react": "17 || 18 || 19" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", + "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "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", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "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" + } + }, + "node_modules/@nodelib/fs.walk": { + "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", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", + "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", + "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", + "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", + "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", + "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", + "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", + "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", + "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", + "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", + "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", + "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", + "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", + "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", + "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", + "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", + "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", + "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", + "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", + "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", + "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz", + "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.2.tgz", + "integrity": "sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz", + "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/type-utils": "8.29.1", + "@typescript-eslint/utils": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz", + "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/typescript-estree": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz", + "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz", + "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.29.1", + "@typescript-eslint/utils": "8.29.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz", + "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz", + "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz", + "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/typescript-estree": "8.29.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz", + "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.29.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/asynckit": { + "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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind-apply-helpers": { + "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", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001712", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001712.tgz", + "integrity": "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/core-js": { + "version": "3.41.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.41.0.tgz", + "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "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" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dunder-proto": { + "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", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.134", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.134.tgz", + "integrity": "sha512-zSwzrLg3jNP3bwsLqWHmS5z2nIOQ5ngMnfMZOWWtXnqqQkPVyOipxK98w+1beLw1TB+EImPNcG8wVP/cLVs2Og==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-internals-polyfill": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/element-internals-polyfill/-/element-internals-polyfill-3.0.1.tgz", + "integrity": "sha512-gHt0mrRy/y7VIymHIcq1U/IZOci3Z8qUy/YyMBSoSIfMHqO4v6Sm6igGpoFeljroo0Q2wjkInUafB79M6WAocQ==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "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" + } + }, + "node_modules/es-errors": { + "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" + } + }, + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "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", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz", + "integrity": "sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.24.0", + "@eslint/plugin-kit": "^0.2.7", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.19.tgz", + "integrity": "sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "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", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "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" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "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" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "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", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "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", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/igniteui-dockmanager": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/igniteui-dockmanager/-/igniteui-dockmanager-1.16.1.tgz", + "integrity": "sha512-4sZUTe7kaN5D25wbGDcUOR+m2bseP4LjCZWCKz6h7osbUqdXRPCeXdh2MA9OVUimYXBCaeDVtENLbBAqRXpAiQ==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "igniteui-trial-watermark": "^1.0.3" + } + }, + "node_modules/igniteui-react": { + "version": "19.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/igniteui-react/-/igniteui-react-19.0.0-alpha.4.tgz", + "integrity": "sha512-6TR8UT7l4GKYObsLkHMINyTARZnEV3JDtN3I42VQdjVDstVE9D/WDyazr66JQ5/vZzzhJ/QiMgL95xyskoKS5A==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "@lit/react": "^1.0.7", + "igniteui-dockmanager": "~1.16.0", + "igniteui-webcomponents": "~5.3.0", + "lit": "^3.2.1" + } + }, + "node_modules/igniteui-react-core": { + "version": "19.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/igniteui-react-core/-/igniteui-react-core-19.0.0-alpha.0.tgz", + "integrity": "sha512-uQ28eL0n/lt7AWJf/M55jvDKPJKEZBcUGaHo+KEXqy/kzlDGx8vq1XnLSfmlL/OhIh/FN+nl0BzQ/FyABwTemA==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/igniteui-react-grids": { + "version": "19.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/igniteui-react-grids/-/igniteui-react-grids-19.0.0-alpha.4.tgz", + "integrity": "sha512-q+dM9wdVtoL7xi5wpVSEl5Kk9EhZnruCMi6tdmNnJh4MknxH8IQRsk5+Oz03A8loMwapHiAd4LJs8usy8VEkeA==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "@lit/react": "^1.0.7", + "igniteui-webcomponents-grids": "~5.4.0-beta.0", + "lit": "^3.2.1" + } + }, + "node_modules/igniteui-trial-watermark": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/igniteui-trial-watermark/-/igniteui-trial-watermark-1.0.3.tgz", + "integrity": "sha512-q6thtu+7R6MOB+i9GorFPCcWeOImW43BzCAtKnDAYWwaoueb8Lg1EhBkIhAyfEIH+yZ/9c5lnZdU61/GRPoP+g==", + "license": "Apache-2.0" + }, + "node_modules/igniteui-webcomponents": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-5.3.0.tgz", + "integrity": "sha512-K5PPwfT2ECp/W3+mNapt1HW6PRIQK7DkehK4SbsCc513LwTzBL1gfHYax0Hk3eiPJP2M/8ANBJ3yDZdRy6YzXQ==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@floating-ui/dom": "^1.6.0", + "@lit-labs/virtualizer": "^2.1.0", + "@lit/context": "^1.1.0", + "lit": "^3.2.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/igniteui-webcomponents-core": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-core/-/igniteui-webcomponents-core-5.4.0-beta.0.tgz", + "integrity": "sha512-dNpf+KPAkxdxeindM3HAVJ1Pk6YfbqHDfT6W+Ryqd2WWO7iRq3oCwnfgSfoietmWrLG1a5pmTsqGCLMdXnQUtg==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "lit-html": "^3.2.0" + } + }, + "node_modules/igniteui-webcomponents-grids": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-grids/-/igniteui-webcomponents-grids-5.4.0-beta.0.tgz", + "integrity": "sha512-6JBbPaULfcBDoSVIVv1t9fPy/vnaMtTiYlAagAMlKVllm1DZ64RQ4N4KmJcsM+HOqDAhqzkh+utvDQ3y08Nz+A==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "igniteui-webcomponents-core": "5.4.0-beta.0", + "igniteui-webcomponents-inputs": "5.4.0-beta.0", + "igniteui-webcomponents-layouts": "5.4.0-beta.0" + } + }, + "node_modules/igniteui-webcomponents-inputs": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-inputs/-/igniteui-webcomponents-inputs-5.4.0-beta.0.tgz", + "integrity": "sha512-zl4o3k7Cvo4k8ITzAmBW35WdP0KigPD8jSd8t4+7qVjuqD1f7BzMAcaPWdyK1nsJrY34WkyCMoIStGCo53zWvQ==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "igniteui-webcomponents-core": "5.4.0-beta.0" + } + }, + "node_modules/igniteui-webcomponents-layouts": { + "version": "5.4.0-beta.0", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-layouts/-/igniteui-webcomponents-layouts-5.4.0-beta.0.tgz", + "integrity": "sha512-kFAJJxi+KqYsQq93MvgRh07S2T4HWYiar4BOGhjwHTuNCW1t7JB16oJkGpBAnKd4EQxLpHiMZprOYOq/UNLWKg==", + "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "igniteui-webcomponents-core": "5.4.0-beta.0", + "igniteui-webcomponents-inputs": "5.4.0-beta.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz", + "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "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" + } + }, + "node_modules/is-glob": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "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" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lit": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz", + "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.0.4", + "lit-element": "^4.1.0", + "lit-html": "^3.2.0" + } + }, + "node_modules/lit-element": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.1.tgz", + "integrity": "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit/reactive-element": "^2.0.4", + "lit-html": "^3.2.0" + } + }, + "node_modules/lit-html": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", + "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "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" + } + }, + "node_modules/micromatch": { + "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", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "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" + } + }, + "node_modules/mime-types": { + "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" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nwsapi": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "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", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.5.0.tgz", + "integrity": "sha512-estOHrRlDMKdlQa6Mj32gIks4J+AxNsYoE0DbTTxiMy2mPzZuWSDU+N85/r1IlNR7kGfznF3VCUlvc5IUO+B9g==", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "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", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.39.0.tgz", + "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.39.0", + "@rollup/rollup-android-arm64": "4.39.0", + "@rollup/rollup-darwin-arm64": "4.39.0", + "@rollup/rollup-darwin-x64": "4.39.0", + "@rollup/rollup-freebsd-arm64": "4.39.0", + "@rollup/rollup-freebsd-x64": "4.39.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", + "@rollup/rollup-linux-arm-musleabihf": "4.39.0", + "@rollup/rollup-linux-arm64-gnu": "4.39.0", + "@rollup/rollup-linux-arm64-musl": "4.39.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-gnu": "4.39.0", + "@rollup/rollup-linux-riscv64-musl": "4.39.0", + "@rollup/rollup-linux-s390x-gnu": "4.39.0", + "@rollup/rollup-linux-x64-gnu": "4.39.0", + "@rollup/rollup-linux-x64-musl": "4.39.0", + "@rollup/rollup-win32-arm64-msvc": "4.39.0", + "@rollup/rollup-win32-ia32-msvc": "4.39.0", + "@rollup/rollup-win32-x64-msvc": "4.39.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-parallel": { + "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", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.86.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz", + "integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "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" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.1.tgz", + "integrity": "sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.29.1", + "@typescript-eslint/parser": "8.29.1", + "@typescript-eslint/utils": "8.29.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/vite": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz", + "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/projects/sales-grid/package.json b/projects/sales-grid/package.json new file mode 100644 index 0000000..fa83d71 --- /dev/null +++ b/projects/sales-grid/package.json @@ -0,0 +1,45 @@ +{ + "name": "sales-grid-app", + "version": "0.1.0", + "private": true, + "type": "module", + "dependencies": { + "element-internals-polyfill": "^3.0.0", + "functions-have-names": "^1.2.3", + "igniteui-react": "19.0.0-alpha.4", + "igniteui-react-core": "19.0.0-alpha.0", + "igniteui-react-grids": "19.0.0-alpha.4", + "react": "^19.1.0", + "react-app-polyfill": "^3.0.0", + "react-dom": "^19.1.0", + "react-router": "^7.5.0" + }, + "devDependencies": { + "@types/react": "^19.1.0", + "@types/react-dom": "^19.1.1", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.23.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.3", + "jsdom": "^22.1.0", + "sass": "^1.86.3", + "typescript": "~5.7.2", + "typescript-eslint": "^8.24.1", + "vite": "^6.2.5" + }, + "scripts": { + "start": "vite", + "dev": "vite", + "build": "tsc && node --max-old-space-size=4096 node_modules/vite/bin/vite build", + "preview": "vite preview", + "lint": "eslint . --report-unused-disable-directives --max-warnings 0" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} diff --git a/projects/sales-grid/public/favicon.ico b/projects/sales-grid/public/favicon.ico new file mode 100644 index 0000000..1372d01 Binary files /dev/null and b/projects/sales-grid/public/favicon.ico differ diff --git a/projects/sales-grid/public/flags/Australia.svg b/projects/sales-grid/public/flags/Australia.svg new file mode 100644 index 0000000..61c245e --- /dev/null +++ b/projects/sales-grid/public/flags/Australia.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Belgium.svg b/projects/sales-grid/public/flags/Belgium.svg new file mode 100644 index 0000000..8123dab --- /dev/null +++ b/projects/sales-grid/public/flags/Belgium.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Brazil.svg b/projects/sales-grid/public/flags/Brazil.svg new file mode 100644 index 0000000..61f8a52 --- /dev/null +++ b/projects/sales-grid/public/flags/Brazil.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Bulgaria.svg b/projects/sales-grid/public/flags/Bulgaria.svg new file mode 100644 index 0000000..ef9fbc5 --- /dev/null +++ b/projects/sales-grid/public/flags/Bulgaria.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Canada.svg b/projects/sales-grid/public/flags/Canada.svg new file mode 100644 index 0000000..6ac428d --- /dev/null +++ b/projects/sales-grid/public/flags/Canada.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/China.svg b/projects/sales-grid/public/flags/China.svg new file mode 100644 index 0000000..d3d04dc --- /dev/null +++ b/projects/sales-grid/public/flags/China.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Denmark.svg b/projects/sales-grid/public/flags/Denmark.svg new file mode 100644 index 0000000..1229601 --- /dev/null +++ b/projects/sales-grid/public/flags/Denmark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Finland.svg b/projects/sales-grid/public/flags/Finland.svg new file mode 100644 index 0000000..9a1012f --- /dev/null +++ b/projects/sales-grid/public/flags/Finland.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/France.svg b/projects/sales-grid/public/flags/France.svg new file mode 100644 index 0000000..86fb039 --- /dev/null +++ b/projects/sales-grid/public/flags/France.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Germany.svg b/projects/sales-grid/public/flags/Germany.svg new file mode 100644 index 0000000..65b7e46 --- /dev/null +++ b/projects/sales-grid/public/flags/Germany.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Greece.svg b/projects/sales-grid/public/flags/Greece.svg new file mode 100644 index 0000000..e1c7293 --- /dev/null +++ b/projects/sales-grid/public/flags/Greece.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/India.svg b/projects/sales-grid/public/flags/India.svg new file mode 100644 index 0000000..e56cdfe --- /dev/null +++ b/projects/sales-grid/public/flags/India.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Italy.svg b/projects/sales-grid/public/flags/Italy.svg new file mode 100644 index 0000000..0029478 --- /dev/null +++ b/projects/sales-grid/public/flags/Italy.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Japan.svg b/projects/sales-grid/public/flags/Japan.svg new file mode 100644 index 0000000..a665fa5 --- /dev/null +++ b/projects/sales-grid/public/flags/Japan.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Netherlands.svg b/projects/sales-grid/public/flags/Netherlands.svg new file mode 100644 index 0000000..28d3cf8 --- /dev/null +++ b/projects/sales-grid/public/flags/Netherlands.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Poland.svg b/projects/sales-grid/public/flags/Poland.svg new file mode 100644 index 0000000..29be454 --- /dev/null +++ b/projects/sales-grid/public/flags/Poland.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Romania.svg b/projects/sales-grid/public/flags/Romania.svg new file mode 100644 index 0000000..a3b0274 --- /dev/null +++ b/projects/sales-grid/public/flags/Romania.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/UnitedKingdom.svg b/projects/sales-grid/public/flags/UnitedKingdom.svg new file mode 100644 index 0000000..a89e4f4 --- /dev/null +++ b/projects/sales-grid/public/flags/UnitedKingdom.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/UnitedStates.svg b/projects/sales-grid/public/flags/UnitedStates.svg new file mode 100644 index 0000000..d69d8b1 --- /dev/null +++ b/projects/sales-grid/public/flags/UnitedStates.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/public/flags/Uruguay.svg b/projects/sales-grid/public/flags/Uruguay.svg new file mode 100644 index 0000000..5008f40 --- /dev/null +++ b/projects/sales-grid/public/flags/Uruguay.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/sales-grid/src/app/app.tsx b/projects/sales-grid/src/app/app.tsx new file mode 100644 index 0000000..9153bf1 --- /dev/null +++ b/projects/sales-grid/src/app/app.tsx @@ -0,0 +1,7 @@ +import SalesGrid from "./sales-grid/sales-grid"; + +export default function App() { + return ( + + ) +} diff --git a/projects/sales-grid/src/app/data/flags.json b/projects/sales-grid/src/app/data/flags.json new file mode 100644 index 0000000..e2ec63a --- /dev/null +++ b/projects/sales-grid/src/app/data/flags.json @@ -0,0 +1,22 @@ +{ + "Australia": "flags/Australia.svg", + "Belgium": "flags/Belgium.svg", + "Brazil": "flags/Brazil.svg", + "Bulgaria": "flags/Bulgaria.svg", + "Canada": "flags/Canada.svg", + "China": "flags/China.svg", + "Denmark": "flags/Denmark.svg", + "Finland": "flags/Finland.svg", + "France": "flags/France.svg", + "Germany": "flags/Germany.svg", + "Greece": "flags/Greece.svg", + "India": "flags/India.svg", + "Italy": "flags/Italy.svg", + "Japan": "flags/Japan.svg", + "Netherlands": "flags/Netherlands.svg", + "Poland": "flags/Poland.svg", + "Romania": "flags/Romania.svg", + "UK": "flags/UnitedKingdom.svg", + "USA": "flags/UnitedStates.svg", + "Uruguay": "flags/Uruguay.svg" +} diff --git a/projects/sales-grid/src/app/data/icons/arrow_drop_down.svg b/projects/sales-grid/src/app/data/icons/arrow_drop_down.svg new file mode 100644 index 0000000..784d3eb --- /dev/null +++ b/projects/sales-grid/src/app/data/icons/arrow_drop_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/projects/sales-grid/src/app/data/icons/arrow_drop_up.svg b/projects/sales-grid/src/app/data/icons/arrow_drop_up.svg new file mode 100644 index 0000000..5bced54 --- /dev/null +++ b/projects/sales-grid/src/app/data/icons/arrow_drop_up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/projects/sales-grid/src/app/data/icons/file_download.svg b/projects/sales-grid/src/app/data/icons/file_download.svg new file mode 100644 index 0000000..2bb823e --- /dev/null +++ b/projects/sales-grid/src/app/data/icons/file_download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/projects/sales-grid/src/app/data/icons/visibility.svg b/projects/sales-grid/src/app/data/icons/visibility.svg new file mode 100644 index 0000000..d336dc1 --- /dev/null +++ b/projects/sales-grid/src/app/data/icons/visibility.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/projects/sales-grid/src/app/sales-grid/sales-grid.scss b/projects/sales-grid/src/app/sales-grid/sales-grid.scss new file mode 100644 index 0000000..6f81184 --- /dev/null +++ b/projects/sales-grid/src/app/sales-grid/sales-grid.scss @@ -0,0 +1,67 @@ +:host { + display: block; + height: 100%; + width: 100%; +} + +.rootSample { + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + --ig-size: var(--ig-size-small); +} + +.pivotToolbar { + display: flex; + justify-content: space-between; + min-height: 40px; + border: solid 1px hsl(from var(--ig-gray-400) h s l / 1); + background: var(--ig-grid-header-background, hsl(from var(--ig-surface-500) h s l/1)); +} + +.pivotRow { + display: flex; + flex-direction: row; + height: calc(100% - 40px); +} + +.pivotContainer { + width: 100%; + border: solid 1px hsl(from var(--ig-gray-400) h s l / 1); + border-top: none; + border-right: none; + overflow: auto; +} + +.selectorContainer { + height: 100%; + min-width: 200px; + overflow-y: auto; +} + +.countryHeader { + width: 100%; + display: flex; + align-items: center; +} + +.countryImage { + height: 14px; + margin-right: 4px; +} + + +igc-pivot-data-selector { + border: solid 1px hsl(from var(--ig-gray-400) h s l / 1); + border-top: none; + height: 100%; + + .igx-list__item-content { + padding: 0 8px !important; + + span { + margin-inline-start: initial; + } + } +} diff --git a/projects/sales-grid/src/app/sales-grid/sales-grid.tsx b/projects/sales-grid/src/app/sales-grid/sales-grid.tsx new file mode 100644 index 0000000..69a01c2 --- /dev/null +++ b/projects/sales-grid/src/app/sales-grid/sales-grid.tsx @@ -0,0 +1,434 @@ +import { useEffect, useState } from 'react'; +import { IgrButton, IgrDropdown, IgrDropdownItem, IgrIcon, registerIcon } from 'igniteui-react'; +import { + FilteringLogic, + IgrColumn, + IgrFilteringExpressionsTree, + IgrPivotConfiguration, + IgrPivotDataSelector, + IgrPivotDateDimension, + IgrPivotGrid, + IgrPivotValue, + IgrStringFilteringOperand +} from 'igniteui-react-grids'; +import { SalesDataService } from '../services/data.service'; + +import 'igniteui-react-grids/grids/themes/light/indigo.css'; +import './sales-grid.scss'; + +import ARROW_DOWN_SVG from "../data/icons/arrow_drop_down.svg"; +import ARROW_UP_SVG from "../data/icons/arrow_drop_up.svg"; +import VISIBILITY_SVG from "../data/icons/visibility.svg"; +import FILE_DOWNLOAD_SVG from "../data/icons/file_download.svg"; +import FLAGS from "../data/flags.json"; + +enum PivotViews { + BrandsSeparate = 'brandsOr', + BrandsCombined = 'jeansAnd', + Stores = 'stores' +} + +class IgrSaleProfitAggregate { + public static totalProfit = (_: any, data: any[] | undefined) => + data?.reduce((accumulator, value) => accumulator + (value.Sale - value.Cost), 0) || 0; + + public static averageProfit = (_: any, data: any[] | undefined) => { + let average = 0; + if (data?.length === 1) { + average = data[0].Sale - data[0].Cost; + } else if (data && data.length > 1) { + const mappedData = data.map(x => x.Sale - x.Cost); + average = mappedData.reduce((a, b) => a + b) / mappedData.length; + } + return average; + } + + public static minProfit = (_: any, data: any[] | undefined) => { + let min = 0; + if (data?.length === 1) { + min = data[0].Sale - data[0].Cost; + } else if (data && data.length > 1) { + const mappedData = data.map(x => x.Sale - x.Cost); + min = mappedData.reduce((a, b) => Math.min(a, b)); + } + return min; + }; + + public static maxProfit = (_: any, data: any[] | undefined) => { + let max = 0; + if (data?.length === 1) { + max = data[0].Sale - data[0].Cost; + } else if (data && data.length > 1) { + const mappedData = data.map(x => x.Sale - x.Cost); + max = mappedData.reduce((a, b) => Math.max(a, b)); + } + return max; + }; +} + +export default function SalesGrid() { + const [viewDropdown, setViewDropdown] = useState(); + function viewDropdownRef(ref: IgrDropdown) { + setViewDropdown(ref); + } + + const [pivotGrid, setPivotGrid] = useState(); + function pivotGridRef(ref: IgrPivotGrid) { + setPivotGrid(ref); + } + + const [salesData, setSalesData] = useState([]); + const [viewDropdownOpen, setViewDropdownOpen] = useState(false); + + const flagsData = FLAGS; + const brandFilter: IgrFilteringExpressionsTree = { + operator: FilteringLogic.Or, + fieldName: 'Brand', + filteringOperands: [ + { + operator: FilteringLogic.Or, + fieldName: 'Brand', + filteringOperands: [ + { + condition: IgrStringFilteringOperand.instance().condition('equals'), + fieldName: 'Brand', + searchVal: 'HM' + }, + { + condition: IgrStringFilteringOperand.instance().condition('equals'), + fieldName: 'Brand', + searchVal: 'HM Home' + }, + ] + } + ] + }; + const bulgariaCountryFilter = { + operator: FilteringLogic.And, + filteringOperands: [ + { + condition: IgrStringFilteringOperand.instance().condition('equals'), + fieldName: 'Country', + searchVal: 'Bulgaria' + }, + ] + }; + //const fileName = 'SalesGridApp'; + + const saleValue: IgrPivotValue = { + enabled: true, + member: 'Sale', + displayName: 'Sales', + aggregate: { + key: 'SUM', + aggregatorName: 'SUM', + label: 'Sum' + }, + aggregateList: [ + { + key: 'AVG', + aggregatorName: 'AVG', + label: 'Average' + }, + { + key: 'COUNT', + aggregatorName: 'COUNT', + label: 'Count' + }, + { + key: 'MAX', + aggregatorName: 'MAX', + label: 'Maximum' + }, + { + key: 'MIN', + aggregatorName: 'MIN', + label: 'Minimum' + }, + { + key: 'SUM', + aggregatorName: 'SUM', + label: 'Sum' + }, + ], + formatter: (value: any, _: any, __: any) => { + return currencyFormatter(value, 'Sale'); + } + }; + const profitValue: IgrPivotValue = { + enabled: true, + member: 'Cost', + displayName: 'Profit', + aggregate: { + key: 'SUM', + aggregator: IgrSaleProfitAggregate.totalProfit, + label: 'Sum' + }, + aggregateList: [ + { + key: 'AVG', + aggregator: IgrSaleProfitAggregate.averageProfit, + label: 'Average' + }, + { + key: 'COUNT', + aggregatorName: 'COUNT', + label: 'Count' + }, + { + key: 'MAX', + aggregator: IgrSaleProfitAggregate.maxProfit, + label: 'Maximum' + }, + { + key: 'MIN', + aggregator: IgrSaleProfitAggregate.minProfit, + label: 'Minimum' + }, + { + key: 'SUM', + aggregator: IgrSaleProfitAggregate.totalProfit, + label: 'Sum' + }, + ], + formatter: (value: any, _: any, __: any) => { + return currencyFormatter(value, 'Cost'); + } + }; + const pivotConfigBrands: IgrPivotConfiguration = { + columns: [ + { + enabled: true, + memberName: 'Country', + displayName: 'Country' + }, + { + enabled: true, + memberName: 'Brand', + displayName: 'Brand' + }, + { + enabled: false, + memberName: 'Store', + displayName: 'Store' + }, + ], + rows: [ + new IgrPivotDateDimension({ + memberName: 'Date', + displayName: 'All Periods', + enabled: true + }, + { + fullDate: true, + quarters: true, + months: false, + }) + ], + values: [ + saleValue, + profitValue + ], + filters: [ + { + enabled: true, + memberName: 'Brand', + displayName: 'Brand', + filter: brandFilter + }, + ] + }; + const pivotConfigBrandsCombined: IgrPivotConfiguration = { + columns: [ + { + enabled: true, + memberName: 'Country', + displayName: 'Country' + }, + { + enabled: false, + memberName: 'Store', + displayName: 'Store' + }, + ], + rows: [ + new IgrPivotDateDimension({ + memberName: 'Date', + displayName: 'All Periods', + enabled: true + }, + { + fullDate: true, + quarters: true, + months: false, + }) + ], + values: [ + saleValue, + profitValue + ], + filters: [ + { + enabled: true, + memberName: 'Brand', + displayName: 'Brand', + filter: brandFilter + }, + ] + }; + const pivotConfigStores: IgrPivotConfiguration = { + columns: [ + new IgrPivotDateDimension({ + memberName: 'Date', + displayName: 'All Periods', + enabled: true + }, + { + months: false, + fullDate: false, + quarters: true + }) + ], + rows: [ + { + memberName: 'Store', + displayName: 'Store', + enabled: true, + width: "140px" + }, + { + memberName: 'Brand', + displayName: 'Brand', + enabled: true, + width: "140px" + } + ], + values: [ + saleValue, + profitValue + ], + filters: [ + { + memberName: "Country", + displayName: 'Country', + filter: bulgariaCountryFilter, + enabled: true + } + ] + }; + + const availableConfigs = new Map([ + [PivotViews.BrandsSeparate, { title: 'Brands: HM and HM Home', config: pivotConfigBrands }], + [PivotViews.BrandsCombined, { title: 'Brands: HM + HM Home', config: pivotConfigBrandsCombined }], + [PivotViews.Stores, { title: 'Stores: Bulgaria', config: pivotConfigStores }] + ]); + const [selectedConfigRef, setSelectedConfigRef] = useState(availableConfigs.get(PivotViews.BrandsSeparate)); + + useEffect(() => { + SalesDataService.getSalesData().then(data => { + setSalesData(data); + }); + + registerIcon("arrow_down", ARROW_DOWN_SVG, "material"); + registerIcon("arrow_up", ARROW_UP_SVG, "material"); + registerIcon("visibility", VISIBILITY_SVG, "material"); + registerIcon("file_download", FILE_DOWNLOAD_SVG, "custom"); + }, []); + + function onViewDropdownButton(event: React.MouseEvent) { + viewDropdown?.toggle(event.currentTarget as HTMLElement); + setViewDropdownOpen(!viewDropdownOpen); + } + + function onExportDropdownButton(event: React.MouseEvent) { + console.log("Export to Excel temporary not available.", event); + // TO DO + // Once Excel and CSV exporter are available in React + // let options!: IgrExporterOptionsBase; + // const newId = event.detail.id; + // if (newId === 'csv') { + // options = new IgrCsvExporterOptions(this.fileName, CsvFileTypes.CSV); + // this.csvExporter.export(this.pivotGrid, options); + // } else if (newId === 'excel') { + // options = new IgrExcelExporterOptions(this.fileName); + // this.excelExporter.export(this.pivotGrid, options); + // } + } + + function onViewDropdownVisibility(_: CustomEvent) { + setViewDropdownOpen(!viewDropdownOpen); + } + + function onViewSelection(event: CustomEvent) { + setSelectedConfigRef(availableConfigs.get(event.detail.id as PivotViews)); + } + + function onColumnInit(event: CustomEvent) { + const col = event.detail; + const countryKeys = Object.keys(flagsData); + if (countryKeys.includes(col.field)) { + // TO DO + // col.headerTemplate = (_: IgcColumnTemplateContext) => html` + //
+ // ${col.field} + //
+ // `; + } + } + + function currencyFormatter(value: any, field: string) { + if (value === undefined || value === null){ + return ""; + } + const valueConfig = selectedConfigRef?.config.values.find(value => value.member === field); + if (!valueConfig || valueConfig.aggregate.key === "COUNT") { + return value; + } + const roundedValue = (Math.round(value * 100) / 100).toString(); + const numLength = roundedValue.split('').length; + const separatedValue = roundedValue.split('').reverse() + .reduce((prev, curr, index) => prev + curr + ((index + 1) % 3 === 0 && index < numLength - 1 ? "," : "")) + .split('').reverse().join(""); + return "$" + separatedValue; + } + + return ( +
+
+ Sales Dashboard +
+ + + {selectedConfigRef?.title} + + + + + Export to Excel + + + {Array.from(availableConfigs.entries()).map(([key, value]) => + {value.title} + )} + +
+
+
+
+ + +
+
+ +
+
+
+ ); +} diff --git a/projects/sales-grid/src/app/services/data.service.ts b/projects/sales-grid/src/app/services/data.service.ts new file mode 100644 index 0000000..57cd0ea --- /dev/null +++ b/projects/sales-grid/src/app/services/data.service.ts @@ -0,0 +1,20 @@ +class DataService { + public DATA_URL = 'https://www.infragistics.com/grid-examples-data/data/sales/sales.json'; + + public async getSalesData() { + try { + const response = await fetch(this.DATA_URL); + if (!response.ok) { + console.error(response.statusText); + return []; + } + + const json = await response.json(); + return json; + } catch (error: any) { + console.error(error.message); + } + } +} + +export const SalesDataService: DataService = new DataService(); diff --git a/projects/sales-grid/src/main.tsx b/projects/sales-grid/src/main.tsx new file mode 100644 index 0000000..a0ba936 --- /dev/null +++ b/projects/sales-grid/src/main.tsx @@ -0,0 +1,9 @@ +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client' +import App from './app/app'; + +createRoot(document.getElementById('root')!).render( + + + +) diff --git a/projects/sales-grid/src/vite-env.d.ts b/projects/sales-grid/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/projects/sales-grid/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/projects/sales-grid/tsconfig.app.json b/projects/sales-grid/tsconfig.app.json new file mode 100644 index 0000000..358ca9b --- /dev/null +++ b/projects/sales-grid/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/projects/sales-grid/tsconfig.json b/projects/sales-grid/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/projects/sales-grid/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/projects/sales-grid/tsconfig.node.json b/projects/sales-grid/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/projects/sales-grid/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/projects/sales-grid/vite.config.ts b/projects/sales-grid/vite.config.ts new file mode 100644 index 0000000..48ee35a --- /dev/null +++ b/projects/sales-grid/vite.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + build: { + chunkSizeWarningLimit: 10 * 1024 * 1024, // 10 MB + }, + plugins: [react()], + server: { + open: true, + port: 3003 + } +}) diff --git a/public/favicon.ico b/public/favicon.ico index fcbdcf2..1372d01 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/loading.svg b/public/loading.svg new file mode 100644 index 0000000..b1ce45f --- /dev/null +++ b/public/loading.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/public/static-data/financial-sales-type.json b/public/static-data/financial-sales-type.json deleted file mode 100644 index 38d835f..0000000 --- a/public/static-data/financial-sales-type.json +++ /dev/null @@ -1 +0,0 @@ -[{"COGS":16185,"Country":"UK","Date":"2020-01-01","Discounts":0,"GrossSales":26440,"ManufacturingPrice":15,"MonthName":"January","Product":"Vermont","Profit":11255,"SalePrice":23,"Sales":26440,"UnitsSold":"501","Year":"2020"},{"COGS":16185,"Country":"Japan","Date":"2020-01-01","Discounts":0,"GrossSales":27440,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":11255,"SalePrice":20,"Sales":27440,"UnitsSold":"1372","Year":"2020"},{"COGS":13210,"Country":"India","Date":"2020-01-01","Discounts":0,"GrossSales":55240,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":42030,"SalePrice":20,"Sales":55240,"UnitsSold":"2762","Year":"2020"},{"COGS":21780,"Country":"UK","Date":"2020-06-01","Discounts":0,"GrossSales":21960,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":180,"SalePrice":15,"Sales":21960,"UnitsSold":"1464","Year":"2020"},{"COGS":8880,"Country":"India","Date":"2020-06-01","Discounts":0,"GrossSales":10785,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":1905,"SalePrice":15,"Sales":10785,"UnitsSold":"719","Year":"2020"},{"COGS":24700,"Country":"Brazil","Date":"2020-06-01","Discounts":0,"GrossSales":53640,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":28940,"SalePrice":15,"Sales":53640,"UnitsSold":"3576","Year":"2020"},{"COGS":393380,"Country":"India","Date":"2020-12-01","Discounts":0,"GrossSales":1547700,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":1154320,"SalePrice":350,"Sales":1547700,"UnitsSold":"4422","Year":"2020"},{"COGS":9210,"Country":"India","Date":"2020-03-01","Discounts":0,"GrossSales":54735,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":45525,"SalePrice":15,"Sales":54735,"UnitsSold":"3649","Year":"2020"},{"COGS":7554,"Country":"Japan","Date":"2020-06-01","Discounts":0,"GrossSales":50064,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":42510,"SalePrice":12,"Sales":50064,"UnitsSold":"4172","Year":"2020"},{"COGS":18990,"Country":"UK","Date":"2020-06-01","Discounts":0,"GrossSales":76820,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":57830,"SalePrice":20,"Sales":76820,"UnitsSold":"3841","Year":"2020"},{"COGS":4635,"Country":"India","Date":"2020-06-01","Discounts":0,"GrossSales":44712,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":40077,"SalePrice":12,"Sales":44712,"UnitsSold":"3726","Year":"2020","undefined":"Total"},{"COGS":24700,"Country":"Brazil","Date":"2020-06-01","Discounts":0,"GrossSales":39375,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":14675,"SalePrice":15,"Sales":39375,"UnitsSold":"2625","Year":"2020","undefined":"10"},{"COGS":319860,"Country":"Japan","Date":"2020-07-01","Discounts":0,"GrossSales":244750,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":75110,"SalePrice":125,"Sales":244750,"UnitsSold":"1958","Year":"2020","undefined":"20"},{"COGS":239500,"Country":"Brazil","Date":"2020-08-01","Discounts":0,"GrossSales":981300,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":741800,"SalePrice":300,"Sales":981300,"UnitsSold":"3271","Year":"2020"},{"COGS":10730,"Country":"India","Date":"2020-09-01","Discounts":0,"GrossSales":14637,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":3907,"SalePrice":7,"Sales":14637,"UnitsSold":"2091","Year":"2020"},{"COGS":6150,"Country":"USA","Date":"2020-12-01","Discounts":0,"GrossSales":42375,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":36225,"SalePrice":15,"Sales":42375,"UnitsSold":"2825","Year":"2020"},{"COGS":2920,"Country":"Japan","Date":"2020-02-01","Discounts":0,"GrossSales":50260,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":47340,"SalePrice":20,"Sales":50260,"UnitsSold":"2513","Year":"2020"},{"COGS":9740,"Country":"Brazil","Date":"2020-02-01","Discounts":0,"GrossSales":13245,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":3505,"SalePrice":15,"Sales":13245,"UnitsSold":"883","Year":"2020"},{"COGS":7554,"Country":"Japan","Date":"2020-06-01","Discounts":0,"GrossSales":25044,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":17490,"SalePrice":12,"Sales":25044,"UnitsSold":"2087","Year":"2020"},{"COGS":261560,"Country":"India","Date":"2020-06-01","Discounts":0,"GrossSales":897050,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":635490,"SalePrice":350,"Sales":897050,"UnitsSold":"2563","Year":"2020"},{"COGS":1101,"Country":"India","Date":"2020-07-01","Discounts":0,"GrossSales":34152,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":33051,"SalePrice":12,"Sales":34152,"UnitsSold":"2846","Year":"2020"},{"COGS":4415,"Country":"Brazil","Date":"2020-08-01","Discounts":0,"GrossSales":6979,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":2564,"SalePrice":7,"Sales":6979,"UnitsSold":"997","Year":"2020"},{"COGS":24720,"Country":"Brazil","Date":"2020-09-01","Discounts":0,"GrossSales":34350,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":9630,"SalePrice":15,"Sales":34350,"UnitsSold":"2290","Year":"2020"},{"COGS":5715,"Country":"USA","Date":"2020-10-01","Discounts":0,"GrossSales":14931,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":9216,"SalePrice":7,"Sales":14931,"UnitsSold":"2133","Year":"2020"},{"COGS":18170,"Country":"Japan","Date":"2020-12-01","Discounts":0,"GrossSales":72340,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":54170,"SalePrice":20,"Sales":72340,"UnitsSold":"3617","Year":"2020"},{"COGS":393380,"Country":"India","Date":"2020-12-01","Discounts":0,"GrossSales":443100,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":49720,"SalePrice":350,"Sales":443100,"UnitsSold":"1266","Year":"2020"},{"COGS":7465,"Country":"Brazil","Date":"2020-01-01","Discounts":0,"GrossSales":6258,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":1207,"SalePrice":7,"Sales":6258,"UnitsSold":"894","Year":"2020"},{"COGS":216480,"Country":"UK","Date":"2020-02-01","Discounts":0,"GrossSales":340625,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":124145,"SalePrice":125,"Sales":340625,"UnitsSold":"2725","Year":"2020"},{"COGS":6483,"Country":"India","Date":"2020-03-01","Discounts":0,"GrossSales":36732,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":30249,"SalePrice":12,"Sales":36732,"UnitsSold":"3061","Year":"2020"},{"COGS":261560,"Country":"India","Date":"2020-06-01","Discounts":0,"GrossSales":1385300,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":1123740,"SalePrice":350,"Sales":1385300,"UnitsSold":"3958","Year":"2020"},{"COGS":4635,"Country":"India","Date":"2020-06-01","Discounts":0,"GrossSales":47040,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":42405,"SalePrice":12,"Sales":47040,"UnitsSold":"3920","Year":"2020"},{"COGS":338520,"Country":"USA","Date":"2020-08-01","Discounts":0,"GrossSales":422625,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":84105,"SalePrice":125,"Sales":422625,"UnitsSold":"3381","Year":"2020"},{"COGS":500250,"Country":"Japan","Date":"2020-02-01","Discounts":0,"GrossSales":1292100,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":791850,"SalePrice":300,"Sales":1292100,"UnitsSold":"4307","Year":"2020"},{"COGS":8514,"Country":"India","Date":"2020-04-01","Discounts":0,"GrossSales":10536,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":2022,"SalePrice":12,"Sales":10536,"UnitsSold":"878","Year":"2020"},{"COGS":21780,"Country":"UK","Date":"2020-06-01","Discounts":0,"GrossSales":7440,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":14340,"SalePrice":15,"Sales":7440,"UnitsSold":"496","Year":"2020"},{"COGS":8880,"Country":"India","Date":"2020-06-01","Discounts":0,"GrossSales":50505,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":41625,"SalePrice":15,"Sales":50505,"UnitsSold":"3367","Year":"2020"},{"COGS":537750,"Country":"UK","Date":"2020-09-01","Discounts":0,"GrossSales":616500,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":78750,"SalePrice":300,"Sales":616500,"UnitsSold":"2055","Year":"2020"},{"COGS":18170,"Country":"Japan","Date":"2020-12-01","Discounts":0,"GrossSales":80820,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":62650,"SalePrice":20,"Sales":80820,"UnitsSold":"4041","Year":"2020"},{"COGS":715000,"Country":"UK","Date":"2020-02-01","Discounts":0,"GrossSales":1132950,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":417950,"SalePrice":350,"Sales":1132950,"UnitsSold":"3237","Year":"2020"},{"COGS":5859,"Country":"USA","Date":"2020-04-01","Discounts":0,"GrossSales":7560,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":1701,"SalePrice":12,"Sales":7560,"UnitsSold":"630","Year":"2020"},{"COGS":506340,"Country":"India","Date":"2020-04-01","Discounts":0,"GrossSales":526250,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":19910,"SalePrice":125,"Sales":526250,"UnitsSold":"4210","Year":"2020"},{"COGS":18990,"Country":"UK","Date":"2020-06-01","Discounts":0,"GrossSales":22540,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":3550,"SalePrice":20,"Sales":22540,"UnitsSold":"1127","Year":"2020"},{"COGS":8430,"Country":"India","Date":"2020-07-01","Discounts":0,"GrossSales":24066,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":15636,"SalePrice":7,"Sales":24066,"UnitsSold":"3438","Year":"2020"},{"COGS":6423,"Country":"USA","Date":"2020-08-01","Discounts":0,"GrossSales":24180,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":17757,"SalePrice":12,"Sales":24180,"UnitsSold":"2015","Year":"2020"},{"COGS":5715,"Country":"USA","Date":"2020-10-01","Discounts":0,"GrossSales":17738,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":12023,"SalePrice":7,"Sales":17738,"UnitsSold":"2534","Year":"2020"},{"COGS":6150,"Country":"USA","Date":"2020-12-01","Discounts":0,"GrossSales":20760,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":14610,"SalePrice":15,"Sales":20760,"UnitsSold":"1384","Year":"2020"},{"COGS":19725,"Country":"UK","Date":"2020-01-01","Discounts":276.15,"GrossSales":24927,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":4925.85,"SalePrice":7,"Sales":24650.85,"UnitsSold":"3561","Year":"2020"},{"COGS":22960,"Country":"UK","Date":"2020-02-01","Discounts":344.4,"GrossSales":27345,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":4040.6,"SalePrice":15,"Sales":27000.6,"UnitsSold":"1823","Year":"2020"},{"COGS":5150,"Country":"UK","Date":"2020-05-01","Discounts":72.1,"GrossSales":19565,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":14342.9,"SalePrice":7,"Sales":19492.9,"UnitsSold":"2795","Year":"2020"},{"COGS":3195,"Country":"UK","Date":"2020-11-01","Discounts":44.73,"GrossSales":3199,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":40.73,"SalePrice":7,"Sales":3154.27,"UnitsSold":"457","Year":"2020"},{"COGS":6630,"Country":"Japan","Date":"2020-03-01","Discounts":92.82,"GrossSales":26495,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":19772.18,"SalePrice":7,"Sales":26402.18,"UnitsSold":"3785","Year":"2020"},{"COGS":5574,"Country":"USA","Date":"2020-02-01","Discounts":222.96,"GrossSales":8976,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":3179.04,"SalePrice":12,"Sales":8753.04,"UnitsSold":"748","Year":"2020"},{"COGS":314600,"Country":"Brazil","Date":"2020-03-01","Discounts":4235,"GrossSales":357350,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":38515,"SalePrice":350,"Sales":353115,"UnitsSold":"1021","Year":"2020"},{"COGS":12645,"Country":"USA","Date":"2020-07-01","Discounts":177.03,"GrossSales":14532,"ManufacturingPrice":3,"MonthName":"July","Product":"Kensington","Profit":1709.97,"SalePrice":7,"Sales":14354.97,"UnitsSold":"2076","Year":"2020"},{"COGS":4335,"Country":"Japan","Date":"2020-09-01","Discounts":173.4,"GrossSales":51792,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":47283.6,"SalePrice":12,"Sales":51618.6,"UnitsSold":"4316","Year":"2020"},{"COGS":8013,"Country":"UK","Date":"2020-09-01","Discounts":320.52,"GrossSales":50088,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":41754.48,"SalePrice":12,"Sales":49767.48,"UnitsSold":"4174","Year":"2020"},{"COGS":363220,"Country":"Brazil","Date":"2020-10-01","Discounts":4889.5,"GrossSales":1307600,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":939490.5,"SalePrice":350,"Sales":1302710.5,"UnitsSold":"3736","Year":"2020"},{"COGS":560300,"Country":"UK","Date":"2020-12-01","Discounts":7542.5,"GrossSales":669900,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":102057.5,"SalePrice":350,"Sales":662357.5,"UnitsSold":"1914","Year":"2020"},{"COGS":22140,"Country":"Brazil","Date":"2020-03-01","Discounts":332.1,"GrossSales":41130,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":18657.9,"SalePrice":15,"Sales":40797.9,"UnitsSold":"2742","Year":"2020"},{"COGS":575250,"Country":"USA","Date":"2020-04-01","Discounts":6903,"GrossSales":449700,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":132453,"SalePrice":300,"Sales":442797,"UnitsSold":"1499","Year":"2020"},{"COGS":13755,"Country":"UK","Date":"2020-07-01","Discounts":275.1,"GrossSales":75440,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":61409.9,"SalePrice":20,"Sales":75164.9,"UnitsSold":"3772","Year":"2020"},{"COGS":9150,"Country":"Japan","Date":"2020-08-01","Discounts":128.1,"GrossSales":7784,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":1494.1,"SalePrice":7,"Sales":7655.9,"UnitsSold":"1112","Year":"2020"},{"COGS":15140,"Country":"USA","Date":"2020-02-01","Discounts":227.1,"GrossSales":35520,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":20152.9,"SalePrice":15,"Sales":35292.9,"UnitsSold":"2368","Year":"2020"},{"COGS":22462.5,"Country":"USA","Date":"2020-04-01","Discounts":314.48,"GrossSales":11102,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":11674.98,"SalePrice":7,"Sales":10787.52,"UnitsSold":"1586","Year":"2020"},{"COGS":87240,"Country":"USA","Date":"2020-06-01","Discounts":908.75,"GrossSales":423250,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":335101.25,"SalePrice":125,"Sales":422341.25,"UnitsSold":"3386","Year":"2020"},{"COGS":94440,"Country":"UK","Date":"2020-06-01","Discounts":983.75,"GrossSales":106500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":11076.25,"SalePrice":125,"Sales":105516.25,"UnitsSold":"852","Year":"2020"},{"COGS":218760,"Country":"Brazil","Date":"2020-07-01","Discounts":2278.75,"GrossSales":347875,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":126836.25,"SalePrice":125,"Sales":345596.25,"UnitsSold":"2783","Year":"2020"},{"COGS":7470,"Country":"India","Date":"2020-09-01","Discounts":112.05,"GrossSales":40260,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":32677.95,"SalePrice":15,"Sales":40147.95,"UnitsSold":"2684","Year":"2020"},{"COGS":726250,"Country":"USA","Date":"2020-11-01","Discounts":8715,"GrossSales":1224900,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":489935,"SalePrice":300,"Sales":1216185,"UnitsSold":"4083","Year":"2020"},{"COGS":560300,"Country":"UK","Date":"2020-12-01","Discounts":7542.5,"GrossSales":985600,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":417757.5,"SalePrice":350,"Sales":978057.5,"UnitsSold":"2816","Year":"2020"},{"COGS":38640,"Country":"UK","Date":"2020-04-01","Discounts":772.8,"GrossSales":85880,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":46467.2,"SalePrice":20,"Sales":85107.2,"UnitsSold":"4294","Year":"2020"},{"COGS":1810,"Country":"Brazil","Date":"2020-05-01","Discounts":25.34,"GrossSales":19992,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":18156.66,"SalePrice":7,"Sales":19966.66,"UnitsSold":"2856","Year":"2020"},{"COGS":110760,"Country":"Japan","Date":"2020-08-01","Discounts":1153.75,"GrossSales":175875,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":63961.25,"SalePrice":125,"Sales":174721.25,"UnitsSold":"1407","Year":"2020"},{"COGS":1315,"Country":"India","Date":"2020-03-01","Discounts":18.41,"GrossSales":8855,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":7521.59,"SalePrice":7,"Sales":8836.59,"UnitsSold":"1265","Year":"2020"},{"COGS":245310,"Country":"Japan","Date":"2020-04-01","Discounts":3302.25,"GrossSales":1362200,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":1113587.75,"SalePrice":350,"Sales":1358897.75,"UnitsSold":"3892","Year":"2020"},{"COGS":87240,"Country":"USA","Date":"2020-06-01","Discounts":908.75,"GrossSales":383500,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":295351.25,"SalePrice":125,"Sales":382591.25,"UnitsSold":"3068","Year":"2020"},{"COGS":94440,"Country":"UK","Date":"2020-06-01","Discounts":983.75,"GrossSales":272625,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":177201.25,"SalePrice":125,"Sales":271641.25,"UnitsSold":"2181","Year":"2020"},{"COGS":246500,"Country":"India","Date":"2020-06-01","Discounts":2958,"GrossSales":406800,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":177201.25,"SalePrice":300,"Sales":403842,"UnitsSold":"1356","Year":"2020"},{"COGS":363220,"Country":"Brazil","Date":"2020-10-01","Discounts":4889.5,"GrossSales":634900,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":266790.5,"SalePrice":350,"Sales":630010.5,"UnitsSold":"1814","Year":"2020"},{"COGS":209280,"Country":"UK","Date":"2020-11-01","Discounts":2180,"GrossSales":186875,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":24585,"SalePrice":125,"Sales":184695,"UnitsSold":"1495","Year":"2020"},{"COGS":89100,"Country":"Japan","Date":"2020-04-01","Discounts":1856.25,"GrossSales":182875,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":91918.75,"SalePrice":125,"Sales":181018.75,"UnitsSold":"1463","Year":"2020"},{"COGS":3885,"Country":"Japan","Date":"2020-10-01","Discounts":310.8,"GrossSales":2580,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":1615.8,"SalePrice":12,"Sales":2269.2,"UnitsSold":"215","Year":"2020"},{"COGS":741520,"Country":"Japan","Date":"2020-12-01","Discounts":19964,"GrossSales":198100,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":563384,"SalePrice":350,"Sales":178136,"UnitsSold":"566","Year":"2020"},{"COGS":3426,"Country":"USA","Date":"2020-06-01","Discounts":274.08,"GrossSales":39060,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":35359.92,"SalePrice":12,"Sales":38785.92,"UnitsSold":"3255","Year":"2020"},{"COGS":15660,"Country":"USA","Date":"2020-10-01","Discounts":626.4,"GrossSales":15440,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":846.4,"SalePrice":20,"Sales":14813.6,"UnitsSold":"772","Year":"2020"},{"COGS":2070,"Country":"Brazil","Date":"2020-11-01","Discounts":165.6,"GrossSales":13620,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":11384.4,"SalePrice":12,"Sales":13454.4,"UnitsSold":"1135","Year":"2020"},{"COGS":23630,"Country":"Japan","Date":"2020-02-01","Discounts":708.9,"GrossSales":17895,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":6443.9,"SalePrice":15,"Sales":17186.1,"UnitsSold":"1193","Year":"2020"},{"COGS":229500,"Country":"UK","Date":"2020-05-01","Discounts":5508,"GrossSales":759000,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":523992,"SalePrice":300,"Sales":753492,"UnitsSold":"2530","Year":"2020"},{"COGS":432000,"Country":"India","Date":"2020-05-01","Discounts":10368,"GrossSales":1035300,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":592932,"SalePrice":300,"Sales":1024932,"UnitsSold":"3451","Year":"2020"},{"COGS":3426,"Country":"USA","Date":"2020-06-01","Discounts":274.08,"GrossSales":36708,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":33007.92,"SalePrice":12,"Sales":36433.92,"UnitsSold":"3059","Year":"2020"},{"COGS":79440,"Country":"Brazil","Date":"2020-06-01","Discounts":1655,"GrossSales":494625,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":413530,"SalePrice":125,"Sales":492970,"UnitsSold":"3957","Year":"2020"},{"COGS":3885,"Country":"Japan","Date":"2020-10-01","Discounts":310.8,"GrossSales":41328,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":37132.2,"SalePrice":12,"Sales":41017.2,"UnitsSold":"3444","Year":"2020"},{"COGS":479000,"Country":"Japan","Date":"2020-12-01","Discounts":11496,"GrossSales":946200,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":455704,"SalePrice":300,"Sales":934704,"UnitsSold":"3154","Year":"2020"},{"COGS":741520,"Country":"Japan","Date":"2020-12-01","Discounts":19964,"GrossSales":1437800,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":676316,"SalePrice":350,"Sales":1417836,"UnitsSold":"4108","Year":"2020"},{"COGS":327480,"Country":"Japan","Date":"2020-12-01","Discounts":6822.5,"GrossSales":470000,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":135697.5,"SalePrice":125,"Sales":463177.5,"UnitsSold":"3760","Year":"2020"},{"COGS":3165,"Country":"UK","Date":"2020-12-01","Discounts":253.2,"GrossSales":28008,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":24589.8,"SalePrice":12,"Sales":27754.8,"UnitsSold":"2334","Year":"2020"},{"COGS":3252,"Country":"Brazil","Date":"2020-12-01","Discounts":260.16,"GrossSales":6960,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":3447.84,"SalePrice":12,"Sales":6699.84,"UnitsSold":"580","Year":"2020"},{"COGS":15660,"Country":"USA","Date":"2020-10-01","Discounts":626.4,"GrossSales":52200,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":35913.6,"SalePrice":20,"Sales":51573.6,"UnitsSold":"2610","Year":"2020"},{"COGS":748020,"Country":"India","Date":"2020-10-01","Discounts":20139,"GrossSales":510650,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":257509,"SalePrice":350,"Sales":490511,"UnitsSold":"1459","Year":"2020"},{"COGS":3165,"Country":"UK","Date":"2020-12-01","Discounts":253.2,"GrossSales":45288,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":41869.8,"SalePrice":12,"Sales":45034.8,"UnitsSold":"3774","Year":"2020"},{"COGS":3252,"Country":"Brazil","Date":"2020-12-01","Discounts":260.16,"GrossSales":30864,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":27351.84,"SalePrice":12,"Sales":30603.84,"UnitsSold":"2572","Year":"2020"},{"COGS":79440,"Country":"Brazil","Date":"2020-06-01","Discounts":1655,"GrossSales":40000,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":41095,"SalePrice":125,"Sales":38345,"UnitsSold":"320","Year":"2020"},{"COGS":748020,"Country":"India","Date":"2020-10-01","Discounts":20139,"GrossSales":1146250,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":378091,"SalePrice":350,"Sales":1126111,"UnitsSold":"3275","Year":"2020"},{"COGS":327480,"Country":"Japan","Date":"2020-12-01","Discounts":6822.5,"GrossSales":447750,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":113447.5,"SalePrice":125,"Sales":440927.5,"UnitsSold":"3582","Year":"2020"},{"COGS":64750,"Country":"India","Date":"2020-03-01","Discounts":1554,"GrossSales":1216800,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":1150496,"SalePrice":300,"Sales":1215246,"UnitsSold":"4056","Year":"2020"},{"COGS":275250,"Country":"Brazil","Date":"2020-03-01","Discounts":6606,"GrossSales":643200,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":361344,"SalePrice":300,"Sales":636594,"UnitsSold":"2144","Year":"2020"},{"COGS":273120,"Country":"India","Date":"2020-05-01","Discounts":5690,"GrossSales":437750,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":158940,"SalePrice":125,"Sales":432060,"UnitsSold":"3502","Year":"2020"},{"COGS":12360,"Country":"USA","Date":"2020-11-01","Discounts":494.4,"GrossSales":13580,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":725.6,"SalePrice":20,"Sales":13085.6,"UnitsSold":"679","Year":"2020"},{"COGS":9410,"Country":"UK","Date":"2020-11-01","Discounts":376.4,"GrossSales":47020,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":37233.6,"SalePrice":20,"Sales":46643.6,"UnitsSold":"2351","Year":"2020"},{"COGS":479000,"Country":"Japan","Date":"2020-12-01","Discounts":11496,"GrossSales":612900,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":122404,"SalePrice":300,"Sales":601404,"UnitsSold":"2043","Year":"2020"},{"COGS":509220,"Country":"UK","Date":"2020-04-01","Discounts":15913.13,"GrossSales":445625,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":79508.13,"SalePrice":125,"Sales":429711.88,"UnitsSold":"3565","Year":"2020"},{"COGS":25800,"Country":"India","Date":"2020-04-01","Discounts":1548,"GrossSales":28020,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":672,"SalePrice":20,"Sales":26472,"UnitsSold":"1401","Year":"2020"},{"COGS":172250,"Country":"India","Date":"2020-06-01","Discounts":6201,"GrossSales":623100,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":444649,"SalePrice":300,"Sales":616899,"UnitsSold":"2077","Year":"2020"},{"COGS":5841,"Country":"USA","Date":"2020-09-01","Discounts":700.92,"GrossSales":43716,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":37174.08,"SalePrice":12,"Sales":43015.08,"UnitsSold":"3643","Year":"2020"},{"COGS":9790,"Country":"India","Date":"2020-02-01","Discounts":411.18,"GrossSales":20720,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":10518.82,"SalePrice":7,"Sales":20308.82,"UnitsSold":"2960","Year":"2020"},{"COGS":5703,"Country":"UK","Date":"2020-06-01","Discounts":684.36,"GrossSales":14412,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":8024.64,"SalePrice":12,"Sales":13727.64,"UnitsSold":"1201","Year":"2020"},{"COGS":2720,"Country":"UK","Date":"2020-09-01","Discounts":114.24,"GrossSales":16247,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":13412.76,"SalePrice":7,"Sales":16132.76,"UnitsSold":"2321","Year":"2020"},{"COGS":154440,"Country":"UK","Date":"2020-12-01","Discounts":4826.25,"GrossSales":496500,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":337233.75,"SalePrice":125,"Sales":491673.75,"UnitsSold":"3972","Year":"2020"},{"COGS":204720,"Country":"India","Date":"2020-12-01","Discounts":6397.5,"GrossSales":484750,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":273632.5,"SalePrice":125,"Sales":478352.5,"UnitsSold":"3878","Year":"2020"},{"COGS":608625,"Country":"UK","Date":"2020-01-01","Discounts":21910.5,"GrossSales":683400,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":52864.5,"SalePrice":300,"Sales":661489.5,"UnitsSold":"2278","Year":"2020"},{"COGS":212880,"Country":"Japan","Date":"2020-03-01","Discounts":6652.5,"GrossSales":134375,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":85157.5,"SalePrice":125,"Sales":127722.5,"UnitsSold":"1075","Year":"2020"},{"COGS":5703,"Country":"UK","Date":"2020-06-01","Discounts":684.36,"GrossSales":48600,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":42212.64,"SalePrice":12,"Sales":47915.64,"UnitsSold":"4050","Year":"2020"},{"COGS":172250,"Country":"India","Date":"2020-06-01","Discounts":6201,"GrossSales":910500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":732049,"SalePrice":300,"Sales":904299,"UnitsSold":"3035","Year":"2020"},{"COGS":188400,"Country":"India","Date":"2020-06-01","Discounts":5887.5,"GrossSales":454500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":260212.5,"SalePrice":125,"Sales":448612.5,"UnitsSold":"3636","Year":"2020"},{"COGS":4108.5,"Country":"USA","Date":"2020-07-01","Discounts":493.02,"GrossSales":16548,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":11946.48,"SalePrice":12,"Sales":16054.98,"UnitsSold":"1379","Year":"2020"},{"COGS":241080,"Country":"Japan","Date":"2020-10-01","Discounts":7533.75,"GrossSales":561500,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":312886.25,"SalePrice":125,"Sales":553966.25,"UnitsSold":"4492","Year":"2020"},{"COGS":154440,"Country":"UK","Date":"2020-12-01","Discounts":4826.25,"GrossSales":218000,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":58733.75,"SalePrice":125,"Sales":213173.75,"UnitsSold":"1744","Year":"2020"},{"COGS":204720,"Country":"India","Date":"2020-12-01","Discounts":6397.5,"GrossSales":292625,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":81507.5,"SalePrice":125,"Sales":286227.5,"UnitsSold":"2341","Year":"2020"},{"COGS":241080,"Country":"Japan","Date":"2020-10-01","Discounts":7533.75,"GrossSales":479375,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":230761.25,"SalePrice":125,"Sales":471841.25,"UnitsSold":"3835","Year":"2020"},{"COGS":711000,"Country":"USA","Date":"2020-02-01","Discounts":25596,"GrossSales":348300,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":388296,"SalePrice":300,"Sales":322704,"UnitsSold":"1161","Year":"2020"},{"COGS":5748,"Country":"Brazil","Date":"2020-04-01","Discounts":689.76,"GrossSales":10512,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":4074.24,"SalePrice":12,"Sales":9822.24,"UnitsSold":"876","Year":"2020"},{"COGS":188400,"Country":"India","Date":"2020-06-01","Discounts":5887.5,"GrossSales":213125,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":18837.5,"SalePrice":125,"Sales":207237.5,"UnitsSold":"1705","Year":"2020"},{"COGS":468500,"Country":"Japan","Date":"2020-08-01","Discounts":16866,"GrossSales":541500,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":56134,"SalePrice":300,"Sales":524634,"UnitsSold":"1805","Year":"2020"},{"COGS":426920,"Country":"Brazil","Date":"2020-08-01","Discounts":17241,"GrossSales":136150,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":308011,"SalePrice":350,"Sales":118909,"UnitsSold":"389","Year":"2020"},{"COGS":8310,"Country":"Japan","Date":"2020-05-01","Discounts":498.6,"GrossSales":29180,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":20371.4,"SalePrice":20,"Sales":28681.4,"UnitsSold":"1459","Year":"2020"},{"COGS":38505,"Country":"Japan","Date":"2020-04-01","Discounts":2310.3,"GrossSales":84720,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":43904.7,"SalePrice":20,"Sales":82409.7,"UnitsSold":"4236","Year":"2020"},{"COGS":7437,"Country":"India","Date":"2020-01-01","Discounts":892.44,"GrossSales":43524,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":35194.56,"SalePrice":12,"Sales":42631.56,"UnitsSold":"3627","Year":"2020"},{"COGS":20310,"Country":"Brazil","Date":"2020-10-01","Discounts":1218.6,"GrossSales":26340,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":4811.4,"SalePrice":15,"Sales":25121.4,"UnitsSold":"1756","Year":"2020"},{"COGS":20310,"Country":"Brazil","Date":"2020-10-01","Discounts":1218.6,"GrossSales":4605,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":16923.6,"SalePrice":15,"Sales":3386.4,"UnitsSold":"307","Year":"2020"},{"COGS":505250,"Country":"India","Date":"2020-10-01","Discounts":24252,"GrossSales":366600,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":162902,"SalePrice":300,"Sales":342348,"UnitsSold":"1222","Year":"2020"},{"COGS":71240,"Country":"USA","Date":"2020-12-01","Discounts":3836,"GrossSales":171150,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":96074,"SalePrice":350,"Sales":167314,"UnitsSold":"489","Year":"2020"},{"COGS":19670,"Country":"Japan","Date":"2020-03-01","Discounts":1180.2,"GrossSales":61995,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":41144.8,"SalePrice":15,"Sales":60814.8,"UnitsSold":"4133","Year":"2020"},{"COGS":464750,"Country":"India","Date":"2020-08-01","Discounts":22308,"GrossSales":822900,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":335842,"SalePrice":300,"Sales":800592,"UnitsSold":"2743","Year":"2020"},{"COGS":505250,"Country":"India","Date":"2020-10-01","Discounts":24252,"GrossSales":1338000,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":808498,"SalePrice":300,"Sales":1313748,"UnitsSold":"4460","Year":"2020"},{"COGS":136560,"Country":"Brazil","Date":"2020-12-01","Discounts":5690,"GrossSales":154000,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":11750,"SalePrice":125,"Sales":148310,"UnitsSold":"1232","Year":"2020"},{"COGS":21255,"Country":"Japan","Date":"2020-01-01","Discounts":1190.28,"GrossSales":18102,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":4343.28,"SalePrice":7,"Sales":16911.72,"UnitsSold":"2586","Year":"2020"},{"COGS":95400,"Country":"India","Date":"2020-03-01","Discounts":3975,"GrossSales":166500,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":67125,"SalePrice":125,"Sales":162525,"UnitsSold":"1332","Year":"2020"},{"COGS":353625,"Country":"India","Date":"2020-04-01","Discounts":16974,"GrossSales":1346100,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":975501,"SalePrice":300,"Sales":1329126,"UnitsSold":"4487","Year":"2020"},{"COGS":729500,"Country":"USA","Date":"2020-05-01","Discounts":35016,"GrossSales":1158600,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":394084,"SalePrice":300,"Sales":1123584,"UnitsSold":"3862","Year":"2020"},{"COGS":897000,"Country":"USA","Date":"2020-07-01","Discounts":48300,"GrossSales":617750,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":327550,"SalePrice":350,"Sales":569450,"UnitsSold":"1765","Year":"2020"},{"COGS":358560,"Country":"UK","Date":"2020-07-01","Discounts":14940,"GrossSales":441625,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":68125,"SalePrice":125,"Sales":426685,"UnitsSold":"3533","Year":"2020"},{"COGS":2180,"Country":"Japan","Date":"2020-09-01","Discounts":130.8,"GrossSales":30240,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":27929.2,"SalePrice":15,"Sales":30109.2,"UnitsSold":"2016","Year":"2020"},{"COGS":20740,"Country":"Japan","Date":"2020-09-01","Discounts":1659.2,"GrossSales":58760,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":36360.8,"SalePrice":20,"Sales":57100.8,"UnitsSold":"2938","Year":"2020"},{"COGS":10560,"Country":"USA","Date":"2020-09-01","Discounts":844.8,"GrossSales":67040,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":55635.2,"SalePrice":20,"Sales":66195.2,"UnitsSold":"3352","Year":"2020"},{"COGS":71240,"Country":"USA","Date":"2020-12-01","Discounts":3836,"GrossSales":850500,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":775424,"SalePrice":350,"Sales":846664,"UnitsSold":"2430","Year":"2020"},{"COGS":136560,"Country":"Brazil","Date":"2020-12-01","Discounts":5690,"GrossSales":66875,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":75375,"SalePrice":125,"Sales":61185,"UnitsSold":"535","Year":"2020"},{"COGS":4395,"Country":"USA","Date":"2020-03-01","Discounts":703.2,"GrossSales":18276,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":13177.8,"SalePrice":12,"Sales":17572.8,"UnitsSold":"1523","Year":"2020"},{"COGS":566020,"Country":"UK","Date":"2020-10-01","Discounts":30478,"GrossSales":623700,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":27202,"SalePrice":350,"Sales":593222,"UnitsSold":"1782","Year":"2020"},{"COGS":2598,"Country":"UK","Date":"2020-05-01","Discounts":415.68,"GrossSales":4164,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":1150.32,"SalePrice":12,"Sales":3748.32,"UnitsSold":"347","Year":"2020"},{"COGS":566020,"Country":"UK","Date":"2020-10-01","Discounts":30478,"GrossSales":1228150,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":631652,"SalePrice":350,"Sales":1197672,"UnitsSold":"3509","Year":"2020"},{"COGS":484900,"Country":"Brazil","Date":"2020-02-01","Discounts":26110,"GrossSales":1030050,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":519040,"SalePrice":350,"Sales":1003940,"UnitsSold":"2943","Year":"2020"},{"COGS":128880,"Country":"Brazil","Date":"2020-04-01","Discounts":5370,"GrossSales":504625,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":370375,"SalePrice":125,"Sales":499255,"UnitsSold":"4037","Year":"2020"},{"COGS":495820,"Country":"India","Date":"2020-09-01","Discounts":26698,"GrossSales":1451100,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":928582,"SalePrice":350,"Sales":1424402,"UnitsSold":"4146","Year":"2020"},{"COGS":6860,"Country":"India","Date":"2020-01-01","Discounts":480.2,"GrossSales":5075,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":2265.2,"SalePrice":7,"Sales":4594.8,"UnitsSold":"725","Year":"2020"},{"COGS":13445,"Country":"Brazil","Date":"2020-10-01","Discounts":941.15,"GrossSales":16275,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":1888.85,"SalePrice":7,"Sales":15333.85,"UnitsSold":"2325","Year":"2020"},{"COGS":7293,"Country":"Japan","Date":"2020-12-01","Discounts":1458.6,"GrossSales":8100,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":651.6,"SalePrice":12,"Sales":6641.4,"UnitsSold":"675","Year":"2020"},{"COGS":7293,"Country":"Japan","Date":"2020-12-01","Discounts":1458.6,"GrossSales":35880,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":27128.4,"SalePrice":12,"Sales":34421.4,"UnitsSold":"2990","Year":"2020"},{"COGS":13445,"Country":"Brazil","Date":"2020-10-01","Discounts":941.15,"GrossSales":7504,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":6882.15,"SalePrice":7,"Sales":6562.85,"UnitsSold":"1072","Year":"2020"},{"COGS":8415,"Country":"Brazil","Date":"2020-07-01","Discounts":589.05,"GrossSales":7336,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":1668.05,"SalePrice":7,"Sales":6746.95,"UnitsSold":"1048","Year":"2020"},{"COGS":3369,"Country":"Brazil","Date":"2020-08-01","Discounts":673.8,"GrossSales":5628,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":1585.2,"SalePrice":12,"Sales":4954.2,"UnitsSold":"469","Year":"2020"},{"COGS":5595,"Country":"UK","Date":"2020-02-01","Discounts":1119,"GrossSales":50880,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":44166,"SalePrice":12,"Sales":49761,"UnitsSold":"4240","Year":"2020"},{"COGS":3348,"Country":"India","Date":"2020-02-01","Discounts":669.6,"GrossSales":23712,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":19694.4,"SalePrice":12,"Sales":23042.4,"UnitsSold":"1976","Year":"2020"},{"COGS":15630,"Country":"UK","Date":"2020-05-01","Discounts":1563,"GrossSales":39680,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":22487,"SalePrice":20,"Sales":38117,"UnitsSold":"1984","Year":"2020"},{"COGS":247750,"Country":"USA","Date":"2020-06-01","Discounts":14865,"GrossSales":144000,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":118615,"SalePrice":300,"Sales":129135,"UnitsSold":"480","Year":"2020"},{"COGS":27910,"Country":"Brazil","Date":"2020-11-01","Discounts":2093.25,"GrossSales":18075,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":11928.25,"SalePrice":15,"Sales":15981.75,"UnitsSold":"1205","Year":"2020"},{"COGS":2850,"Country":"USA","Date":"2020-12-01","Discounts":199.5,"GrossSales":17360,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":14310.5,"SalePrice":7,"Sales":17160.5,"UnitsSold":"2480","Year":"2020"},{"COGS":12435,"Country":"UK","Date":"2020-12-01","Discounts":870.45,"GrossSales":20482,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":7176.55,"SalePrice":7,"Sales":19611.55,"UnitsSold":"2926","Year":"2020"},{"COGS":359970,"Country":"UK","Date":"2020-01-01","Discounts":24228.75,"GrossSales":1123500,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":739301.25,"SalePrice":350,"Sales":1099271.25,"UnitsSold":"3210","Year":"2020"},{"COGS":435240,"Country":"USA","Date":"2020-07-01","Discounts":22668.75,"GrossSales":402625,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":55283.75,"SalePrice":125,"Sales":379956.25,"UnitsSold":"3221","Year":"2020"},{"COGS":7026,"Country":"India","Date":"2020-11-01","Discounts":1405.2,"GrossSales":13524,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":5092.8,"SalePrice":12,"Sales":12118.8,"UnitsSold":"1127","Year":"2020"},{"COGS":13030,"Country":"UK","Date":"2020-02-01","Discounts":1303,"GrossSales":32200,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":17867,"SalePrice":20,"Sales":30897,"UnitsSold":"1610","Year":"2020"},{"COGS":359040,"Country":"USA","Date":"2020-03-01","Discounts":18700,"GrossSales":512500,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":134760,"SalePrice":125,"Sales":493800,"UnitsSold":"4100","Year":"2020"},{"COGS":286200,"Country":"UK","Date":"2020-03-01","Discounts":14906.25,"GrossSales":126500,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":174606.25,"SalePrice":125,"Sales":111593.75,"UnitsSold":"1012","Year":"2020"},{"COGS":401750,"Country":"Brazil","Date":"2020-04-01","Discounts":24105,"GrossSales":1001100,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":575245,"SalePrice":300,"Sales":976995,"UnitsSold":"3337","Year":"2020"},{"COGS":11635,"Country":"USA","Date":"2020-05-01","Discounts":814.45,"GrossSales":27685,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":15235.55,"SalePrice":7,"Sales":26870.55,"UnitsSold":"3955","Year":"2020"},{"COGS":247750,"Country":"USA","Date":"2020-06-01","Discounts":14865,"GrossSales":1304100,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":1041485,"SalePrice":300,"Sales":1289235,"UnitsSold":"4347","Year":"2020"},{"COGS":156520,"Country":"USA","Date":"2020-06-01","Discounts":10535,"GrossSales":541800,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":374745,"SalePrice":350,"Sales":531265,"UnitsSold":"1548","Year":"2020"},{"COGS":26200,"Country":"UK","Date":"2020-09-01","Discounts":1965,"GrossSales":32295,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":4130,"SalePrice":15,"Sales":30330,"UnitsSold":"2153","Year":"2020"},{"COGS":103320,"Country":"USA","Date":"2020-10-01","Discounts":5381.25,"GrossSales":515750,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":407048.75,"SalePrice":125,"Sales":510368.75,"UnitsSold":"4126","Year":"2020"},{"COGS":26630,"Country":"USA","Date":"2020-12-01","Discounts":2663,"GrossSales":67520,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":38227,"SalePrice":20,"Sales":64857,"UnitsSold":"3376","Year":"2020"},{"COGS":5550,"Country":"USA","Date":"2020-01-01","Discounts":416.25,"GrossSales":33660,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":27693.75,"SalePrice":15,"Sales":33243.75,"UnitsSold":"2244","Year":"2020"},{"COGS":28610,"Country":"Brazil","Date":"2020-01-01","Discounts":2145.75,"GrossSales":20400,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":10355.75,"SalePrice":15,"Sales":18254.25,"UnitsSold":"1360","Year":"2020"},{"COGS":96840,"Country":"India","Date":"2020-02-01","Discounts":5043.75,"GrossSales":34875,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":67008.75,"SalePrice":125,"Sales":29831.25,"UnitsSold":"279","Year":"2020"},{"COGS":156520,"Country":"USA","Date":"2020-06-01","Discounts":10535,"GrossSales":882350,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":715295,"SalePrice":350,"Sales":871815,"UnitsSold":"2521","Year":"2020"},{"COGS":28320,"Country":"USA","Date":"2020-08-01","Discounts":2832,"GrossSales":48660,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":17508,"SalePrice":20,"Sales":45828,"UnitsSold":"2433","Year":"2020"},{"COGS":15790,"Country":"UK","Date":"2020-08-01","Discounts":1579,"GrossSales":34760,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":17391,"SalePrice":20,"Sales":33181,"UnitsSold":"1738","Year":"2020"},{"COGS":103320,"Country":"USA","Date":"2020-10-01","Discounts":5381.25,"GrossSales":138250,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":29548.75,"SalePrice":125,"Sales":132868.75,"UnitsSold":"1106","Year":"2020"},{"COGS":312500,"Country":"India","Date":"2020-12-01","Discounts":18750,"GrossSales":63900,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":267350,"SalePrice":300,"Sales":45150,"UnitsSold":"213","Year":"2020"},{"COGS":26630,"Country":"USA","Date":"2020-12-01","Discounts":2663,"GrossSales":58580,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":29287,"SalePrice":20,"Sales":55917,"UnitsSold":"2929","Year":"2020"},{"COGS":2850,"Country":"USA","Date":"2020-12-01","Discounts":199.5,"GrossSales":16723,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":13673.5,"SalePrice":7,"Sales":16523.5,"UnitsSold":"2389","Year":"2020"},{"COGS":12435,"Country":"UK","Date":"2020-12-01","Discounts":870.45,"GrossSales":21602,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":8296.55,"SalePrice":7,"Sales":20731.55,"UnitsSold":"3086","Year":"2020"},{"COGS":351000,"Country":"India","Date":"2020-02-01","Discounts":23625,"GrossSales":260750,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":113875,"SalePrice":350,"Sales":237125,"UnitsSold":"745","Year":"2020"},{"COGS":143520,"Country":"Japan","Date":"2020-08-01","Discounts":9660,"GrossSales":443100,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":289920,"SalePrice":350,"Sales":433440,"UnitsSold":"1266","Year":"2020"},{"COGS":312500,"Country":"India","Date":"2020-12-01","Discounts":18750,"GrossSales":1286100,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":954850,"SalePrice":300,"Sales":1267350,"UnitsSold":"4287","Year":"2020"},{"COGS":38010,"Country":"UK","Date":"2020-04-01","Discounts":3420.9,"GrossSales":47895,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":6464.1,"SalePrice":15,"Sales":44474.1,"UnitsSold":"3193","Year":"2020"},{"COGS":11175,"Country":"USA","Date":"2020-01-01","Discounts":1341,"GrossSales":39340,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":26824,"SalePrice":20,"Sales":37999,"UnitsSold":"1967","Year":"2020"},{"COGS":28440,"Country":"Japan","Date":"2020-06-01","Discounts":2559.6,"GrossSales":9465,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":21534.6,"SalePrice":15,"Sales":6905.4,"UnitsSold":"631","Year":"2020"},{"COGS":1686,"Country":"Brazil","Date":"2020-09-01","Discounts":404.64,"GrossSales":41628,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":39537.36,"SalePrice":12,"Sales":41223.36,"UnitsSold":"3469","Year":"2020"},{"COGS":20300,"Country":"USA","Date":"2020-11-01","Discounts":1827,"GrossSales":48225,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":26098,"SalePrice":15,"Sales":46398,"UnitsSold":"3215","Year":"2020"},{"COGS":254800,"Country":"Brazil","Date":"2020-04-01","Discounts":20580,"GrossSales":685650,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":410270,"SalePrice":350,"Sales":665070,"UnitsSold":"1959","Year":"2020"},{"COGS":379600,"Country":"India","Date":"2020-05-01","Discounts":30660,"GrossSales":763350,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":353090,"SalePrice":350,"Sales":732690,"UnitsSold":"2181","Year":"2020"},{"COGS":8169,"Country":"USA","Date":"2020-11-01","Discounts":1960.56,"GrossSales":26460,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":16330.44,"SalePrice":12,"Sales":24499.44,"UnitsSold":"2205","Year":"2020"},{"COGS":388960,"Country":"UK","Date":"2020-06-01","Discounts":31416,"GrossSales":661500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":241124,"SalePrice":350,"Sales":630084,"UnitsSold":"1890","Year":"2020"},{"COGS":114240,"Country":"Japan","Date":"2020-02-01","Discounts":7140,"GrossSales":302125,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":180745,"SalePrice":125,"Sales":294985,"UnitsSold":"2417","Year":"2020"},{"COGS":330600,"Country":"USA","Date":"2020-02-01","Discounts":20662.5,"GrossSales":144750,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":206512.5,"SalePrice":125,"Sales":124087.5,"UnitsSold":"1158","Year":"2020"},{"COGS":15300,"Country":"India","Date":"2020-05-01","Discounts":1377,"GrossSales":12045,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":4632,"SalePrice":15,"Sales":10668,"UnitsSold":"803","Year":"2020"},{"COGS":388960,"Country":"UK","Date":"2020-06-01","Discounts":31416,"GrossSales":1296750,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":876374,"SalePrice":350,"Sales":1265334,"UnitsSold":"3705","Year":"2020"},{"COGS":7490,"Country":"Brazil","Date":"2020-06-01","Discounts":629.16,"GrossSales":4123,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":3996.16,"SalePrice":7,"Sales":3493.84,"UnitsSold":"589","Year":"2020"},{"COGS":28440,"Country":"Japan","Date":"2020-06-01","Discounts":2559.6,"GrossSales":59985,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":28985.4,"SalePrice":15,"Sales":57425.4,"UnitsSold":"3999","Year":"2020"},{"COGS":7490,"Country":"Brazil","Date":"2020-06-01","Discounts":629.16,"GrossSales":29792,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":21672.84,"SalePrice":7,"Sales":29162.84,"UnitsSold":"4256","Year":"2020"},{"COGS":238500,"Country":"UK","Date":"2020-01-01","Discounts":14906.25,"GrossSales":270000,"ManufacturingPrice":260,"MonthName":"January","Product":"Luxe","Profit":16593.75,"SalePrice":125,"Sales":255093.75,"UnitsSold":"2160","Year":"2020"},{"COGS":436540,"Country":"Brazil","Date":"2020-09-01","Discounts":35259,"GrossSales":163100,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":308699,"SalePrice":350,"Sales":127841,"UnitsSold":"466","Year":"2020"},{"COGS":21980,"Country":"USA","Date":"2020-08-01","Discounts":1978.2,"GrossSales":22170,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":1788.2,"SalePrice":15,"Sales":20191.8,"UnitsSold":"1478","Year":"2020"},{"COGS":17430,"Country":"India","Date":"2020-08-01","Discounts":1568.7,"GrossSales":56970,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":37971.3,"SalePrice":15,"Sales":55401.3,"UnitsSold":"3798","Year":"2020"},{"COGS":11530,"Country":"USA","Date":"2020-10-01","Discounts":1037.7,"GrossSales":6705,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":5862.7,"SalePrice":15,"Sales":5667.3,"UnitsSold":"447","Year":"2020"},{"COGS":10010,"Country":"India","Date":"2020-08-01","Discounts":1201.2,"GrossSales":14900,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":3688.8,"SalePrice":20,"Sales":13698.8,"UnitsSold":"745","Year":"2020"},{"COGS":6665,"Country":"Brazil","Date":"2020-11-01","Discounts":559.86,"GrossSales":12124,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":4899.14,"SalePrice":7,"Sales":11564.14,"UnitsSold":"1732","Year":"2020"},{"COGS":11530,"Country":"USA","Date":"2020-10-01","Discounts":1037.7,"GrossSales":26385,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":13817.3,"SalePrice":15,"Sales":25347.3,"UnitsSold":"1759","Year":"2020"},{"COGS":2181,"Country":"Brazil","Date":"2020-02-01","Discounts":610.68,"GrossSales":4056,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":1264.32,"SalePrice":12,"Sales":3445.32,"UnitsSold":"338","Year":"2020"},{"COGS":5652,"Country":"Japan","Date":"2020-08-01","Discounts":1582.56,"GrossSales":46932,"ManufacturingPrice":3,"MonthName":"August","Product":"Kensington","Profit":39697.44,"SalePrice":12,"Sales":45349.44,"UnitsSold":"3911","Year":"2020"},{"COGS":7020,"Country":"Brazil","Date":"2020-01-01","Discounts":1965.6,"GrossSales":53676,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":44690.4,"SalePrice":12,"Sales":51710.4,"UnitsSold":"4473","Year":"2020"},{"COGS":7026,"Country":"UK","Date":"2020-11-01","Discounts":1967.28,"GrossSales":4596,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":4397.28,"SalePrice":12,"Sales":2628.72,"UnitsSold":"383","Year":"2020"},{"COGS":12620,"Country":"Japan","Date":"2020-05-01","Discounts":1325.1,"GrossSales":15930,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":1984.9,"SalePrice":15,"Sales":14604.9,"UnitsSold":"1062","Year":"2020"},{"COGS":5675,"Country":"Japan","Date":"2020-06-01","Discounts":556.15,"GrossSales":28581,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":22349.85,"SalePrice":7,"Sales":28024.85,"UnitsSold":"4083","Year":"2020"},{"COGS":2735,"Country":"USA","Date":"2020-11-01","Discounts":268.03,"GrossSales":27818,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":24814.97,"SalePrice":7,"Sales":27549.97,"UnitsSold":"3974","Year":"2020"},{"COGS":7910,"Country":"Japan","Date":"2020-12-01","Discounts":775.18,"GrossSales":26061,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":17375.82,"SalePrice":7,"Sales":25285.82,"UnitsSold":"3723","Year":"2020"},{"COGS":5215.5,"Country":"UK","Date":"2020-04-01","Discounts":1460.34,"GrossSales":29220,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":22544.16,"SalePrice":12,"Sales":27759.66,"UnitsSold":"2435","Year":"2020"},{"COGS":7910,"Country":"Japan","Date":"2020-12-01","Discounts":775.18,"GrossSales":12341,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":3655.82,"SalePrice":7,"Sales":11565.82,"UnitsSold":"1763","Year":"2020"},{"COGS":5675,"Country":"Japan","Date":"2020-06-01","Discounts":556.15,"GrossSales":31311,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":25079.85,"SalePrice":7,"Sales":30754.85,"UnitsSold":"4473","Year":"2020"},{"COGS":457860,"Country":"USA","Date":"2020-03-01","Discounts":43144.5,"GrossSales":436100,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":64904.5,"SalePrice":350,"Sales":392955.5,"UnitsSold":"1246","Year":"2020"},{"COGS":112000,"Country":"UK","Date":"2020-06-01","Discounts":9408,"GrossSales":484500,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":363092,"SalePrice":300,"Sales":475092,"UnitsSold":"1615","Year":"2020"},{"COGS":545250,"Country":"UK","Date":"2020-10-01","Discounts":45801,"GrossSales":224700,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":366351,"SalePrice":300,"Sales":178899,"UnitsSold":"749","Year":"2020"},{"COGS":19760,"Country":"UK","Date":"2020-10-01","Discounts":2766.4,"GrossSales":26360,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":3833.6,"SalePrice":20,"Sales":23593.6,"UnitsSold":"1318","Year":"2020"},{"COGS":545250,"Country":"UK","Date":"2020-10-01","Discounts":45801,"GrossSales":864600,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":273549,"SalePrice":300,"Sales":818799,"UnitsSold":"2882","Year":"2020"},{"COGS":425500,"Country":"Japan","Date":"2020-05-01","Discounts":35742,"GrossSales":745200,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":283958,"SalePrice":300,"Sales":709458,"UnitsSold":"2484","Year":"2020"},{"COGS":112000,"Country":"UK","Date":"2020-06-01","Discounts":9408,"GrossSales":950700,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":829292,"SalePrice":300,"Sales":941292,"UnitsSold":"3169","Year":"2020"},{"COGS":421560,"Country":"India","Date":"2020-07-01","Discounts":30738.75,"GrossSales":510000,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":57701.25,"SalePrice":125,"Sales":479261.25,"UnitsSold":"4080","Year":"2020"},{"COGS":21010,"Country":"UK","Date":"2020-08-01","Discounts":2206.05,"GrossSales":59145,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":35928.95,"SalePrice":15,"Sales":56938.95,"UnitsSold":"3943","Year":"2020"},{"COGS":15350,"Country":"UK","Date":"2020-09-01","Discounts":2149,"GrossSales":5060,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":12439,"SalePrice":20,"Sales":2911,"UnitsSold":"253","Year":"2020"},{"COGS":414750,"Country":"UK","Date":"2020-07-01","Discounts":34839,"GrossSales":239700,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":209889,"SalePrice":300,"Sales":204861,"UnitsSold":"799","Year":"2020"},{"COGS":6090,"Country":"Brazil","Date":"2020-08-01","Discounts":852.6,"GrossSales":78840,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":71897.4,"SalePrice":20,"Sales":77987.4,"UnitsSold":"3942","Year":"2020"},{"COGS":250440,"Country":"India","Date":"2020-09-01","Discounts":18261.25,"GrossSales":312250,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":43548.75,"SalePrice":125,"Sales":293988.75,"UnitsSold":"2498","Year":"2020"},{"COGS":19760,"Country":"UK","Date":"2020-10-01","Discounts":2766.4,"GrossSales":50340,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":27813.6,"SalePrice":20,"Sales":47573.6,"UnitsSold":"2517","Year":"2020"},{"COGS":343000,"Country":"USA","Date":"2020-12-01","Discounts":28812,"GrossSales":343500,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":28312,"SalePrice":300,"Sales":314688,"UnitsSold":"1145","Year":"2020"},{"COGS":9733.5,"Country":"Japan","Date":"2020-01-01","Discounts":2725.38,"GrossSales":45768,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":33309.12,"SalePrice":12,"Sales":43042.62,"UnitsSold":"3814","Year":"2020"},{"COGS":239750,"Country":"UK","Date":"2020-02-01","Discounts":20139,"GrossSales":356400,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":96511,"SalePrice":300,"Sales":336261,"UnitsSold":"1188","Year":"2020"},{"COGS":686750,"Country":"Brazil","Date":"2020-02-01","Discounts":57687,"GrossSales":669900,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":74537,"SalePrice":300,"Sales":612213,"UnitsSold":"2233","Year":"2020"},{"COGS":197400,"Country":"Japan","Date":"2020-05-01","Discounts":14393.75,"GrossSales":52625,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":159168.75,"SalePrice":125,"Sales":38231.25,"UnitsSold":"421","Year":"2020"},{"COGS":747760,"Country":"UK","Date":"2020-09-01","Discounts":70462,"GrossSales":94150,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":724072,"SalePrice":350,"Sales":23688,"UnitsSold":"269","Year":"2020"},{"COGS":11180,"Country":"Japan","Date":"2020-11-01","Discounts":1565.2,"GrossSales":19040,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":6294.8,"SalePrice":20,"Sales":17474.8,"UnitsSold":"952","Year":"2020"},{"COGS":343000,"Country":"USA","Date":"2020-12-01","Discounts":28812,"GrossSales":889200,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":517388,"SalePrice":300,"Sales":860388,"UnitsSold":"2964","Year":"2020"},{"COGS":2440,"Country":"Japan","Date":"2020-02-01","Discounts":273.28,"GrossSales":10535,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":7821.72,"SalePrice":7,"Sales":10261.72,"UnitsSold":"1505","Year":"2020"},{"COGS":12820,"Country":"USA","Date":"2020-06-01","Discounts":2051.2,"GrossSales":33560,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":18688.8,"SalePrice":20,"Sales":31508.8,"UnitsSold":"1678","Year":"2020"},{"COGS":1285,"Country":"Japan","Date":"2020-05-01","Discounts":143.92,"GrossSales":29743,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":28314.08,"SalePrice":7,"Sales":29599.08,"UnitsSold":"4249","Year":"2020"},{"COGS":12820,"Country":"USA","Date":"2020-06-01","Discounts":2051.2,"GrossSales":33540,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":18668.8,"SalePrice":20,"Sales":31488.8,"UnitsSold":"1677","Year":"2020"},{"COGS":184800,"Country":"Brazil","Date":"2020-08-01","Discounts":15400,"GrossSales":381375,"ManufacturingPrice":3,"MonthName":"August","Product":"Kensington","Profit":181175,"SalePrice":125,"Sales":365975,"UnitsSold":"3051","Year":"2020"},{"COGS":4900,"Country":"UK","Date":"2020-11-01","Discounts":588,"GrossSales":50580,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":45092,"SalePrice":15,"Sales":49992,"UnitsSold":"3372","Year":"2020"},{"COGS":354120,"Country":"Brazil","Date":"2020-12-01","Discounts":38136,"GrossSales":590100,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":197844,"SalePrice":350,"Sales":551964,"UnitsSold":"1686","Year":"2020"},{"COGS":25010,"Country":"UK","Date":"2020-03-01","Discounts":3001.2,"GrossSales":46290,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":18278.8,"SalePrice":15,"Sales":43288.8,"UnitsSold":"3086","Year":"2020"},{"COGS":7080,"Country":"Japan","Date":"2020-06-01","Discounts":1132.8,"GrossSales":83000,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":74787.2,"SalePrice":20,"Sales":81867.2,"UnitsSold":"4150","Year":"2020"},{"COGS":6450,"Country":"India","Date":"2020-07-01","Discounts":1032,"GrossSales":60540,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":53058,"SalePrice":20,"Sales":59508,"UnitsSold":"3027","Year":"2020"},{"COGS":390500,"Country":"UK","Date":"2020-08-01","Discounts":37488,"GrossSales":1307700,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":879712,"SalePrice":300,"Sales":1270212,"UnitsSold":"4359","Year":"2020"},{"COGS":7110,"Country":"India","Date":"2020-12-01","Discounts":853.2,"GrossSales":23835,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":15871.8,"SalePrice":15,"Sales":22981.8,"UnitsSold":"1589","Year":"2020"},{"COGS":133680,"Country":"Brazil","Date":"2020-03-01","Discounts":11140,"GrossSales":334875,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":190055,"SalePrice":125,"Sales":323735,"UnitsSold":"2679","Year":"2020"},{"COGS":6295,"Country":"India","Date":"2020-04-01","Discounts":705.04,"GrossSales":23807,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":16806.96,"SalePrice":7,"Sales":23101.96,"UnitsSold":"3401","Year":"2020"},{"COGS":5475,"Country":"India","Date":"2020-05-01","Discounts":613.2,"GrossSales":19705,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":13616.8,"SalePrice":7,"Sales":19091.8,"UnitsSold":"2815","Year":"2020"},{"COGS":13660,"Country":"India","Date":"2020-06-01","Discounts":2185.6,"GrossSales":59280,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":43434.4,"SalePrice":20,"Sales":57094.4,"UnitsSold":"2964","Year":"2020"},{"COGS":615000,"Country":"Brazil","Date":"2020-06-01","Discounts":59040,"GrossSales":1251900,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":577860,"SalePrice":300,"Sales":1192860,"UnitsSold":"4173","Year":"2020"},{"COGS":3390,"Country":"USA","Date":"2020-08-01","Discounts":379.68,"GrossSales":8099,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":4329.32,"SalePrice":7,"Sales":7719.32,"UnitsSold":"1157","Year":"2020"},{"COGS":7990,"Country":"India","Date":"2020-08-01","Discounts":894.88,"GrossSales":21455,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":12570.12,"SalePrice":7,"Sales":20560.12,"UnitsSold":"3065","Year":"2020"},{"COGS":19340,"Country":"India","Date":"2020-09-01","Discounts":3094.4,"GrossSales":81600,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":59165.6,"SalePrice":20,"Sales":78505.6,"UnitsSold":"4080","Year":"2020"},{"COGS":29930,"Country":"Brazil","Date":"2020-09-01","Discounts":4788.8,"GrossSales":34260,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":458.8,"SalePrice":20,"Sales":29471.2,"UnitsSold":"1713","Year":"2020"},{"COGS":354120,"Country":"Brazil","Date":"2020-12-01","Discounts":38136,"GrossSales":591850,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":199594,"SalePrice":350,"Sales":553714,"UnitsSold":"1691","Year":"2020"},{"COGS":1794,"Country":"Japan","Date":"2020-03-01","Discounts":574.08,"GrossSales":27660,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":25291.92,"SalePrice":12,"Sales":27085.92,"UnitsSold":"2305","Year":"2020"},{"COGS":14535,"Country":"USA","Date":"2020-06-01","Discounts":1627.92,"GrossSales":23807,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":7644.08,"SalePrice":7,"Sales":22179.08,"UnitsSold":"3401","Year":"2020"},{"COGS":11690,"Country":"India","Date":"2020-06-01","Discounts":1309.28,"GrossSales":16016,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":3016.72,"SalePrice":7,"Sales":14706.72,"UnitsSold":"2288","Year":"2020"},{"COGS":158750,"Country":"Brazil","Date":"2020-12-01","Discounts":15240,"GrossSales":1225800,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":1051810,"SalePrice":300,"Sales":1210560,"UnitsSold":"4086","Year":"2020"},{"COGS":149370,"Country":"UK","Date":"2020-04-01","Discounts":16086,"GrossSales":927850,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":762394,"SalePrice":350,"Sales":911764,"UnitsSold":"2651","Year":"2020"},{"COGS":11690,"Country":"India","Date":"2020-06-01","Discounts":1309.28,"GrossSales":27797,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":14797.72,"SalePrice":7,"Sales":26487.72,"UnitsSold":"3971","Year":"2020"},{"COGS":99060,"Country":"UK","Date":"2020-08-01","Discounts":10668,"GrossSales":879200,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":769472,"SalePrice":350,"Sales":868532,"UnitsSold":"2512","Year":"2020"},{"COGS":109720,"Country":"India","Date":"2020-08-01","Discounts":11816,"GrossSales":960750,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":839214,"SalePrice":350,"Sales":948934,"UnitsSold":"2745","Year":"2020"},{"COGS":533500,"Country":"Japan","Date":"2020-09-01","Discounts":51216,"GrossSales":570900,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":13816,"SalePrice":300,"Sales":519684,"UnitsSold":"1903","Year":"2020"},{"COGS":7080,"Country":"Japan","Date":"2020-06-01","Discounts":1132.8,"GrossSales":58280,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":50067.2,"SalePrice":20,"Sales":57147.2,"UnitsSold":"2914","Year":"2020"},{"COGS":14535,"Country":"USA","Date":"2020-06-01","Discounts":1627.92,"GrossSales":13223,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":2939.92,"SalePrice":7,"Sales":11595.08,"UnitsSold":"1889","Year":"2020"},{"COGS":13660,"Country":"India","Date":"2020-06-01","Discounts":2185.6,"GrossSales":29320,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":13474.4,"SalePrice":20,"Sales":27134.4,"UnitsSold":"1466","Year":"2020"},{"COGS":615000,"Country":"Brazil","Date":"2020-06-01","Discounts":59040,"GrossSales":266100,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":407940,"SalePrice":300,"Sales":207060,"UnitsSold":"887","Year":"2020"},{"COGS":15200,"Country":"India","Date":"2020-11-01","Discounts":2432,"GrossSales":7900,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":9732,"SalePrice":20,"Sales":5468,"UnitsSold":"395","Year":"2020"},{"COGS":7110,"Country":"India","Date":"2020-12-01","Discounts":853.2,"GrossSales":25395,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":17431.8,"SalePrice":15,"Sales":24541.8,"UnitsSold":"1693","Year":"2020"},{"COGS":158750,"Country":"Brazil","Date":"2020-12-01","Discounts":15240,"GrossSales":794700,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":620710,"SalePrice":300,"Sales":779460,"UnitsSold":"2649","Year":"2020"},{"COGS":4365,"Country":"USA","Date":"2020-07-01","Discounts":698.4,"GrossSales":72160,"ManufacturingPrice":250,"MonthName":"July","Product":"Mandarin","Profit":67096.6,"SalePrice":20,"Sales":71461.6,"UnitsSold":"3608","Year":"2020"},{"COGS":273500,"Country":"Japan","Date":"2020-06-01","Discounts":29538,"GrossSales":321900,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":18862,"SalePrice":300,"Sales":292362,"UnitsSold":"1073","Year":"2020"},{"COGS":950625,"Country":"Japan","Date":"2020-04-01","Discounts":102667.5,"GrossSales":650100,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":403192.5,"SalePrice":300,"Sales":547432.5,"UnitsSold":"2167","Year":"2020"},{"COGS":433160,"Country":"UK","Date":"2020-05-01","Discounts":52479,"GrossSales":461650,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":23989,"SalePrice":350,"Sales":409171,"UnitsSold":"1319","Year":"2020"},{"COGS":6963,"Country":"Japan","Date":"2020-11-01","Discounts":2506.68,"GrossSales":15024,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":5554.32,"SalePrice":12,"Sales":12517.32,"UnitsSold":"1252","Year":"2020"},{"COGS":335640,"Country":"USA","Date":"2020-12-01","Discounts":31466.25,"GrossSales":144500,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":222606.25,"SalePrice":125,"Sales":113033.75,"UnitsSold":"1156","Year":"2020"},{"COGS":641250,"Country":"Brazil","Date":"2020-01-01","Discounts":69255,"GrossSales":345900,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":364605,"SalePrice":300,"Sales":276645,"UnitsSold":"1153","Year":"2020"},{"COGS":628420,"Country":"Brazil","Date":"2020-01-01","Discounts":76135.5,"GrossSales":952000,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":247444.5,"SalePrice":350,"Sales":875864.5,"UnitsSold":"2720","Year":"2020"},{"COGS":36750,"Country":"USA","Date":"2020-04-01","Discounts":4961.25,"GrossSales":54870,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":13158.75,"SalePrice":15,"Sales":49908.75,"UnitsSold":"3658","Year":"2020"},{"COGS":273500,"Country":"Japan","Date":"2020-06-01","Discounts":29538,"GrossSales":885000,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":581962,"SalePrice":300,"Sales":855462,"UnitsSold":"2950","Year":"2020"},{"COGS":12270,"Country":"UK","Date":"2020-10-01","Discounts":1656.45,"GrossSales":27315,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":13388.55,"SalePrice":15,"Sales":25658.55,"UnitsSold":"1821","Year":"2020"},{"COGS":331000,"Country":"UK","Date":"2020-11-01","Discounts":35748,"GrossSales":338100,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":28648,"SalePrice":300,"Sales":302352,"UnitsSold":"1127","Year":"2020"},{"COGS":335640,"Country":"USA","Date":"2020-12-01","Discounts":31466.25,"GrossSales":107750,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":259356.25,"SalePrice":125,"Sales":76283.75,"UnitsSold":"862","Year":"2020"},{"COGS":2450,"Country":"Brazil","Date":"2020-05-01","Discounts":330.75,"GrossSales":57075,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":54294.25,"SalePrice":15,"Sales":56744.25,"UnitsSold":"3805","Year":"2020"},{"COGS":948375,"Country":"Japan","Date":"2020-07-01","Discounts":102424.5,"GrossSales":424500,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":626299.5,"SalePrice":300,"Sales":322075.5,"UnitsSold":"1415","Year":"2020"},{"COGS":339820,"Country":"India","Date":"2020-07-01","Discounts":41170.5,"GrossSales":780850,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":399859.5,"SalePrice":350,"Sales":739679.5,"UnitsSold":"2231","Year":"2020"},{"COGS":68040,"Country":"Japan","Date":"2020-09-01","Discounts":6378.75,"GrossSales":456125,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":381706.25,"SalePrice":125,"Sales":449746.25,"UnitsSold":"3649","Year":"2020"},{"COGS":253200,"Country":"Brazil","Date":"2020-09-01","Discounts":23737.5,"GrossSales":368500,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":91562.5,"SalePrice":125,"Sales":344762.5,"UnitsSold":"2948","Year":"2020"},{"COGS":329940,"Country":"Japan","Date":"2020-10-01","Discounts":39973.5,"GrossSales":1188250,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":818336.5,"SalePrice":350,"Sales":1148276.5,"UnitsSold":"3395","Year":"2020"},{"COGS":5868,"Country":"USA","Date":"2020-01-01","Discounts":2112.48,"GrossSales":31800,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":23819.52,"SalePrice":12,"Sales":29687.52,"UnitsSold":"2650","Year":"2020"},{"COGS":664750,"Country":"India","Date":"2020-02-01","Discounts":71793,"GrossSales":175500,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":561043,"SalePrice":300,"Sales":103707,"UnitsSold":"585","Year":"2020"},{"COGS":351390,"Country":"USA","Date":"2020-04-01","Discounts":42572.25,"GrossSales":460600,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":66637.75,"SalePrice":350,"Sales":418027.75,"UnitsSold":"1316","Year":"2020"},{"COGS":2640,"Country":"India","Date":"2020-05-01","Discounts":950.4,"GrossSales":53508,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":49917.6,"SalePrice":12,"Sales":52557.6,"UnitsSold":"4459","Year":"2020"},{"COGS":466750,"Country":"USA","Date":"2020-09-01","Discounts":50409,"GrossSales":813300,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":296141,"SalePrice":300,"Sales":762891,"UnitsSold":"2711","Year":"2020"},{"COGS":12270,"Country":"UK","Date":"2020-10-01","Discounts":1656.45,"GrossSales":54195,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":40268.55,"SalePrice":15,"Sales":52538.55,"UnitsSold":"3613","Year":"2020"},{"COGS":105240,"Country":"Brazil","Date":"2020-11-01","Discounts":9866.25,"GrossSales":230875,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":115768.75,"SalePrice":125,"Sales":221008.75,"UnitsSold":"1847","Year":"2020"},{"COGS":538460,"Country":"USA","Date":"2020-09-01","Discounts":65236.5,"GrossSales":1048600,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":444903.5,"SalePrice":350,"Sales":983363.5,"UnitsSold":"2996","Year":"2020"},{"COGS":329940,"Country":"Japan","Date":"2020-10-01","Discounts":39973.5,"GrossSales":993300,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":623386.5,"SalePrice":350,"Sales":953326.5,"UnitsSold":"2838","Year":"2020"},{"COGS":16940,"Country":"Brazil","Date":"2020-11-01","Discounts":3049.2,"GrossSales":30720,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":10730.8,"SalePrice":20,"Sales":27670.8,"UnitsSold":"1536","Year":"2020"},{"COGS":6630,"Country":"India","Date":"2020-05-01","Discounts":1193.4,"GrossSales":25820,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":17996.6,"SalePrice":20,"Sales":24626.6,"UnitsSold":"1291","Year":"2020"},{"COGS":4095,"Country":"Japan","Date":"2020-07-01","Discounts":515.97,"GrossSales":8491,"ManufacturingPrice":3,"MonthName":"July","Product":"Kensington","Profit":3880.03,"SalePrice":7,"Sales":7975.03,"UnitsSold":"1213","Year":"2020"},{"COGS":4740,"Country":"India","Date":"2020-09-01","Discounts":1706.4,"GrossSales":28440,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":21993.6,"SalePrice":12,"Sales":26733.6,"UnitsSold":"2370","Year":"2020"},{"COGS":2605,"Country":"Brazil","Date":"2020-12-01","Discounts":328.23,"GrossSales":13853,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":10919.77,"SalePrice":7,"Sales":13524.77,"UnitsSold":"1979","Year":"2020"},{"COGS":9730,"Country":"USA","Date":"2020-03-01","Discounts":1751.4,"GrossSales":57580,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":46098.6,"SalePrice":20,"Sales":55828.6,"UnitsSold":"2879","Year":"2020"},{"COGS":10380,"Country":"Brazil","Date":"2020-06-01","Discounts":1868.4,"GrossSales":34140,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":21891.6,"SalePrice":20,"Sales":32271.6,"UnitsSold":"1707","Year":"2020"},{"COGS":1800,"Country":"India","Date":"2020-10-01","Discounts":226.8,"GrossSales":20531,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":18504.2,"SalePrice":7,"Sales":20304.2,"UnitsSold":"2933","Year":"2020"},{"COGS":5901,"Country":"UK","Date":"2020-03-01","Discounts":2124.36,"GrossSales":12168,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":4142.64,"SalePrice":12,"Sales":10043.64,"UnitsSold":"1014","Year":"2020"},{"COGS":26280,"Country":"Brazil","Date":"2020-04-01","Discounts":3547.8,"GrossSales":10395,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":19432.8,"SalePrice":15,"Sales":6847.2,"UnitsSold":"693","Year":"2020"},{"COGS":1800,"Country":"India","Date":"2020-10-01","Discounts":226.8,"GrossSales":26187,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":24160.2,"SalePrice":7,"Sales":25960.2,"UnitsSold":"3741","Year":"2020"},{"COGS":2605,"Country":"Brazil","Date":"2020-12-01","Discounts":328.23,"GrossSales":27965,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":25031.77,"SalePrice":7,"Sales":27636.77,"UnitsSold":"3995","Year":"2020"},{"COGS":10380,"Country":"Brazil","Date":"2020-06-01","Discounts":1868.4,"GrossSales":19060,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":6811.6,"SalePrice":20,"Sales":17191.6,"UnitsSold":"953","Year":"2020"},{"COGS":16305,"Country":"Japan","Date":"2020-07-01","Discounts":2201.18,"GrossSales":37950,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":19443.82,"SalePrice":15,"Sales":35748.82,"UnitsSold":"2530","Year":"2020"},{"COGS":16185,"Country":"Japan","Date":"2019-01-01","Discounts":0,"GrossSales":27440,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":11255,"SalePrice":20,"Sales":27440,"UnitsSold":"1372","Year":"2019"},{"COGS":13210,"Country":"India","Date":"2019-01-01","Discounts":0,"GrossSales":55240,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":42030,"SalePrice":20,"Sales":55240,"UnitsSold":"2762","Year":"2019"},{"COGS":21780,"Country":"UK","Date":"2019-06-01","Discounts":0,"GrossSales":21960,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":180,"SalePrice":15,"Sales":21960,"UnitsSold":"1464","Year":"2019"},{"COGS":8880,"Country":"India","Date":"2019-06-01","Discounts":0,"GrossSales":10785,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":1905,"SalePrice":15,"Sales":10785,"UnitsSold":"719","Year":"2019"},{"COGS":24700,"Country":"Brazil","Date":"2019-06-01","Discounts":0,"GrossSales":53640,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":28940,"SalePrice":15,"Sales":53640,"UnitsSold":"3576","Year":"2019"},{"COGS":393380,"Country":"India","Date":"2019-12-01","Discounts":0,"GrossSales":1547700,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":1154320,"SalePrice":350,"Sales":1547700,"UnitsSold":"4422","Year":"2019"},{"COGS":9210,"Country":"India","Date":"2019-03-01","Discounts":0,"GrossSales":54735,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":45525,"SalePrice":15,"Sales":54735,"UnitsSold":"3649","Year":"2019"},{"COGS":7554,"Country":"Japan","Date":"2019-06-01","Discounts":0,"GrossSales":50064,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":42510,"SalePrice":12,"Sales":50064,"UnitsSold":"4172","Year":"2019"},{"COGS":18990,"Country":"UK","Date":"2019-06-01","Discounts":0,"GrossSales":76820,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":57830,"SalePrice":20,"Sales":76820,"UnitsSold":"3841","Year":"2019"},{"COGS":4635,"Country":"India","Date":"2019-06-01","Discounts":0,"GrossSales":44712,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":40077,"SalePrice":12,"Sales":44712,"UnitsSold":"3726","Year":"2019","undefined":"Total"},{"COGS":24700,"Country":"Brazil","Date":"2019-06-01","Discounts":0,"GrossSales":39375,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":14675,"SalePrice":15,"Sales":39375,"UnitsSold":"2625","Year":"2019","undefined":"10"},{"COGS":319860,"Country":"Japan","Date":"2019-07-01","Discounts":0,"GrossSales":244750,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":75110,"SalePrice":125,"Sales":244750,"UnitsSold":"1958","Year":"2019","undefined":"20"},{"COGS":239500,"Country":"Brazil","Date":"2019-08-01","Discounts":0,"GrossSales":981300,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":741800,"SalePrice":300,"Sales":981300,"UnitsSold":"3271","Year":"2019"},{"COGS":10730,"Country":"India","Date":"2019-09-01","Discounts":0,"GrossSales":14637,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":3907,"SalePrice":7,"Sales":14637,"UnitsSold":"2091","Year":"2019"},{"COGS":41400,"Country":"Japan","Date":"2018-10-01","Discounts":0,"GrossSales":316250,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":274850,"SalePrice":125,"Sales":316250,"UnitsSold":"2530","Year":"2018"},{"COGS":6150,"Country":"USA","Date":"2019-12-01","Discounts":0,"GrossSales":42375,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":36225,"SalePrice":15,"Sales":42375,"UnitsSold":"2825","Year":"2019"},{"COGS":2920,"Country":"Japan","Date":"2019-02-01","Discounts":0,"GrossSales":50260,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":47340,"SalePrice":20,"Sales":50260,"UnitsSold":"2513","Year":"2019"},{"COGS":9740,"Country":"Brazil","Date":"2019-02-01","Discounts":0,"GrossSales":13245,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":3505,"SalePrice":15,"Sales":13245,"UnitsSold":"883","Year":"2019"},{"COGS":7554,"Country":"Japan","Date":"2019-06-01","Discounts":0,"GrossSales":25044,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":17490,"SalePrice":12,"Sales":25044,"UnitsSold":"2087","Year":"2019"},{"COGS":261560,"Country":"India","Date":"2019-06-01","Discounts":0,"GrossSales":897050,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":635490,"SalePrice":350,"Sales":897050,"UnitsSold":"2563","Year":"2019"},{"COGS":1101,"Country":"India","Date":"2019-07-01","Discounts":0,"GrossSales":34152,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":33051,"SalePrice":12,"Sales":34152,"UnitsSold":"2846","Year":"2019"},{"COGS":4415,"Country":"Brazil","Date":"2019-08-01","Discounts":0,"GrossSales":6979,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":2564,"SalePrice":7,"Sales":6979,"UnitsSold":"997","Year":"2019"},{"COGS":5490,"Country":"UK","Date":"2018-09-01","Discounts":0,"GrossSales":51315,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":45825,"SalePrice":15,"Sales":51315,"UnitsSold":"3421","Year":"2018"},{"COGS":5490,"Country":"UK","Date":"2018-09-01","Discounts":0,"GrossSales":1050000,"ManufacturingPrice":10,"MonthName":"September","Product":"Marchesa","Profit":1044510,"SalePrice":15,"Sales":1050000,"UnitsSold":"70000","Year":"2018"},{"COGS":197000,"Country":"Brazil","Date":"2018-09-01","Discounts":0,"GrossSales":687300,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":490300,"SalePrice":300,"Sales":687300,"UnitsSold":"2291","Year":"2018"},{"COGS":24720,"Country":"Brazil","Date":"2019-09-01","Discounts":0,"GrossSales":34350,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":9630,"SalePrice":15,"Sales":34350,"UnitsSold":"2290","Year":"2019"},{"COGS":5715,"Country":"USA","Date":"2019-10-01","Discounts":0,"GrossSales":14931,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":9216,"SalePrice":7,"Sales":14931,"UnitsSold":"2133","Year":"2019"},{"COGS":448500,"Country":"Japan","Date":"2018-11-01","Discounts":0,"GrossSales":1216250,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":767750,"SalePrice":350,"Sales":1216250,"UnitsSold":"3475","Year":"2018"},{"COGS":2736,"Country":"USA","Date":"2018-11-01","Discounts":0,"GrossSales":44232,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":41496,"SalePrice":12,"Sales":44232,"UnitsSold":"3686","Year":"2018"},{"COGS":21520,"Country":"Japan","Date":"2018-12-01","Discounts":0,"GrossSales":49785,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":28265,"SalePrice":15,"Sales":49785,"UnitsSold":"3319","Year":"2018"},{"COGS":18170,"Country":"Japan","Date":"2019-12-01","Discounts":0,"GrossSales":72340,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":54170,"SalePrice":20,"Sales":72340,"UnitsSold":"3617","Year":"2019"},{"COGS":393380,"Country":"India","Date":"2019-12-01","Discounts":0,"GrossSales":443100,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":49720,"SalePrice":350,"Sales":443100,"UnitsSold":"1266","Year":"2019"},{"COGS":7465,"Country":"Brazil","Date":"2019-01-01","Discounts":0,"GrossSales":6258,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":1207,"SalePrice":7,"Sales":6258,"UnitsSold":"894","Year":"2019"},{"COGS":216480,"Country":"UK","Date":"2019-02-01","Discounts":0,"GrossSales":340625,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":124145,"SalePrice":125,"Sales":340625,"UnitsSold":"2725","Year":"2019"},{"COGS":6483,"Country":"India","Date":"2019-03-01","Discounts":0,"GrossSales":36732,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":30249,"SalePrice":12,"Sales":36732,"UnitsSold":"3061","Year":"2019"},{"COGS":261560,"Country":"India","Date":"2019-06-01","Discounts":0,"GrossSales":1385300,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":1123740,"SalePrice":350,"Sales":1385300,"UnitsSold":"3958","Year":"2019"},{"COGS":4635,"Country":"India","Date":"2019-06-01","Discounts":0,"GrossSales":47040,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":42405,"SalePrice":12,"Sales":47040,"UnitsSold":"3920","Year":"2019"},{"COGS":338520,"Country":"USA","Date":"2019-08-01","Discounts":0,"GrossSales":422625,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":84105,"SalePrice":125,"Sales":422625,"UnitsSold":"3381","Year":"2019"},{"COGS":41400,"Country":"Japan","Date":"2018-10-01","Discounts":0,"GrossSales":136750,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":95350,"SalePrice":125,"Sales":136750,"UnitsSold":"1094","Year":"2018"},{"COGS":500250,"Country":"Japan","Date":"2019-02-01","Discounts":0,"GrossSales":1292100,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":791850,"SalePrice":300,"Sales":1292100,"UnitsSold":"4307","Year":"2019"},{"COGS":8514,"Country":"India","Date":"2019-04-01","Discounts":0,"GrossSales":10536,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":2022,"SalePrice":12,"Sales":10536,"UnitsSold":"878","Year":"2019"},{"COGS":21780,"Country":"UK","Date":"2019-06-01","Discounts":0,"GrossSales":7440,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":14340,"SalePrice":15,"Sales":7440,"UnitsSold":"496","Year":"2019"},{"COGS":8880,"Country":"India","Date":"2019-06-01","Discounts":0,"GrossSales":50505,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":41625,"SalePrice":15,"Sales":50505,"UnitsSold":"3367","Year":"2019"},{"COGS":397020,"Country":"UK","Date":"2018-09-01","Discounts":0,"GrossSales":1358000,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":960980,"SalePrice":350,"Sales":1358000,"UnitsSold":"3880","Year":"2018"},{"COGS":537750,"Country":"UK","Date":"2019-09-01","Discounts":0,"GrossSales":616500,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":78750,"SalePrice":300,"Sales":616500,"UnitsSold":"2055","Year":"2019"},{"COGS":18170,"Country":"Japan","Date":"2019-12-01","Discounts":0,"GrossSales":80820,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":62650,"SalePrice":20,"Sales":80820,"UnitsSold":"4041","Year":"2019"},{"COGS":715000,"Country":"UK","Date":"2019-02-01","Discounts":0,"GrossSales":1132950,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":417950,"SalePrice":350,"Sales":1132950,"UnitsSold":"3237","Year":"2019"},{"COGS":5859,"Country":"USA","Date":"2019-04-01","Discounts":0,"GrossSales":7560,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":1701,"SalePrice":12,"Sales":7560,"UnitsSold":"630","Year":"2019"},{"COGS":506340,"Country":"India","Date":"2019-04-01","Discounts":0,"GrossSales":526250,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":19910,"SalePrice":125,"Sales":526250,"UnitsSold":"4210","Year":"2019"},{"COGS":18990,"Country":"UK","Date":"2019-06-01","Discounts":0,"GrossSales":22540,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":3550,"SalePrice":20,"Sales":22540,"UnitsSold":"1127","Year":"2019"},{"COGS":8430,"Country":"India","Date":"2019-07-01","Discounts":0,"GrossSales":24066,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":15636,"SalePrice":7,"Sales":24066,"UnitsSold":"3438","Year":"2019"},{"COGS":6423,"Country":"USA","Date":"2019-08-01","Discounts":0,"GrossSales":24180,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":17757,"SalePrice":12,"Sales":24180,"UnitsSold":"2015","Year":"2019"},{"COGS":5715,"Country":"USA","Date":"2019-10-01","Discounts":0,"GrossSales":17738,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":12023,"SalePrice":7,"Sales":17738,"UnitsSold":"2534","Year":"2019"},{"COGS":6150,"Country":"USA","Date":"2019-12-01","Discounts":0,"GrossSales":20760,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":14610,"SalePrice":15,"Sales":20760,"UnitsSold":"1384","Year":"2019"},{"COGS":19725,"Country":"UK","Date":"2019-01-01","Discounts":276.15,"GrossSales":24927,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":4925.85,"SalePrice":7,"Sales":24650.85,"UnitsSold":"3561","Year":"2019"},{"COGS":22960,"Country":"UK","Date":"2019-02-01","Discounts":344.4,"GrossSales":27345,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":4040.6,"SalePrice":15,"Sales":27000.6,"UnitsSold":"1823","Year":"2019"},{"COGS":5150,"Country":"UK","Date":"2019-05-01","Discounts":72.1,"GrossSales":19565,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":14342.9,"SalePrice":7,"Sales":19492.9,"UnitsSold":"2795","Year":"2019"},{"COGS":3195,"Country":"UK","Date":"2019-11-01","Discounts":44.73,"GrossSales":3199,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":40.73,"SalePrice":7,"Sales":3154.27,"UnitsSold":"457","Year":"2019"},{"COGS":6630,"Country":"Japan","Date":"2019-03-01","Discounts":92.82,"GrossSales":26495,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":19772.18,"SalePrice":7,"Sales":26402.18,"UnitsSold":"3785","Year":"2019"},{"COGS":5574,"Country":"USA","Date":"2019-02-01","Discounts":222.96,"GrossSales":8976,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":3179.04,"SalePrice":12,"Sales":8753.04,"UnitsSold":"748","Year":"2019"},{"COGS":314600,"Country":"Brazil","Date":"2019-03-01","Discounts":4235,"GrossSales":357350,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":38515,"SalePrice":350,"Sales":353115,"UnitsSold":"1021","Year":"2019"},{"COGS":12645,"Country":"USA","Date":"2019-07-01","Discounts":177.03,"GrossSales":14532,"ManufacturingPrice":3,"MonthName":"July","Product":"Kensington","Profit":1709.97,"SalePrice":7,"Sales":14354.97,"UnitsSold":"2076","Year":"2019"},{"COGS":4335,"Country":"Japan","Date":"2019-09-01","Discounts":173.4,"GrossSales":51792,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":47283.6,"SalePrice":12,"Sales":51618.6,"UnitsSold":"4316","Year":"2019"},{"COGS":39600,"Country":"USA","Date":"2018-09-01","Discounts":412.5,"GrossSales":331750,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":291737.5,"SalePrice":125,"Sales":331337.5,"UnitsSold":"2654","Year":"2018"},{"COGS":8013,"Country":"UK","Date":"2019-09-01","Discounts":320.52,"GrossSales":50088,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":41754.48,"SalePrice":12,"Sales":49767.48,"UnitsSold":"4174","Year":"2019"},{"COGS":2298,"Country":"India","Date":"2018-10-01","Discounts":91.92,"GrossSales":20100,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":17710.08,"SalePrice":12,"Sales":20008.08,"UnitsSold":"1675","Year":"2018"},{"COGS":123500,"Country":"Brazil","Date":"2018-10-01","Discounts":1482,"GrossSales":471600,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":346618,"SalePrice":300,"Sales":470118,"UnitsSold":"1572","Year":"2018"},{"COGS":363220,"Country":"Brazil","Date":"2019-10-01","Discounts":4889.5,"GrossSales":1307600,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":939490.5,"SalePrice":350,"Sales":1302710.5,"UnitsSold":"3736","Year":"2019"},{"COGS":560300,"Country":"UK","Date":"2019-12-01","Discounts":7542.5,"GrossSales":669900,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":102057.5,"SalePrice":350,"Sales":662357.5,"UnitsSold":"1914","Year":"2019"},{"COGS":22140,"Country":"Brazil","Date":"2019-03-01","Discounts":332.1,"GrossSales":41130,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":18657.9,"SalePrice":15,"Sales":40797.9,"UnitsSold":"2742","Year":"2019"},{"COGS":575250,"Country":"USA","Date":"2019-04-01","Discounts":6903,"GrossSales":449700,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":132453,"SalePrice":300,"Sales":442797,"UnitsSold":"1499","Year":"2019"},{"COGS":13755,"Country":"UK","Date":"2019-07-01","Discounts":275.1,"GrossSales":75440,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":61409.9,"SalePrice":20,"Sales":75164.9,"UnitsSold":"3772","Year":"2019"},{"COGS":9150,"Country":"Japan","Date":"2019-08-01","Discounts":128.1,"GrossSales":7784,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":1494.1,"SalePrice":7,"Sales":7655.9,"UnitsSold":"1112","Year":"2019"},{"COGS":624500,"Country":"USA","Date":"2018-09-01","Discounts":7494,"GrossSales":516900,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":115094,"SalePrice":300,"Sales":509406,"UnitsSold":"1723","Year":"2018"},{"COGS":79560,"Country":"USA","Date":"2018-10-01","Discounts":828.75,"GrossSales":52875,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":27513.75,"SalePrice":125,"Sales":52046.25,"UnitsSold":"423","Year":"2018"},{"COGS":15140,"Country":"USA","Date":"2019-02-01","Discounts":227.1,"GrossSales":35520,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":20152.9,"SalePrice":15,"Sales":35292.9,"UnitsSold":"2368","Year":"2019"},{"COGS":22462.5,"Country":"USA","Date":"2019-04-01","Discounts":314.48,"GrossSales":11102,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":11674.98,"SalePrice":7,"Sales":10787.52,"UnitsSold":"1586","Year":"2019"},{"COGS":87240,"Country":"USA","Date":"2019-06-01","Discounts":908.75,"GrossSales":423250,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":335101.25,"SalePrice":125,"Sales":422341.25,"UnitsSold":"3386","Year":"2019"},{"COGS":94440,"Country":"UK","Date":"2019-06-01","Discounts":983.75,"GrossSales":106500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":11076.25,"SalePrice":125,"Sales":105516.25,"UnitsSold":"852","Year":"2019"},{"COGS":218760,"Country":"Brazil","Date":"2019-07-01","Discounts":2278.75,"GrossSales":347875,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":126836.25,"SalePrice":125,"Sales":345596.25,"UnitsSold":"2783","Year":"2019"},{"COGS":7470,"Country":"India","Date":"2019-09-01","Discounts":112.05,"GrossSales":40260,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":32677.95,"SalePrice":15,"Sales":40147.95,"UnitsSold":"2684","Year":"2019"},{"COGS":2298,"Country":"India","Date":"2018-10-01","Discounts":91.92,"GrossSales":52716,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":50326.08,"SalePrice":12,"Sales":52624.08,"UnitsSold":"4393","Year":"2018"},{"COGS":726250,"Country":"USA","Date":"2019-11-01","Discounts":8715,"GrossSales":1224900,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":489935,"SalePrice":300,"Sales":1216185,"UnitsSold":"4083","Year":"2019"},{"COGS":560300,"Country":"UK","Date":"2019-12-01","Discounts":7542.5,"GrossSales":985600,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":417757.5,"SalePrice":350,"Sales":978057.5,"UnitsSold":"2816","Year":"2019"},{"COGS":38640,"Country":"UK","Date":"2019-04-01","Discounts":772.8,"GrossSales":85880,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":46467.2,"SalePrice":20,"Sales":85107.2,"UnitsSold":"4294","Year":"2019"},{"COGS":1810,"Country":"Brazil","Date":"2019-05-01","Discounts":25.34,"GrossSales":19992,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":18156.66,"SalePrice":7,"Sales":19966.66,"UnitsSold":"2856","Year":"2019"},{"COGS":110760,"Country":"Japan","Date":"2019-08-01","Discounts":1153.75,"GrossSales":175875,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":63961.25,"SalePrice":125,"Sales":174721.25,"UnitsSold":"1407","Year":"2019"},{"COGS":79560,"Country":"USA","Date":"2018-10-01","Discounts":828.75,"GrossSales":481250,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":400861.25,"SalePrice":125,"Sales":480421.25,"UnitsSold":"3850","Year":"2018"},{"COGS":10460,"Country":"Japan","Date":"2018-11-01","Discounts":146.44,"GrossSales":19992,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":9385.56,"SalePrice":7,"Sales":19845.56,"UnitsSold":"2856","Year":"2018"},{"COGS":1315,"Country":"India","Date":"2019-03-01","Discounts":18.41,"GrossSales":8855,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":7521.59,"SalePrice":7,"Sales":8836.59,"UnitsSold":"1265","Year":"2019"},{"COGS":245310,"Country":"Japan","Date":"2019-04-01","Discounts":3302.25,"GrossSales":1362200,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":1113587.75,"SalePrice":350,"Sales":1358897.75,"UnitsSold":"3892","Year":"2019"},{"COGS":87240,"Country":"USA","Date":"2019-06-01","Discounts":908.75,"GrossSales":383500,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":295351.25,"SalePrice":125,"Sales":382591.25,"UnitsSold":"3068","Year":"2019"},{"COGS":94440,"Country":"UK","Date":"2019-06-01","Discounts":983.75,"GrossSales":272625,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":177201.25,"SalePrice":125,"Sales":271641.25,"UnitsSold":"2181","Year":"2019"},{"COGS":246500,"Country":"India","Date":"2019-09-01","Discounts":2958,"GrossSales":406800,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":157342,"SalePrice":300,"Sales":403842,"UnitsSold":"1356","Year":"2019"},{"COGS":123500,"Country":"Brazil","Date":"2018-10-01","Discounts":1482,"GrossSales":763500,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":638518,"SalePrice":300,"Sales":762018,"UnitsSold":"2545","Year":"2018"},{"COGS":363220,"Country":"Brazil","Date":"2019-10-01","Discounts":4889.5,"GrossSales":634900,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":266790.5,"SalePrice":350,"Sales":630010.5,"UnitsSold":"1814","Year":"2019"},{"COGS":209280,"Country":"UK","Date":"2019-11-01","Discounts":2180,"GrossSales":186875,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":24585,"SalePrice":125,"Sales":184695,"UnitsSold":"1495","Year":"2019"},{"COGS":5967,"Country":"USA","Date":"2018-09-01","Discounts":238.68,"GrossSales":13848,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":7642.32,"SalePrice":12,"Sales":13609.32,"UnitsSold":"1154","Year":"2018"},{"COGS":3210,"Country":"UK","Date":"2018-11-01","Discounts":48.15,"GrossSales":62700,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":59441.85,"SalePrice":15,"Sales":62651.85,"UnitsSold":"4180","Year":"2018"},{"COGS":89100,"Country":"Japan","Date":"2019-04-01","Discounts":1856.25,"GrossSales":182875,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":91918.75,"SalePrice":125,"Sales":181018.75,"UnitsSold":"1463","Year":"2019"},{"COGS":3885,"Country":"Japan","Date":"2019-10-01","Discounts":310.8,"GrossSales":2580,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":1615.8,"SalePrice":12,"Sales":2269.2,"UnitsSold":"215","Year":"2019"},{"COGS":53500,"Country":"India","Date":"2018-10-01","Discounts":1284,"GrossSales":1229700,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":1174916,"SalePrice":300,"Sales":1228416,"UnitsSold":"4099","Year":"2018"},{"COGS":10725,"Country":"UK","Date":"2018-11-01","Discounts":300.3,"GrossSales":18620,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":7594.7,"SalePrice":7,"Sales":18319.7,"UnitsSold":"2660","Year":"2018"},{"COGS":741520,"Country":"Japan","Date":"2019-12-01","Discounts":19964,"GrossSales":198100,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":563384,"SalePrice":350,"Sales":178136,"UnitsSold":"566","Year":"2019"},{"COGS":3426,"Country":"USA","Date":"2019-06-01","Discounts":274.08,"GrossSales":39060,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":35359.92,"SalePrice":12,"Sales":38785.92,"UnitsSold":"3255","Year":"2019"},{"COGS":15660,"Country":"USA","Date":"2019-10-01","Discounts":626.4,"GrossSales":15440,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":846.4,"SalePrice":20,"Sales":14813.6,"UnitsSold":"772","Year":"2019"},{"COGS":2070,"Country":"Brazil","Date":"2019-11-01","Discounts":165.6,"GrossSales":13620,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":11384.4,"SalePrice":12,"Sales":13454.4,"UnitsSold":"1135","Year":"2019"},{"COGS":199200,"Country":"Brazil","Date":"2018-11-01","Discounts":4150,"GrossSales":478250,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":274900,"SalePrice":125,"Sales":474100,"UnitsSold":"3826","Year":"2018"},{"COGS":23630,"Country":"Japan","Date":"2019-02-01","Discounts":708.9,"GrossSales":17895,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":6443.9,"SalePrice":15,"Sales":17186.1,"UnitsSold":"1193","Year":"2019"},{"COGS":229500,"Country":"UK","Date":"2019-05-01","Discounts":5508,"GrossSales":759000,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":523992,"SalePrice":300,"Sales":753492,"UnitsSold":"2530","Year":"2019"},{"COGS":432000,"Country":"India","Date":"2019-05-01","Discounts":10368,"GrossSales":1035300,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":592932,"SalePrice":300,"Sales":1024932,"UnitsSold":"3451","Year":"2019"},{"COGS":3426,"Country":"USA","Date":"2019-06-01","Discounts":274.08,"GrossSales":36708,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":33007.92,"SalePrice":12,"Sales":36433.92,"UnitsSold":"3059","Year":"2019"},{"COGS":79440,"Country":"Brazil","Date":"2019-06-01","Discounts":1655,"GrossSales":494625,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":413530,"SalePrice":125,"Sales":492970,"UnitsSold":"3957","Year":"2019"},{"COGS":3885,"Country":"Japan","Date":"2019-10-01","Discounts":310.8,"GrossSales":41328,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":37132.2,"SalePrice":12,"Sales":41017.2,"UnitsSold":"3444","Year":"2019"},{"COGS":97080,"Country":"India","Date":"2018-10-01","Discounts":2022.5,"GrossSales":548500,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":449397.5,"SalePrice":125,"Sales":546477.5,"UnitsSold":"4388","Year":"2018"},{"COGS":257400,"Country":"Brazil","Date":"2018-10-01","Discounts":5362.5,"GrossSales":263250,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":487.5,"SalePrice":125,"Sales":257887.5,"UnitsSold":"2106","Year":"2018"},{"COGS":5355,"Country":"UK","Date":"2018-11-01","Discounts":428.4,"GrossSales":9588,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":3804.6,"SalePrice":12,"Sales":9159.6,"UnitsSold":"799","Year":"2018"},{"COGS":479000,"Country":"Japan","Date":"2019-12-01","Discounts":11496,"GrossSales":946200,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":455704,"SalePrice":300,"Sales":934704,"UnitsSold":"3154","Year":"2019"},{"COGS":741520,"Country":"Japan","Date":"2019-12-01","Discounts":19964,"GrossSales":1437800,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":676316,"SalePrice":350,"Sales":1417836,"UnitsSold":"4108","Year":"2019"},{"COGS":327480,"Country":"Japan","Date":"2019-12-01","Discounts":6822.5,"GrossSales":470000,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":135697.5,"SalePrice":125,"Sales":463177.5,"UnitsSold":"3760","Year":"2019"},{"COGS":19250,"Country":"USA","Date":"2018-12-01","Discounts":577.5,"GrossSales":5655,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":14172.5,"SalePrice":15,"Sales":5077.5,"UnitsSold":"377","Year":"2018"},{"COGS":10065,"Country":"USA","Date":"2018-12-01","Discounts":281.82,"GrossSales":14770,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":4423.18,"SalePrice":7,"Sales":14488.18,"UnitsSold":"2110","Year":"2018"},{"COGS":3165,"Country":"UK","Date":"2019-12-01","Discounts":253.2,"GrossSales":28008,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":24589.8,"SalePrice":12,"Sales":27754.8,"UnitsSold":"2334","Year":"2019"},{"COGS":3252,"Country":"Brazil","Date":"2019-12-01","Discounts":260.16,"GrossSales":6960,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":3447.84,"SalePrice":12,"Sales":6699.84,"UnitsSold":"580","Year":"2019"},{"COGS":15660,"Country":"USA","Date":"2019-10-01","Discounts":626.4,"GrossSales":52200,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":35913.6,"SalePrice":20,"Sales":51573.6,"UnitsSold":"2610","Year":"2019"},{"COGS":771160,"Country":"India","Date":"2018-10-01","Discounts":20762,"GrossSales":559300,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":232622,"SalePrice":350,"Sales":538538,"UnitsSold":"1598","Year":"2018"},{"COGS":748020,"Country":"India","Date":"2019-10-01","Discounts":20139,"GrossSales":510650,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":257509,"SalePrice":350,"Sales":490511,"UnitsSold":"1459","Year":"2019"},{"COGS":97080,"Country":"India","Date":"2018-10-01","Discounts":2022.5,"GrossSales":410500,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":311397.5,"SalePrice":125,"Sales":408477.5,"UnitsSold":"3284","Year":"2018"},{"COGS":257400,"Country":"Brazil","Date":"2018-10-01","Discounts":5362.5,"GrossSales":149625,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":113137.5,"SalePrice":125,"Sales":144262.5,"UnitsSold":"1197","Year":"2018"},{"COGS":3165,"Country":"UK","Date":"2019-12-01","Discounts":253.2,"GrossSales":45288,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":41869.8,"SalePrice":12,"Sales":45034.8,"UnitsSold":"3774","Year":"2019"},{"COGS":5440,"Country":"Brazil","Date":"2018-12-01","Discounts":217.6,"GrossSales":46060,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":40402.4,"SalePrice":20,"Sales":45842.4,"UnitsSold":"2303","Year":"2018"},{"COGS":3252,"Country":"Brazil","Date":"2019-12-01","Discounts":260.16,"GrossSales":30864,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":27351.84,"SalePrice":12,"Sales":30603.84,"UnitsSold":"2572","Year":"2019"},{"COGS":79440,"Country":"Brazil","Date":"2019-06-01","Discounts":1655,"GrossSales":40000,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":41095,"SalePrice":125,"Sales":38345,"UnitsSold":"320","Year":"2019"},{"COGS":53500,"Country":"India","Date":"2018-10-01","Discounts":1284,"GrossSales":637800,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":583016,"SalePrice":300,"Sales":636516,"UnitsSold":"2126","Year":"2018"},{"COGS":748020,"Country":"India","Date":"2019-10-01","Discounts":20139,"GrossSales":1146250,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":378091,"SalePrice":350,"Sales":1126111,"UnitsSold":"3275","Year":"2019"},{"COGS":327480,"Country":"Japan","Date":"2019-12-01","Discounts":6822.5,"GrossSales":447750,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":113447.5,"SalePrice":125,"Sales":440927.5,"UnitsSold":"3582","Year":"2019"},{"COGS":69160,"Country":"USA","Date":"2018-12-01","Discounts":1862,"GrossSales":274050,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":203028,"SalePrice":350,"Sales":272188,"UnitsSold":"783","Year":"2018"},{"COGS":504400,"Country":"Brazil","Date":"2018-12-01","Discounts":13580,"GrossSales":420700,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":97280,"SalePrice":350,"Sales":407120,"UnitsSold":"1202","Year":"2018"},{"COGS":64750,"Country":"India","Date":"2019-03-01","Discounts":1554,"GrossSales":1216800,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":1150496,"SalePrice":300,"Sales":1215246,"UnitsSold":"4056","Year":"2019"},{"COGS":275250,"Country":"Brazil","Date":"2019-03-01","Discounts":6606,"GrossSales":643200,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":361344,"SalePrice":300,"Sales":636594,"UnitsSold":"2144","Year":"2019"},{"COGS":273120,"Country":"India","Date":"2019-05-01","Discounts":5690,"GrossSales":437750,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":158940,"SalePrice":125,"Sales":432060,"UnitsSold":"3502","Year":"2019"},{"COGS":771160,"Country":"India","Date":"2018-10-01","Discounts":20762,"GrossSales":488950,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":302972,"SalePrice":350,"Sales":468188,"UnitsSold":"1397","Year":"2018"},{"COGS":12360,"Country":"USA","Date":"2019-11-01","Discounts":494.4,"GrossSales":13580,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":725.6,"SalePrice":20,"Sales":13085.6,"UnitsSold":"679","Year":"2019"},{"COGS":9410,"Country":"UK","Date":"2019-11-01","Discounts":376.4,"GrossSales":47020,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":37233.6,"SalePrice":20,"Sales":46643.6,"UnitsSold":"2351","Year":"2019"},{"COGS":479000,"Country":"Japan","Date":"2019-12-01","Discounts":11496,"GrossSales":612900,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":122404,"SalePrice":300,"Sales":601404,"UnitsSold":"2043","Year":"2019"},{"COGS":509220,"Country":"UK","Date":"2019-04-01","Discounts":15913.13,"GrossSales":445625,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":79508.13,"SalePrice":125,"Sales":429711.88,"UnitsSold":"3565","Year":"2019"},{"COGS":25800,"Country":"India","Date":"2019-04-01","Discounts":1548,"GrossSales":28020,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":672,"SalePrice":20,"Sales":26472,"UnitsSold":"1401","Year":"2019"},{"COGS":172250,"Country":"India","Date":"2019-06-01","Discounts":6201,"GrossSales":623100,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":444649,"SalePrice":300,"Sales":616899,"UnitsSold":"2077","Year":"2019"},{"COGS":5841,"Country":"USA","Date":"2019-09-01","Discounts":700.92,"GrossSales":43716,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":37174.08,"SalePrice":12,"Sales":43015.08,"UnitsSold":"3643","Year":"2019"},{"COGS":2724,"Country":"Japan","Date":"2018-12-01","Discounts":326.88,"GrossSales":13260,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":10209.12,"SalePrice":12,"Sales":12933.12,"UnitsSold":"1105","Year":"2018"},{"COGS":9790,"Country":"India","Date":"2019-02-01","Discounts":411.18,"GrossSales":20720,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":10518.82,"SalePrice":7,"Sales":20308.82,"UnitsSold":"2960","Year":"2019"},{"COGS":5703,"Country":"UK","Date":"2019-06-01","Discounts":684.36,"GrossSales":14412,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":8024.64,"SalePrice":12,"Sales":13727.64,"UnitsSold":"1201","Year":"2019"},{"COGS":2720,"Country":"UK","Date":"2019-09-01","Discounts":114.24,"GrossSales":16247,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":13412.76,"SalePrice":7,"Sales":16132.76,"UnitsSold":"2321","Year":"2019"},{"COGS":467220,"Country":"India","Date":"2018-09-01","Discounts":18868.5,"GrossSales":1274000,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":787911.5,"SalePrice":350,"Sales":1255131.5,"UnitsSold":"3640","Year":"2018"},{"COGS":154440,"Country":"UK","Date":"2019-12-01","Discounts":4826.25,"GrossSales":496500,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":337233.75,"SalePrice":125,"Sales":491673.75,"UnitsSold":"3972","Year":"2019"},{"COGS":204720,"Country":"India","Date":"2019-12-01","Discounts":6397.5,"GrossSales":484750,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":273632.5,"SalePrice":125,"Sales":478352.5,"UnitsSold":"3878","Year":"2019"},{"COGS":608625,"Country":"UK","Date":"2019-01-01","Discounts":21910.5,"GrossSales":683400,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":52864.5,"SalePrice":300,"Sales":661489.5,"UnitsSold":"2278","Year":"2019"},{"COGS":212880,"Country":"Japan","Date":"2019-03-01","Discounts":6652.5,"GrossSales":134375,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":85157.5,"SalePrice":125,"Sales":127722.5,"UnitsSold":"1075","Year":"2019"},{"COGS":5703,"Country":"UK","Date":"2019-06-01","Discounts":684.36,"GrossSales":48600,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":42212.64,"SalePrice":12,"Sales":47915.64,"UnitsSold":"4050","Year":"2019"},{"COGS":172250,"Country":"India","Date":"2019-06-01","Discounts":6201,"GrossSales":910500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":732049,"SalePrice":300,"Sales":904299,"UnitsSold":"3035","Year":"2019"},{"COGS":188400,"Country":"India","Date":"2019-06-01","Discounts":5887.5,"GrossSales":454500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":260212.5,"SalePrice":125,"Sales":448612.5,"UnitsSold":"3636","Year":"2019"},{"COGS":4108.5,"Country":"USA","Date":"2019-07-01","Discounts":493.02,"GrossSales":16548,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":11946.48,"SalePrice":12,"Sales":16054.98,"UnitsSold":"1379","Year":"2019"},{"COGS":241080,"Country":"Japan","Date":"2019-10-01","Discounts":7533.75,"GrossSales":561500,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":312886.25,"SalePrice":125,"Sales":553966.25,"UnitsSold":"4492","Year":"2019"},{"COGS":19450,"Country":"India","Date":"2018-10-01","Discounts":875.25,"GrossSales":11460,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":8865.25,"SalePrice":15,"Sales":10584.75,"UnitsSold":"764","Year":"2018"},{"COGS":154440,"Country":"UK","Date":"2019-12-01","Discounts":4826.25,"GrossSales":218000,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":58733.75,"SalePrice":125,"Sales":213173.75,"UnitsSold":"1744","Year":"2019"},{"COGS":204720,"Country":"India","Date":"2019-12-01","Discounts":6397.5,"GrossSales":292625,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":81507.5,"SalePrice":125,"Sales":286227.5,"UnitsSold":"2341","Year":"2019"},{"COGS":241080,"Country":"Japan","Date":"2019-10-01","Discounts":7533.75,"GrossSales":479375,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":230761.25,"SalePrice":125,"Sales":471841.25,"UnitsSold":"3835","Year":"2019"},{"COGS":711000,"Country":"USA","Date":"2019-02-01","Discounts":25596,"GrossSales":348300,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":388296,"SalePrice":300,"Sales":322704,"UnitsSold":"1161","Year":"2019"},{"COGS":5748,"Country":"Brazil","Date":"2019-04-01","Discounts":689.76,"GrossSales":10512,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":4074.24,"SalePrice":12,"Sales":9822.24,"UnitsSold":"876","Year":"2019"},{"COGS":188400,"Country":"India","Date":"2019-06-01","Discounts":5887.5,"GrossSales":213125,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":18837.5,"SalePrice":125,"Sales":207237.5,"UnitsSold":"1705","Year":"2019"},{"COGS":468500,"Country":"Japan","Date":"2019-08-01","Discounts":16866,"GrossSales":541500,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":56134,"SalePrice":300,"Sales":524634,"UnitsSold":"1805","Year":"2019"},{"COGS":426920,"Country":"Brazil","Date":"2019-08-01","Discounts":17241,"GrossSales":136150,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":308011,"SalePrice":350,"Sales":118909,"UnitsSold":"389","Year":"2019"},{"COGS":19450,"Country":"India","Date":"2018-10-01","Discounts":875.25,"GrossSales":41175,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":20849.75,"SalePrice":15,"Sales":40299.75,"UnitsSold":"2745","Year":"2018"},{"COGS":8310,"Country":"Japan","Date":"2019-05-01","Discounts":498.6,"GrossSales":29180,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":20371.4,"SalePrice":20,"Sales":28681.4,"UnitsSold":"1459","Year":"2019"},{"COGS":8800,"Country":"Brazil","Date":"2018-09-01","Discounts":369.6,"GrossSales":27566,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":18396.4,"SalePrice":7,"Sales":27196.4,"UnitsSold":"3938","Year":"2018"},{"COGS":38505,"Country":"Japan","Date":"2019-04-01","Discounts":2310.3,"GrossSales":84720,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":43904.7,"SalePrice":20,"Sales":82409.7,"UnitsSold":"4236","Year":"2019"},{"COGS":7437,"Country":"India","Date":"2019-01-01","Discounts":892.44,"GrossSales":43524,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":35194.56,"SalePrice":12,"Sales":42631.56,"UnitsSold":"3627","Year":"2019"},{"COGS":20310,"Country":"Brazil","Date":"2019-10-01","Discounts":1218.6,"GrossSales":26340,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":4811.4,"SalePrice":15,"Sales":25121.4,"UnitsSold":"1756","Year":"2019"},{"COGS":20310,"Country":"Brazil","Date":"2019-10-01","Discounts":1218.6,"GrossSales":4605,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":16923.6,"SalePrice":15,"Sales":3386.4,"UnitsSold":"307","Year":"2019"},{"COGS":22610,"Country":"UK","Date":"2018-12-01","Discounts":1356.6,"GrossSales":67335,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":43368.4,"SalePrice":15,"Sales":65978.4,"UnitsSold":"4489","Year":"2018"},{"COGS":7360,"Country":"USA","Date":"2018-09-01","Discounts":588.8,"GrossSales":43340,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":35391.2,"SalePrice":20,"Sales":42751.2,"UnitsSold":"2167","Year":"2018"},{"COGS":14255,"Country":"Japan","Date":"2018-10-01","Discounts":798.28,"GrossSales":7959,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":7094.28,"SalePrice":7,"Sales":7160.72,"UnitsSold":"1137","Year":"2018"},{"COGS":505250,"Country":"India","Date":"2019-10-01","Discounts":24252,"GrossSales":366600,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":162902,"SalePrice":300,"Sales":342348,"UnitsSold":"1222","Year":"2019"},{"COGS":71240,"Country":"USA","Date":"2019-12-01","Discounts":3836,"GrossSales":171150,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":96074,"SalePrice":350,"Sales":167314,"UnitsSold":"489","Year":"2019"},{"COGS":19670,"Country":"Japan","Date":"2019-03-01","Discounts":1180.2,"GrossSales":61995,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":41144.8,"SalePrice":15,"Sales":60814.8,"UnitsSold":"4133","Year":"2019"},{"COGS":464750,"Country":"India","Date":"2019-08-01","Discounts":22308,"GrossSales":822900,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":335842,"SalePrice":300,"Sales":800592,"UnitsSold":"2743","Year":"2019"},{"COGS":14255,"Country":"Japan","Date":"2018-10-01","Discounts":798.28,"GrossSales":25893,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":10839.72,"SalePrice":7,"Sales":25094.72,"UnitsSold":"3699","Year":"2018"},{"COGS":505250,"Country":"India","Date":"2019-10-01","Discounts":24252,"GrossSales":1338000,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":808498,"SalePrice":300,"Sales":1313748,"UnitsSold":"4460","Year":"2019"},{"COGS":136560,"Country":"Brazil","Date":"2019-12-01","Discounts":5690,"GrossSales":154000,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":11750,"SalePrice":125,"Sales":148310,"UnitsSold":"1232","Year":"2019"},{"COGS":21255,"Country":"Japan","Date":"2019-01-01","Discounts":1190.28,"GrossSales":18102,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":4343.28,"SalePrice":7,"Sales":16911.72,"UnitsSold":"2586","Year":"2019"},{"COGS":95400,"Country":"India","Date":"2019-03-01","Discounts":3975,"GrossSales":166500,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":67125,"SalePrice":125,"Sales":162525,"UnitsSold":"1332","Year":"2019"},{"COGS":353625,"Country":"India","Date":"2019-04-01","Discounts":16974,"GrossSales":1346100,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":975501,"SalePrice":300,"Sales":1329126,"UnitsSold":"4487","Year":"2019"},{"COGS":729500,"Country":"USA","Date":"2019-05-01","Discounts":35016,"GrossSales":1158600,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":394084,"SalePrice":300,"Sales":1123584,"UnitsSold":"3862","Year":"2019"},{"COGS":897000,"Country":"USA","Date":"2019-07-01","Discounts":48300,"GrossSales":617750,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":327550,"SalePrice":350,"Sales":569450,"UnitsSold":"1765","Year":"2019"},{"COGS":358560,"Country":"UK","Date":"2019-07-01","Discounts":14940,"GrossSales":441625,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":68125,"SalePrice":125,"Sales":426685,"UnitsSold":"3533","Year":"2019"},{"COGS":2180,"Country":"Japan","Date":"2019-09-01","Discounts":130.8,"GrossSales":30240,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":27929.2,"SalePrice":15,"Sales":30109.2,"UnitsSold":"2016","Year":"2019"},{"COGS":20740,"Country":"Japan","Date":"2019-09-01","Discounts":1659.2,"GrossSales":58760,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":36360.8,"SalePrice":20,"Sales":57100.8,"UnitsSold":"2938","Year":"2019"},{"COGS":10560,"Country":"USA","Date":"2019-09-01","Discounts":844.8,"GrossSales":67040,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":55635.2,"SalePrice":20,"Sales":66195.2,"UnitsSold":"3352","Year":"2019"},{"COGS":6710,"Country":"USA","Date":"2018-10-01","Discounts":402.6,"GrossSales":66135,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":59022.4,"SalePrice":15,"Sales":65732.4,"UnitsSold":"4409","Year":"2018"},{"COGS":15140,"Country":"Brazil","Date":"2018-10-01","Discounts":908.4,"GrossSales":49845,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":33796.6,"SalePrice":15,"Sales":48936.6,"UnitsSold":"3323","Year":"2018"},{"COGS":71240,"Country":"USA","Date":"2019-12-01","Discounts":3836,"GrossSales":850500,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":775424,"SalePrice":350,"Sales":846664,"UnitsSold":"2430","Year":"2019"},{"COGS":136560,"Country":"Brazil","Date":"2019-12-01","Discounts":5690,"GrossSales":66875,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":75375,"SalePrice":125,"Sales":61185,"UnitsSold":"535","Year":"2019"},{"COGS":4395,"Country":"USA","Date":"2019-03-01","Discounts":703.2,"GrossSales":18276,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":13177.8,"SalePrice":12,"Sales":17572.8,"UnitsSold":"1523","Year":"2019"},{"COGS":26460,"Country":"Japan","Date":"2018-09-01","Discounts":2116.8,"GrossSales":72620,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":44043.2,"SalePrice":20,"Sales":70503.2,"UnitsSold":"3631","Year":"2018"},{"COGS":566020,"Country":"UK","Date":"2019-10-01","Discounts":30478,"GrossSales":623700,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":27202,"SalePrice":350,"Sales":593222,"UnitsSold":"1782","Year":"2019"},{"COGS":2598,"Country":"UK","Date":"2019-05-01","Discounts":415.68,"GrossSales":4164,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":1150.32,"SalePrice":12,"Sales":3748.32,"UnitsSold":"347","Year":"2019"},{"COGS":90740,"Country":"USA","Date":"2018-09-01","Discounts":4886,"GrossSales":1451450,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":1355824,"SalePrice":350,"Sales":1446564,"UnitsSold":"4147","Year":"2018"},{"COGS":566020,"Country":"UK","Date":"2019-10-01","Discounts":30478,"GrossSales":1228150,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":631652,"SalePrice":350,"Sales":1197672,"UnitsSold":"3509","Year":"2019"},{"COGS":15140,"Country":"Brazil","Date":"2018-10-01","Discounts":908.4,"GrossSales":41610,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":25561.6,"SalePrice":15,"Sales":40701.6,"UnitsSold":"2774","Year":"2018"},{"COGS":484900,"Country":"Brazil","Date":"2019-02-01","Discounts":26110,"GrossSales":1030050,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":519040,"SalePrice":350,"Sales":1003940,"UnitsSold":"2943","Year":"2019"},{"COGS":128880,"Country":"Brazil","Date":"2019-04-01","Discounts":5370,"GrossSales":504625,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":370375,"SalePrice":125,"Sales":499255,"UnitsSold":"4037","Year":"2019"},{"COGS":495820,"Country":"India","Date":"2019-09-01","Discounts":26698,"GrossSales":1451100,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":928582,"SalePrice":350,"Sales":1424402,"UnitsSold":"4146","Year":"2019"},{"COGS":6710,"Country":"USA","Date":"2018-10-01","Discounts":402.6,"GrossSales":61845,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":54732.4,"SalePrice":15,"Sales":61442.4,"UnitsSold":"4123","Year":"2018"},{"COGS":462280,"Country":"Japan","Date":"2018-12-01","Discounts":24892,"GrossSales":467950,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":19222,"SalePrice":350,"Sales":443058,"UnitsSold":"1337","Year":"2018"},{"COGS":5795,"Country":"India","Date":"2018-10-01","Discounts":405.65,"GrossSales":4193,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":2007.65,"SalePrice":7,"Sales":3787.35,"UnitsSold":"599","Year":"2018"},{"COGS":6860,"Country":"India","Date":"2019-01-01","Discounts":480.2,"GrossSales":5075,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":2265.2,"SalePrice":7,"Sales":4594.8,"UnitsSold":"725","Year":"2019"},{"COGS":11745,"Country":"Japan","Date":"2018-09-01","Discounts":822.15,"GrossSales":3339,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":9228.15,"SalePrice":7,"Sales":2516.85,"UnitsSold":"477","Year":"2018"},{"COGS":13445,"Country":"Brazil","Date":"2019-10-01","Discounts":941.15,"GrossSales":16275,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":1888.85,"SalePrice":7,"Sales":15333.85,"UnitsSold":"2325","Year":"2019"},{"COGS":7293,"Country":"Japan","Date":"2019-12-01","Discounts":1458.6,"GrossSales":8100,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":651.6,"SalePrice":12,"Sales":6641.4,"UnitsSold":"675","Year":"2019"},{"COGS":7293,"Country":"Japan","Date":"2019-12-01","Discounts":1458.6,"GrossSales":35880,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":27128.4,"SalePrice":12,"Sales":34421.4,"UnitsSold":"2990","Year":"2019"},{"COGS":13445,"Country":"Brazil","Date":"2019-10-01","Discounts":941.15,"GrossSales":7504,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":6882.15,"SalePrice":7,"Sales":6562.85,"UnitsSold":"1072","Year":"2019"},{"COGS":8415,"Country":"Brazil","Date":"2019-07-01","Discounts":589.05,"GrossSales":7336,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":1668.05,"SalePrice":7,"Sales":6746.95,"UnitsSold":"1048","Year":"2019"},{"COGS":3369,"Country":"Brazil","Date":"2019-08-01","Discounts":673.8,"GrossSales":5628,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":1585.2,"SalePrice":12,"Sales":4954.2,"UnitsSold":"469","Year":"2019"},{"COGS":5795,"Country":"India","Date":"2018-10-01","Discounts":405.65,"GrossSales":5628,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":572.65,"SalePrice":7,"Sales":5222.35,"UnitsSold":"804","Year":"2018"},{"COGS":5595,"Country":"UK","Date":"2019-02-01","Discounts":1119,"GrossSales":50880,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":44166,"SalePrice":12,"Sales":49761,"UnitsSold":"4240","Year":"2019"},{"COGS":3348,"Country":"India","Date":"2019-02-01","Discounts":669.6,"GrossSales":23712,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":19694.4,"SalePrice":12,"Sales":23042.4,"UnitsSold":"1976","Year":"2019"},{"COGS":15630,"Country":"UK","Date":"2019-05-01","Discounts":1563,"GrossSales":39680,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":22487,"SalePrice":20,"Sales":38117,"UnitsSold":"1984","Year":"2019"},{"COGS":247750,"Country":"USA","Date":"2019-06-01","Discounts":14865,"GrossSales":144000,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":118615,"SalePrice":300,"Sales":129135,"UnitsSold":"480","Year":"2019"},{"COGS":5080,"Country":"India","Date":"2018-11-01","Discounts":355.6,"GrossSales":24857,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":19421.4,"SalePrice":7,"Sales":24501.4,"UnitsSold":"3551","Year":"2018"},{"COGS":27910,"Country":"Brazil","Date":"2019-11-01","Discounts":2093.25,"GrossSales":18075,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":11928.25,"SalePrice":15,"Sales":15981.75,"UnitsSold":"1205","Year":"2019"},{"COGS":2850,"Country":"USA","Date":"2019-12-01","Discounts":199.5,"GrossSales":17360,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":14310.5,"SalePrice":7,"Sales":17160.5,"UnitsSold":"2480","Year":"2019"},{"COGS":12435,"Country":"UK","Date":"2019-12-01","Discounts":870.45,"GrossSales":20482,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":7176.55,"SalePrice":7,"Sales":19611.55,"UnitsSold":"2926","Year":"2019"},{"COGS":359970,"Country":"UK","Date":"2019-01-01","Discounts":24228.75,"GrossSales":1123500,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":739301.25,"SalePrice":350,"Sales":1099271.25,"UnitsSold":"3210","Year":"2019"},{"COGS":435240,"Country":"USA","Date":"2019-07-01","Discounts":22668.75,"GrossSales":402625,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":55283.75,"SalePrice":125,"Sales":379956.25,"UnitsSold":"3221","Year":"2019"},{"COGS":187200,"Country":"Brazil","Date":"2018-09-01","Discounts":12600,"GrossSales":836150,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":636350,"SalePrice":350,"Sales":823550,"UnitsSold":"2389","Year":"2018"},{"COGS":7026,"Country":"India","Date":"2019-11-01","Discounts":1405.2,"GrossSales":13524,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":5092.8,"SalePrice":12,"Sales":12118.8,"UnitsSold":"1127","Year":"2019"},{"COGS":275000,"Country":"Brazil","Date":"2018-12-01","Discounts":16500,"GrossSales":95700,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":195800,"SalePrice":300,"Sales":79200,"UnitsSold":"319","Year":"2018"},{"COGS":13030,"Country":"UK","Date":"2019-02-01","Discounts":1303,"GrossSales":32200,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":17867,"SalePrice":20,"Sales":30897,"UnitsSold":"1610","Year":"2019"},{"COGS":359040,"Country":"USA","Date":"2019-03-01","Discounts":18700,"GrossSales":512500,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":134760,"SalePrice":125,"Sales":493800,"UnitsSold":"4100","Year":"2019"},{"COGS":286200,"Country":"UK","Date":"2019-03-01","Discounts":14906.25,"GrossSales":126500,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":174606.25,"SalePrice":125,"Sales":111593.75,"UnitsSold":"1012","Year":"2019"},{"COGS":401750,"Country":"Brazil","Date":"2019-04-01","Discounts":24105,"GrossSales":1001100,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":575245,"SalePrice":300,"Sales":976995,"UnitsSold":"3337","Year":"2019"},{"COGS":11635,"Country":"USA","Date":"2019-05-01","Discounts":814.45,"GrossSales":27685,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":15235.55,"SalePrice":7,"Sales":26870.55,"UnitsSold":"3955","Year":"2019"},{"COGS":247750,"Country":"USA","Date":"2019-06-01","Discounts":14865,"GrossSales":1304100,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":1041485,"SalePrice":300,"Sales":1289235,"UnitsSold":"4347","Year":"2019"},{"COGS":156520,"Country":"USA","Date":"2019-06-01","Discounts":10535,"GrossSales":541800,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":374745,"SalePrice":350,"Sales":531265,"UnitsSold":"1548","Year":"2019"},{"COGS":26200,"Country":"UK","Date":"2019-09-01","Discounts":1965,"GrossSales":32295,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":4130,"SalePrice":15,"Sales":30330,"UnitsSold":"2153","Year":"2019"},{"COGS":319280,"Country":"Japan","Date":"2018-10-01","Discounts":21490,"GrossSales":1326150,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":985380,"SalePrice":350,"Sales":1304660,"UnitsSold":"3789","Year":"2018"},{"COGS":13890,"Country":"Japan","Date":"2018-10-01","Discounts":1389,"GrossSales":87280,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":72001,"SalePrice":20,"Sales":85891,"UnitsSold":"4364","Year":"2018"},{"COGS":103320,"Country":"USA","Date":"2019-10-01","Discounts":5381.25,"GrossSales":515750,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":407048.75,"SalePrice":125,"Sales":510368.75,"UnitsSold":"4126","Year":"2019"},{"COGS":84480,"Country":"UK","Date":"2018-10-01","Discounts":4400,"GrossSales":167875,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":78995,"SalePrice":125,"Sales":163475,"UnitsSold":"1343","Year":"2018"},{"COGS":18020,"Country":"Japan","Date":"2018-12-01","Discounts":1802,"GrossSales":4900,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":14922,"SalePrice":20,"Sales":3098,"UnitsSold":"245","Year":"2018"},{"COGS":26630,"Country":"USA","Date":"2019-12-01","Discounts":2663,"GrossSales":67520,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":38227,"SalePrice":20,"Sales":64857,"UnitsSold":"3376","Year":"2019"},{"COGS":10680,"Country":"UK","Date":"2018-12-01","Discounts":747.6,"GrossSales":9807,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":1620.6,"SalePrice":7,"Sales":9059.4,"UnitsSold":"1401","Year":"2018"},{"COGS":21160,"Country":"India","Date":"2018-12-01","Discounts":1587,"GrossSales":52245,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":29498,"SalePrice":15,"Sales":50658,"UnitsSold":"3483","Year":"2018"},{"COGS":5550,"Country":"USA","Date":"2019-01-01","Discounts":416.25,"GrossSales":33660,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":27693.75,"SalePrice":15,"Sales":33243.75,"UnitsSold":"2244","Year":"2019"},{"COGS":28610,"Country":"Brazil","Date":"2019-01-01","Discounts":2145.75,"GrossSales":20400,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":10355.75,"SalePrice":15,"Sales":18254.25,"UnitsSold":"1360","Year":"2019"},{"COGS":96840,"Country":"India","Date":"2019-02-01","Discounts":5043.75,"GrossSales":34875,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":67008.75,"SalePrice":125,"Sales":29831.25,"UnitsSold":"279","Year":"2019"},{"COGS":156520,"Country":"USA","Date":"2019-06-01","Discounts":10535,"GrossSales":882350,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":715295,"SalePrice":350,"Sales":871815,"UnitsSold":"2521","Year":"2019"},{"COGS":28320,"Country":"USA","Date":"2019-08-01","Discounts":2832,"GrossSales":48660,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":17508,"SalePrice":20,"Sales":45828,"UnitsSold":"2433","Year":"2019"},{"COGS":15790,"Country":"UK","Date":"2019-08-01","Discounts":1579,"GrossSales":34760,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":17391,"SalePrice":20,"Sales":33181,"UnitsSold":"1738","Year":"2019"},{"COGS":103320,"Country":"USA","Date":"2019-10-01","Discounts":5381.25,"GrossSales":138250,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":29548.75,"SalePrice":125,"Sales":132868.75,"UnitsSold":"1106","Year":"2019"},{"COGS":84480,"Country":"UK","Date":"2018-10-01","Discounts":4400,"GrossSales":422375,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":333495,"SalePrice":125,"Sales":417975,"UnitsSold":"3379","Year":"2018"},{"COGS":10330,"Country":"UK","Date":"2018-12-01","Discounts":1033,"GrossSales":24420,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":13057,"SalePrice":20,"Sales":23387,"UnitsSold":"1221","Year":"2018"},{"COGS":312500,"Country":"India","Date":"2019-12-01","Discounts":18750,"GrossSales":63900,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":267350,"SalePrice":300,"Sales":45150,"UnitsSold":"213","Year":"2019"},{"COGS":13890,"Country":"Japan","Date":"2018-10-01","Discounts":1389,"GrossSales":66700,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":51421,"SalePrice":20,"Sales":65311,"UnitsSold":"3335","Year":"2018"},{"COGS":12650,"Country":"USA","Date":"2018-11-01","Discounts":1265,"GrossSales":25200,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":11285,"SalePrice":20,"Sales":23935,"UnitsSold":"1260","Year":"2018"},{"COGS":22970,"Country":"India","Date":"2018-11-01","Discounts":2297,"GrossSales":60680,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":35413,"SalePrice":20,"Sales":58383,"UnitsSold":"3034","Year":"2018"},{"COGS":26630,"Country":"USA","Date":"2019-12-01","Discounts":2663,"GrossSales":58580,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":29287,"SalePrice":20,"Sales":55917,"UnitsSold":"2929","Year":"2019"},{"COGS":2850,"Country":"USA","Date":"2019-12-01","Discounts":199.5,"GrossSales":16723,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":13673.5,"SalePrice":7,"Sales":16523.5,"UnitsSold":"2389","Year":"2019"},{"COGS":12435,"Country":"UK","Date":"2019-12-01","Discounts":870.45,"GrossSales":21602,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":8296.55,"SalePrice":7,"Sales":20731.55,"UnitsSold":"3086","Year":"2019"},{"COGS":351000,"Country":"India","Date":"2019-02-01","Discounts":23625,"GrossSales":260750,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":113875,"SalePrice":350,"Sales":237125,"UnitsSold":"745","Year":"2019"},{"COGS":143520,"Country":"Japan","Date":"2019-08-01","Discounts":9660,"GrossSales":443100,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":289920,"SalePrice":350,"Sales":433440,"UnitsSold":"1266","Year":"2019"},{"COGS":319280,"Country":"Japan","Date":"2018-10-01","Discounts":21490,"GrossSales":1326500,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":985730,"SalePrice":350,"Sales":1305010,"UnitsSold":"3790","Year":"2018"},{"COGS":312500,"Country":"India","Date":"2019-12-01","Discounts":18750,"GrossSales":1286100,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":954850,"SalePrice":300,"Sales":1267350,"UnitsSold":"4287","Year":"2019"},{"COGS":38010,"Country":"UK","Date":"2019-04-01","Discounts":3420.9,"GrossSales":47895,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":6464.1,"SalePrice":15,"Sales":44474.1,"UnitsSold":"3193","Year":"2019"},{"COGS":11175,"Country":"USA","Date":"2019-01-01","Discounts":1341,"GrossSales":39340,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":26824,"SalePrice":20,"Sales":37999,"UnitsSold":"1967","Year":"2019"},{"COGS":28440,"Country":"Japan","Date":"2019-06-01","Discounts":2559.6,"GrossSales":9465,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":21534.6,"SalePrice":15,"Sales":6905.4,"UnitsSold":"631","Year":"2019"},{"COGS":1686,"Country":"Brazil","Date":"2019-09-01","Discounts":404.64,"GrossSales":41628,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":39537.36,"SalePrice":12,"Sales":41223.36,"UnitsSold":"3469","Year":"2019"},{"COGS":6897,"Country":"Japan","Date":"2018-10-01","Discounts":1655.28,"GrossSales":6840,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":1712.28,"SalePrice":12,"Sales":5184.72,"UnitsSold":"570","Year":"2018"},{"COGS":20300,"Country":"USA","Date":"2019-11-01","Discounts":1827,"GrossSales":48225,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":26098,"SalePrice":15,"Sales":46398,"UnitsSold":"3215","Year":"2019"},{"COGS":1315,"Country":"USA","Date":"2018-11-01","Discounts":110.46,"GrossSales":26278,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":24852.54,"SalePrice":7,"Sales":26167.54,"UnitsSold":"3754","Year":"2018"},{"COGS":106440,"Country":"India","Date":"2018-12-01","Discounts":6652.5,"GrossSales":273375,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":160282.5,"SalePrice":125,"Sales":266722.5,"UnitsSold":"2187","Year":"2018"},{"COGS":254800,"Country":"Brazil","Date":"2019-04-01","Discounts":20580,"GrossSales":685650,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":410270,"SalePrice":350,"Sales":665070,"UnitsSold":"1959","Year":"2019"},{"COGS":379600,"Country":"India","Date":"2019-05-01","Discounts":30660,"GrossSales":763350,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":353090,"SalePrice":350,"Sales":732690,"UnitsSold":"2181","Year":"2019"},{"COGS":7015,"Country":"UK","Date":"2018-10-01","Discounts":589.26,"GrossSales":24913,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":17308.74,"SalePrice":7,"Sales":24323.74,"UnitsSold":"3559","Year":"2018"},{"COGS":8169,"Country":"USA","Date":"2019-11-01","Discounts":1960.56,"GrossSales":26460,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":16330.44,"SalePrice":12,"Sales":24499.44,"UnitsSold":"2205","Year":"2019"},{"COGS":388960,"Country":"UK","Date":"2019-06-01","Discounts":31416,"GrossSales":661500,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":241124,"SalePrice":350,"Sales":630084,"UnitsSold":"1890","Year":"2019"},{"COGS":6897,"Country":"Japan","Date":"2018-10-01","Discounts":1655.28,"GrossSales":15552,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":6999.72,"SalePrice":12,"Sales":13896.72,"UnitsSold":"1296","Year":"2018"},{"COGS":189020,"Country":"USA","Date":"2018-10-01","Discounts":15267,"GrossSales":271250,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":66963,"SalePrice":350,"Sales":255983,"UnitsSold":"775","Year":"2018"},{"COGS":114240,"Country":"Japan","Date":"2019-02-01","Discounts":7140,"GrossSales":302125,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":180745,"SalePrice":125,"Sales":294985,"UnitsSold":"2417","Year":"2019"},{"COGS":330600,"Country":"USA","Date":"2019-02-01","Discounts":20662.5,"GrossSales":144750,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":206512.5,"SalePrice":125,"Sales":124087.5,"UnitsSold":"1158","Year":"2019"},{"COGS":15300,"Country":"India","Date":"2019-05-01","Discounts":1377,"GrossSales":12045,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":4632,"SalePrice":15,"Sales":10668,"UnitsSold":"803","Year":"2019"},{"COGS":388960,"Country":"UK","Date":"2019-06-01","Discounts":31416,"GrossSales":1296750,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":876374,"SalePrice":350,"Sales":1265334,"UnitsSold":"3705","Year":"2019"},{"COGS":7490,"Country":"Brazil","Date":"2019-06-01","Discounts":629.16,"GrossSales":4123,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":3996.16,"SalePrice":7,"Sales":3493.84,"UnitsSold":"589","Year":"2019"},{"COGS":305250,"Country":"UK","Date":"2018-10-01","Discounts":21978,"GrossSales":1139100,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":811872,"SalePrice":300,"Sales":1117122,"UnitsSold":"3797","Year":"2018"},{"COGS":539760,"Country":"UK","Date":"2018-10-01","Discounts":43596,"GrossSales":462350,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":121006,"SalePrice":350,"Sales":418754,"UnitsSold":"1321","Year":"2018"},{"COGS":28440,"Country":"Japan","Date":"2019-06-01","Discounts":2559.6,"GrossSales":59985,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":28985.4,"SalePrice":15,"Sales":57425.4,"UnitsSold":"3999","Year":"2019"},{"COGS":7490,"Country":"Brazil","Date":"2019-06-01","Discounts":629.16,"GrossSales":29792,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":21672.84,"SalePrice":7,"Sales":29162.84,"UnitsSold":"4256","Year":"2019"},{"COGS":305250,"Country":"UK","Date":"2018-10-01","Discounts":21978,"GrossSales":492900,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":165672,"SalePrice":300,"Sales":470922,"UnitsSold":"1643","Year":"2018"},{"COGS":11230,"Country":"Brazil","Date":"2018-11-01","Discounts":1347.6,"GrossSales":38240,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":25662.4,"SalePrice":20,"Sales":36892.4,"UnitsSold":"1912","Year":"2018"},{"COGS":609000,"Country":"Japan","Date":"2018-12-01","Discounts":43848,"GrossSales":483000,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":169848,"SalePrice":300,"Sales":439152,"UnitsSold":"1610","Year":"2018"},{"COGS":238500,"Country":"UK","Date":"2019-01-01","Discounts":14906.25,"GrossSales":270000,"ManufacturingPrice":260,"MonthName":"January","Product":"Luxe","Profit":16593.75,"SalePrice":125,"Sales":255093.75,"UnitsSold":"2160","Year":"2019"},{"COGS":436540,"Country":"Brazil","Date":"2019-09-01","Discounts":35259,"GrossSales":163100,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":308699,"SalePrice":350,"Sales":127841,"UnitsSold":"466","Year":"2019"},{"COGS":189020,"Country":"USA","Date":"2018-10-01","Discounts":15267,"GrossSales":114800,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":89487,"SalePrice":350,"Sales":99533,"UnitsSold":"328","Year":"2018"},{"COGS":7015,"Country":"UK","Date":"2018-10-01","Discounts":589.26,"GrossSales":28693,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":21088.74,"SalePrice":7,"Sales":28103.74,"UnitsSold":"4099","Year":"2018"},{"COGS":539760,"Country":"UK","Date":"2018-10-01","Discounts":43596,"GrossSales":346500,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":236856,"SalePrice":350,"Sales":302904,"UnitsSold":"990","Year":"2018"},{"COGS":17570,"Country":"UK","Date":"2018-10-01","Discounts":2108.4,"GrossSales":28660,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":8981.6,"SalePrice":20,"Sales":26551.6,"UnitsSold":"1433","Year":"2018"},{"COGS":21980,"Country":"USA","Date":"2019-08-01","Discounts":1978.2,"GrossSales":22170,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":1788.2,"SalePrice":15,"Sales":20191.8,"UnitsSold":"1478","Year":"2019"},{"COGS":17430,"Country":"India","Date":"2019-08-01","Discounts":1568.7,"GrossSales":56970,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":37971.3,"SalePrice":15,"Sales":55401.3,"UnitsSold":"3798","Year":"2019"},{"COGS":11530,"Country":"USA","Date":"2019-10-01","Discounts":1037.7,"GrossSales":6705,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":5862.7,"SalePrice":15,"Sales":5667.3,"UnitsSold":"447","Year":"2019"},{"COGS":17570,"Country":"UK","Date":"2018-10-01","Discounts":2108.4,"GrossSales":34220,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":14541.6,"SalePrice":20,"Sales":32111.6,"UnitsSold":"1711","Year":"2018"},{"COGS":10010,"Country":"India","Date":"2019-08-01","Discounts":1201.2,"GrossSales":14900,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":3688.8,"SalePrice":20,"Sales":13698.8,"UnitsSold":"745","Year":"2019"},{"COGS":6665,"Country":"Brazil","Date":"2019-11-01","Discounts":559.86,"GrossSales":12124,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":4899.14,"SalePrice":7,"Sales":11564.14,"UnitsSold":"1732","Year":"2019"},{"COGS":11530,"Country":"USA","Date":"2019-10-01","Discounts":1037.7,"GrossSales":26385,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":13817.3,"SalePrice":15,"Sales":25347.3,"UnitsSold":"1759","Year":"2019"},{"COGS":2181,"Country":"Brazil","Date":"2019-02-01","Discounts":610.68,"GrossSales":4056,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":1264.32,"SalePrice":12,"Sales":3445.32,"UnitsSold":"338","Year":"2019"},{"COGS":5652,"Country":"Japan","Date":"2019-08-01","Discounts":1582.56,"GrossSales":46932,"ManufacturingPrice":3,"MonthName":"August","Product":"Kensington","Profit":39697.44,"SalePrice":12,"Sales":45349.44,"UnitsSold":"3911","Year":"2019"},{"COGS":18340,"Country":"Brazil","Date":"2018-09-01","Discounts":2567.6,"GrossSales":73820,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":52912.4,"SalePrice":20,"Sales":71252.4,"UnitsSold":"3691","Year":"2018"},{"COGS":7020,"Country":"Brazil","Date":"2019-01-01","Discounts":1965.6,"GrossSales":53676,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":44690.4,"SalePrice":12,"Sales":51710.4,"UnitsSold":"4473","Year":"2019"},{"COGS":7026,"Country":"UK","Date":"2019-11-01","Discounts":1967.28,"GrossSales":4596,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":4397.28,"SalePrice":12,"Sales":2628.72,"UnitsSold":"383","Year":"2019"},{"COGS":5155,"Country":"UK","Date":"2018-09-01","Discounts":505.19,"GrossSales":21735,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":16074.81,"SalePrice":7,"Sales":21229.81,"UnitsSold":"3105","Year":"2018"},{"COGS":12620,"Country":"Japan","Date":"2019-05-01","Discounts":1325.1,"GrossSales":15930,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":1984.9,"SalePrice":15,"Sales":14604.9,"UnitsSold":"1062","Year":"2019"},{"COGS":5675,"Country":"Japan","Date":"2019-06-01","Discounts":556.15,"GrossSales":28581,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":22349.85,"SalePrice":7,"Sales":28024.85,"UnitsSold":"4083","Year":"2019"},{"COGS":2735,"Country":"USA","Date":"2019-11-01","Discounts":268.03,"GrossSales":27818,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":24814.97,"SalePrice":7,"Sales":27549.97,"UnitsSold":"3974","Year":"2019"},{"COGS":7910,"Country":"Japan","Date":"2019-12-01","Discounts":775.18,"GrossSales":26061,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":17375.82,"SalePrice":7,"Sales":25285.82,"UnitsSold":"3723","Year":"2019"},{"COGS":5215.5,"Country":"UK","Date":"2019-04-01","Discounts":1460.34,"GrossSales":29220,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":22544.16,"SalePrice":12,"Sales":27759.66,"UnitsSold":"2435","Year":"2019"},{"COGS":6645,"Country":"India","Date":"2018-09-01","Discounts":1860.6,"GrossSales":20136,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":11630.4,"SalePrice":12,"Sales":18275.4,"UnitsSold":"1678","Year":"2018"},{"COGS":7910,"Country":"Japan","Date":"2019-12-01","Discounts":775.18,"GrossSales":12341,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":3655.82,"SalePrice":7,"Sales":11565.82,"UnitsSold":"1763","Year":"2019"},{"COGS":5675,"Country":"Japan","Date":"2019-06-01","Discounts":556.15,"GrossSales":31311,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":25079.85,"SalePrice":7,"Sales":30754.85,"UnitsSold":"4473","Year":"2019"},{"COGS":457860,"Country":"USA","Date":"2019-03-01","Discounts":43144.5,"GrossSales":436100,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":64904.5,"SalePrice":350,"Sales":392955.5,"UnitsSold":"1246","Year":"2019"},{"COGS":112000,"Country":"UK","Date":"2019-06-01","Discounts":9408,"GrossSales":484500,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":363092,"SalePrice":300,"Sales":475092,"UnitsSold":"1615","Year":"2019"},{"COGS":545250,"Country":"UK","Date":"2019-10-01","Discounts":45801,"GrossSales":224700,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":366351,"SalePrice":300,"Sales":178899,"UnitsSold":"749","Year":"2019"},{"COGS":19760,"Country":"UK","Date":"2019-10-01","Discounts":2766.4,"GrossSales":26360,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":3833.6,"SalePrice":20,"Sales":23593.6,"UnitsSold":"1318","Year":"2019"},{"COGS":545250,"Country":"UK","Date":"2019-10-01","Discounts":45801,"GrossSales":864600,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":273549,"SalePrice":300,"Sales":818799,"UnitsSold":"2882","Year":"2019"},{"COGS":300000,"Country":"India","Date":"2018-11-01","Discounts":21875,"GrossSales":379875,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":58000,"SalePrice":125,"Sales":358000,"UnitsSold":"3039","Year":"2018"},{"COGS":425500,"Country":"Japan","Date":"2019-05-01","Discounts":35742,"GrossSales":745200,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":283958,"SalePrice":300,"Sales":709458,"UnitsSold":"2484","Year":"2019"},{"COGS":112000,"Country":"UK","Date":"2019-06-01","Discounts":9408,"GrossSales":950700,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":829292,"SalePrice":300,"Sales":941292,"UnitsSold":"3169","Year":"2019"},{"COGS":421560,"Country":"India","Date":"2019-07-01","Discounts":30738.75,"GrossSales":510000,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":57701.25,"SalePrice":125,"Sales":479261.25,"UnitsSold":"4080","Year":"2019"},{"COGS":21010,"Country":"UK","Date":"2019-08-01","Discounts":2206.05,"GrossSales":59145,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":35928.95,"SalePrice":15,"Sales":56938.95,"UnitsSold":"3943","Year":"2019"},{"COGS":29310,"Country":"USA","Date":"2018-09-01","Discounts":3077.55,"GrossSales":11760,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":20627.55,"SalePrice":15,"Sales":8682.45,"UnitsSold":"784","Year":"2018"},{"COGS":15350,"Country":"UK","Date":"2019-09-01","Discounts":2149,"GrossSales":5060,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":12439,"SalePrice":20,"Sales":2911,"UnitsSold":"253","Year":"2019"},{"COGS":280750,"Country":"India","Date":"2018-09-01","Discounts":23583,"GrossSales":394800,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":90467,"SalePrice":300,"Sales":371217,"UnitsSold":"1316","Year":"2018"},{"COGS":351000,"Country":"Japan","Date":"2018-11-01","Discounts":29484,"GrossSales":242400,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":138084,"SalePrice":300,"Sales":212916,"UnitsSold":"808","Year":"2018"},{"COGS":8289,"Country":"Brazil","Date":"2018-11-01","Discounts":2320.92,"GrossSales":39540,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":28930.08,"SalePrice":12,"Sales":37219.08,"UnitsSold":"3295","Year":"2018"},{"COGS":10625,"Country":"India","Date":"2018-12-01","Discounts":1041.25,"GrossSales":3640,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":8026.25,"SalePrice":7,"Sales":2598.75,"UnitsSold":"520","Year":"2018"},{"COGS":414750,"Country":"UK","Date":"2019-07-01","Discounts":34839,"GrossSales":239700,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":209889,"SalePrice":300,"Sales":204861,"UnitsSold":"799","Year":"2019"},{"COGS":6090,"Country":"Brazil","Date":"2019-08-01","Discounts":852.6,"GrossSales":78840,"ManufacturingPrice":120,"MonthName":"August","Product":"Burlington","Profit":71897.4,"SalePrice":20,"Sales":77987.4,"UnitsSold":"3942","Year":"2019"},{"COGS":250440,"Country":"India","Date":"2019-09-01","Discounts":18261.25,"GrossSales":312250,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":43548.75,"SalePrice":125,"Sales":293988.75,"UnitsSold":"2498","Year":"2019"},{"COGS":19760,"Country":"UK","Date":"2019-10-01","Discounts":2766.4,"GrossSales":50340,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":27813.6,"SalePrice":20,"Sales":47573.6,"UnitsSold":"2517","Year":"2019"},{"COGS":14210,"Country":"USA","Date":"2018-12-01","Discounts":1989.4,"GrossSales":63640,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":47440.6,"SalePrice":20,"Sales":61650.6,"UnitsSold":"3182","Year":"2018"},{"COGS":343000,"Country":"USA","Date":"2019-12-01","Discounts":28812,"GrossSales":343500,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":28312,"SalePrice":300,"Sales":314688,"UnitsSold":"1145","Year":"2019"},{"COGS":5880,"Country":"India","Date":"2018-12-01","Discounts":823.2,"GrossSales":17900,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":11196.8,"SalePrice":20,"Sales":17076.8,"UnitsSold":"895","Year":"2018"},{"COGS":9733.5,"Country":"Japan","Date":"2019-01-01","Discounts":2725.38,"GrossSales":45768,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":33309.12,"SalePrice":12,"Sales":43042.62,"UnitsSold":"3814","Year":"2019"},{"COGS":239750,"Country":"UK","Date":"2019-02-01","Discounts":20139,"GrossSales":356400,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":96511,"SalePrice":300,"Sales":336261,"UnitsSold":"1188","Year":"2019"},{"COGS":686750,"Country":"Brazil","Date":"2019-02-01","Discounts":57687,"GrossSales":669900,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":74537,"SalePrice":300,"Sales":612213,"UnitsSold":"2233","Year":"2019"},{"COGS":197400,"Country":"Japan","Date":"2019-05-01","Discounts":14393.75,"GrossSales":52625,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":159168.75,"SalePrice":125,"Sales":38231.25,"UnitsSold":"421","Year":"2019"},{"COGS":747760,"Country":"UK","Date":"2019-09-01","Discounts":70462,"GrossSales":94150,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":724072,"SalePrice":350,"Sales":23688,"UnitsSold":"269","Year":"2019"},{"COGS":119280,"Country":"India","Date":"2018-09-01","Discounts":8697.5,"GrossSales":470750,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":342772.5,"SalePrice":125,"Sales":462052.5,"UnitsSold":"3766","Year":"2018"},{"COGS":11180,"Country":"Japan","Date":"2019-11-01","Discounts":1565.2,"GrossSales":19040,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":6294.8,"SalePrice":20,"Sales":17474.8,"UnitsSold":"952","Year":"2019"},{"COGS":343000,"Country":"USA","Date":"2019-12-01","Discounts":28812,"GrossSales":889200,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":517388,"SalePrice":300,"Sales":860388,"UnitsSold":"2964","Year":"2019"},{"COGS":2440,"Country":"Japan","Date":"2019-02-01","Discounts":273.28,"GrossSales":10535,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":7821.72,"SalePrice":7,"Sales":10261.72,"UnitsSold":"1505","Year":"2019"},{"COGS":12820,"Country":"USA","Date":"2019-06-01","Discounts":2051.2,"GrossSales":33560,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":18688.8,"SalePrice":20,"Sales":31508.8,"UnitsSold":"1678","Year":"2019"},{"COGS":1285,"Country":"Japan","Date":"2019-05-01","Discounts":143.92,"GrossSales":29743,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":28314.08,"SalePrice":7,"Sales":29599.08,"UnitsSold":"4249","Year":"2019"},{"COGS":12820,"Country":"USA","Date":"2019-06-01","Discounts":2051.2,"GrossSales":33540,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":18668.8,"SalePrice":20,"Sales":31488.8,"UnitsSold":"1677","Year":"2019"},{"COGS":184800,"Country":"Brazil","Date":"2019-08-01","Discounts":15400,"GrossSales":381375,"ManufacturingPrice":3,"MonthName":"August","Product":"Kensington","Profit":181175,"SalePrice":125,"Sales":365975,"UnitsSold":"3051","Year":"2019"},{"COGS":4900,"Country":"UK","Date":"2019-11-01","Discounts":588,"GrossSales":50580,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":45092,"SalePrice":15,"Sales":49992,"UnitsSold":"3372","Year":"2019"},{"COGS":354120,"Country":"Brazil","Date":"2019-12-01","Discounts":38136,"GrossSales":590100,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":197844,"SalePrice":350,"Sales":551964,"UnitsSold":"1686","Year":"2019"},{"COGS":25010,"Country":"UK","Date":"2019-03-01","Discounts":3001.2,"GrossSales":46290,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":18278.8,"SalePrice":15,"Sales":43288.8,"UnitsSold":"3086","Year":"2019"},{"COGS":7080,"Country":"Japan","Date":"2019-06-01","Discounts":1132.8,"GrossSales":83000,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":74787.2,"SalePrice":20,"Sales":81867.2,"UnitsSold":"4150","Year":"2019"},{"COGS":6450,"Country":"India","Date":"2019-07-01","Discounts":1032,"GrossSales":60540,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":53058,"SalePrice":20,"Sales":59508,"UnitsSold":"3027","Year":"2019"},{"COGS":390500,"Country":"UK","Date":"2019-08-01","Discounts":37488,"GrossSales":1307700,"ManufacturingPrice":5,"MonthName":"August","Product":"Royal Oak","Profit":879712,"SalePrice":300,"Sales":1270212,"UnitsSold":"4359","Year":"2019"},{"COGS":320750,"Country":"Japan","Date":"2018-09-01","Discounts":30792,"GrossSales":1088400,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":736858,"SalePrice":300,"Sales":1057608,"UnitsSold":"3628","Year":"2018"},{"COGS":7110,"Country":"India","Date":"2019-12-01","Discounts":853.2,"GrossSales":23835,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":15871.8,"SalePrice":15,"Sales":22981.8,"UnitsSold":"1589","Year":"2019"},{"COGS":133680,"Country":"Brazil","Date":"2019-03-01","Discounts":11140,"GrossSales":334875,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":190055,"SalePrice":125,"Sales":323735,"UnitsSold":"2679","Year":"2019"},{"COGS":6295,"Country":"India","Date":"2019-04-01","Discounts":705.04,"GrossSales":23807,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":16806.96,"SalePrice":7,"Sales":23101.96,"UnitsSold":"3401","Year":"2019"},{"COGS":5475,"Country":"India","Date":"2019-05-01","Discounts":613.2,"GrossSales":19705,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":13616.8,"SalePrice":7,"Sales":19091.8,"UnitsSold":"2815","Year":"2019"},{"COGS":13660,"Country":"India","Date":"2019-06-01","Discounts":2185.6,"GrossSales":59280,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":43434.4,"SalePrice":20,"Sales":57094.4,"UnitsSold":"2964","Year":"2019"},{"COGS":615000,"Country":"Brazil","Date":"2019-06-01","Discounts":59040,"GrossSales":1251900,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":577860,"SalePrice":300,"Sales":1192860,"UnitsSold":"4173","Year":"2019"},{"COGS":3390,"Country":"USA","Date":"2019-08-01","Discounts":379.68,"GrossSales":8099,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":4329.32,"SalePrice":7,"Sales":7719.32,"UnitsSold":"1157","Year":"2019"},{"COGS":7990,"Country":"India","Date":"2019-08-01","Discounts":894.88,"GrossSales":21455,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":12570.12,"SalePrice":7,"Sales":20560.12,"UnitsSold":"3065","Year":"2019"},{"COGS":12045,"Country":"India","Date":"2018-09-01","Discounts":1349.04,"GrossSales":13734,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":339.96,"SalePrice":7,"Sales":12384.96,"UnitsSold":"1962","Year":"2018"},{"COGS":19340,"Country":"India","Date":"2019-09-01","Discounts":3094.4,"GrossSales":81600,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":59165.6,"SalePrice":20,"Sales":78505.6,"UnitsSold":"4080","Year":"2019"},{"COGS":29930,"Country":"Brazil","Date":"2019-09-01","Discounts":4788.8,"GrossSales":34260,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":458.8,"SalePrice":20,"Sales":29471.2,"UnitsSold":"1713","Year":"2019"},{"COGS":557960,"Country":"India","Date":"2018-11-01","Discounts":60088,"GrossSales":978250,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":360202,"SalePrice":350,"Sales":918162,"UnitsSold":"2795","Year":"2018"},{"COGS":9730,"Country":"Brazil","Date":"2018-12-01","Discounts":1089.76,"GrossSales":28574,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":17754.24,"SalePrice":7,"Sales":27484.24,"UnitsSold":"4082","Year":"2018"},{"COGS":354120,"Country":"Brazil","Date":"2019-12-01","Discounts":38136,"GrossSales":591850,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":199594,"SalePrice":350,"Sales":553714,"UnitsSold":"1691","Year":"2019"},{"COGS":1794,"Country":"Japan","Date":"2019-03-01","Discounts":574.08,"GrossSales":27660,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":25291.92,"SalePrice":12,"Sales":27085.92,"UnitsSold":"2305","Year":"2019"},{"COGS":14535,"Country":"USA","Date":"2019-06-01","Discounts":1627.92,"GrossSales":23807,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":7644.08,"SalePrice":7,"Sales":22179.08,"UnitsSold":"3401","Year":"2019"},{"COGS":11690,"Country":"India","Date":"2019-06-01","Discounts":1309.28,"GrossSales":16016,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":3016.72,"SalePrice":7,"Sales":14706.72,"UnitsSold":"2288","Year":"2019"},{"COGS":96500,"Country":"UK","Date":"2018-11-01","Discounts":9264,"GrossSales":719700,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":613936,"SalePrice":300,"Sales":710436,"UnitsSold":"2399","Year":"2018"},{"COGS":158750,"Country":"Brazil","Date":"2019-12-01","Discounts":15240,"GrossSales":1225800,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":1051810,"SalePrice":300,"Sales":1210560,"UnitsSold":"4086","Year":"2019"},{"COGS":149370,"Country":"UK","Date":"2019-04-01","Discounts":16086,"GrossSales":927850,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":762394,"SalePrice":350,"Sales":911764,"UnitsSold":"2651","Year":"2019"},{"COGS":11690,"Country":"India","Date":"2019-06-01","Discounts":1309.28,"GrossSales":27797,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":14797.72,"SalePrice":7,"Sales":26487.72,"UnitsSold":"3971","Year":"2019"},{"COGS":99060,"Country":"UK","Date":"2019-08-01","Discounts":10668,"GrossSales":879200,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":769472,"SalePrice":350,"Sales":868532,"UnitsSold":"2512","Year":"2019"},{"COGS":109720,"Country":"India","Date":"2019-08-01","Discounts":11816,"GrossSales":960750,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":839214,"SalePrice":350,"Sales":948934,"UnitsSold":"2745","Year":"2019"},{"COGS":533500,"Country":"Japan","Date":"2019-09-01","Discounts":51216,"GrossSales":570900,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":13816,"SalePrice":300,"Sales":519684,"UnitsSold":"1903","Year":"2019"},{"COGS":202000,"Country":"USA","Date":"2018-12-01","Discounts":19392,"GrossSales":194100,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":27292,"SalePrice":300,"Sales":174708,"UnitsSold":"647","Year":"2018"},{"COGS":7080,"Country":"Japan","Date":"2019-06-01","Discounts":1132.8,"GrossSales":58280,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":50067.2,"SalePrice":20,"Sales":57147.2,"UnitsSold":"2914","Year":"2019"},{"COGS":14535,"Country":"USA","Date":"2019-06-01","Discounts":1627.92,"GrossSales":13223,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":2939.92,"SalePrice":7,"Sales":11595.08,"UnitsSold":"1889","Year":"2019"},{"COGS":13660,"Country":"India","Date":"2019-06-01","Discounts":2185.6,"GrossSales":29320,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":13474.4,"SalePrice":20,"Sales":27134.4,"UnitsSold":"1466","Year":"2019"},{"COGS":615000,"Country":"Brazil","Date":"2019-06-01","Discounts":59040,"GrossSales":266100,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":407940,"SalePrice":300,"Sales":207060,"UnitsSold":"887","Year":"2019"},{"COGS":15200,"Country":"India","Date":"2019-11-01","Discounts":2432,"GrossSales":7900,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":9732,"SalePrice":20,"Sales":5468,"UnitsSold":"395","Year":"2019"},{"COGS":7110,"Country":"India","Date":"2019-12-01","Discounts":853.2,"GrossSales":25395,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":17431.8,"SalePrice":15,"Sales":24541.8,"UnitsSold":"1693","Year":"2019"},{"COGS":4125,"Country":"Brazil","Date":"2018-12-01","Discounts":1320,"GrossSales":29508,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":24063,"SalePrice":12,"Sales":28188,"UnitsSold":"2459","Year":"2018"},{"COGS":158750,"Country":"Brazil","Date":"2019-12-01","Discounts":15240,"GrossSales":794700,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":620710,"SalePrice":300,"Sales":779460,"UnitsSold":"2649","Year":"2019"},{"COGS":4365,"Country":"USA","Date":"2019-07-01","Discounts":698.4,"GrossSales":72160,"ManufacturingPrice":250,"MonthName":"July","Product":"Mandarin","Profit":67096.6,"SalePrice":20,"Sales":71461.6,"UnitsSold":"3608","Year":"2019"},{"COGS":273500,"Country":"Japan","Date":"2019-06-01","Discounts":29538,"GrossSales":321900,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":18862,"SalePrice":300,"Sales":292362,"UnitsSold":"1073","Year":"2019"},{"COGS":1101,"Country":"Brazil","Date":"2018-10-01","Discounts":396.36,"GrossSales":21048,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":19550.64,"SalePrice":12,"Sales":20651.64,"UnitsSold":"1754","Year":"2018"},{"COGS":950625,"Country":"Japan","Date":"2019-04-01","Discounts":102667.5,"GrossSales":650100,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":403192.5,"SalePrice":300,"Sales":547432.5,"UnitsSold":"2167","Year":"2019"},{"COGS":433160,"Country":"UK","Date":"2019-05-01","Discounts":52479,"GrossSales":461650,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":23989,"SalePrice":350,"Sales":409171,"UnitsSold":"1319","Year":"2019"},{"COGS":80500,"Country":"UK","Date":"2018-09-01","Discounts":8694,"GrossSales":503700,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":414506,"SalePrice":300,"Sales":495006,"UnitsSold":"1679","Year":"2018"},{"COGS":6963,"Country":"Japan","Date":"2019-11-01","Discounts":2506.68,"GrossSales":15024,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":5554.32,"SalePrice":12,"Sales":12517.32,"UnitsSold":"1252","Year":"2019"},{"COGS":222840,"Country":"UK","Date":"2018-11-01","Discounts":20891.25,"GrossSales":436625,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":192893.75,"SalePrice":125,"Sales":415733.75,"UnitsSold":"3493","Year":"2018"},{"COGS":8055,"Country":"Japan","Date":"2018-12-01","Discounts":1014.93,"GrossSales":11879,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":2809.07,"SalePrice":7,"Sales":10864.07,"UnitsSold":"1697","Year":"2018"},{"COGS":335640,"Country":"USA","Date":"2019-12-01","Discounts":31466.25,"GrossSales":144500,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":222606.25,"SalePrice":125,"Sales":113033.75,"UnitsSold":"1156","Year":"2019"},{"COGS":83500,"Country":"India","Date":"2018-12-01","Discounts":9018,"GrossSales":217800,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":125282,"SalePrice":300,"Sales":208782,"UnitsSold":"726","Year":"2018"},{"COGS":641250,"Country":"Brazil","Date":"2019-01-01","Discounts":69255,"GrossSales":345900,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":364605,"SalePrice":300,"Sales":276645,"UnitsSold":"1153","Year":"2019"},{"COGS":628420,"Country":"Brazil","Date":"2019-01-01","Discounts":76135.5,"GrossSales":952000,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":247444.5,"SalePrice":350,"Sales":875864.5,"UnitsSold":"2720","Year":"2019"},{"COGS":36750,"Country":"USA","Date":"2019-04-01","Discounts":4961.25,"GrossSales":54870,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":13158.75,"SalePrice":15,"Sales":49908.75,"UnitsSold":"3658","Year":"2019"},{"COGS":273500,"Country":"Japan","Date":"2019-06-01","Discounts":29538,"GrossSales":885000,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":581962,"SalePrice":300,"Sales":855462,"UnitsSold":"2950","Year":"2019"},{"COGS":12270,"Country":"UK","Date":"2019-10-01","Discounts":1656.45,"GrossSales":27315,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":13388.55,"SalePrice":15,"Sales":25658.55,"UnitsSold":"1821","Year":"2019"},{"COGS":1101,"Country":"Brazil","Date":"2018-10-01","Discounts":396.36,"GrossSales":50088,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":48590.64,"SalePrice":12,"Sales":49691.64,"UnitsSold":"4174","Year":"2018"},{"COGS":331000,"Country":"UK","Date":"2019-11-01","Discounts":35748,"GrossSales":338100,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":28648,"SalePrice":300,"Sales":302352,"UnitsSold":"1127","Year":"2019"},{"COGS":5325,"Country":"India","Date":"2018-11-01","Discounts":1917,"GrossSales":26508,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":19266,"SalePrice":12,"Sales":24591,"UnitsSold":"2209","Year":"2018"},{"COGS":335640,"Country":"USA","Date":"2019-12-01","Discounts":31466.25,"GrossSales":107750,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":259356.25,"SalePrice":125,"Sales":76283.75,"UnitsSold":"862","Year":"2019"},{"COGS":2450,"Country":"Brazil","Date":"2019-05-01","Discounts":330.75,"GrossSales":57075,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":54294.25,"SalePrice":15,"Sales":56744.25,"UnitsSold":"3805","Year":"2019"},{"COGS":948375,"Country":"Japan","Date":"2019-07-01","Discounts":102424.5,"GrossSales":424500,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":626299.5,"SalePrice":300,"Sales":322075.5,"UnitsSold":"1415","Year":"2019"},{"COGS":339820,"Country":"India","Date":"2019-07-01","Discounts":41170.5,"GrossSales":780850,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":399859.5,"SalePrice":350,"Sales":739679.5,"UnitsSold":"2231","Year":"2019"},{"COGS":68040,"Country":"Japan","Date":"2019-09-01","Discounts":6378.75,"GrossSales":456125,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":381706.25,"SalePrice":125,"Sales":449746.25,"UnitsSold":"3649","Year":"2019"},{"COGS":253200,"Country":"Brazil","Date":"2019-09-01","Discounts":23737.5,"GrossSales":368500,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":91562.5,"SalePrice":125,"Sales":344762.5,"UnitsSold":"2948","Year":"2019"},{"COGS":329940,"Country":"Japan","Date":"2019-10-01","Discounts":39973.5,"GrossSales":1188250,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":818336.5,"SalePrice":350,"Sales":1148276.5,"UnitsSold":"3395","Year":"2019"},{"COGS":5868,"Country":"USA","Date":"2019-01-01","Discounts":2112.48,"GrossSales":31800,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":23819.52,"SalePrice":12,"Sales":29687.52,"UnitsSold":"2650","Year":"2019"},{"COGS":664750,"Country":"India","Date":"2019-02-01","Discounts":71793,"GrossSales":175500,"ManufacturingPrice":250,"MonthName":"February","Product":"Mandarin","Profit":561043,"SalePrice":300,"Sales":103707,"UnitsSold":"585","Year":"2019"},{"COGS":351390,"Country":"USA","Date":"2019-04-01","Discounts":42572.25,"GrossSales":460600,"ManufacturingPrice":250,"MonthName":"April","Product":"Mandarin","Profit":66637.75,"SalePrice":350,"Sales":418027.75,"UnitsSold":"1316","Year":"2019"},{"COGS":2640,"Country":"India","Date":"2019-05-01","Discounts":950.4,"GrossSales":53508,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":49917.6,"SalePrice":12,"Sales":52557.6,"UnitsSold":"4459","Year":"2019"},{"COGS":466750,"Country":"USA","Date":"2019-09-01","Discounts":50409,"GrossSales":813300,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":296141,"SalePrice":300,"Sales":762891,"UnitsSold":"2711","Year":"2019"},{"COGS":6702,"Country":"UK","Date":"2018-09-01","Discounts":2412.72,"GrossSales":31452,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":22337.28,"SalePrice":12,"Sales":29039.28,"UnitsSold":"2621","Year":"2018"},{"COGS":12270,"Country":"UK","Date":"2019-10-01","Discounts":1656.45,"GrossSales":54195,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":40268.55,"SalePrice":15,"Sales":52538.55,"UnitsSold":"3613","Year":"2019"},{"COGS":105240,"Country":"Brazil","Date":"2019-11-01","Discounts":9866.25,"GrossSales":230875,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":115768.75,"SalePrice":125,"Sales":221008.75,"UnitsSold":"1847","Year":"2019"},{"COGS":538460,"Country":"USA","Date":"2019-09-01","Discounts":65236.5,"GrossSales":1048600,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":444903.5,"SalePrice":350,"Sales":983363.5,"UnitsSold":"2996","Year":"2019"},{"COGS":329940,"Country":"Japan","Date":"2019-10-01","Discounts":39973.5,"GrossSales":993300,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":623386.5,"SalePrice":350,"Sales":953326.5,"UnitsSold":"2838","Year":"2019"},{"COGS":9700,"Country":"India","Date":"2018-11-01","Discounts":1309.5,"GrossSales":19530,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":8520.5,"SalePrice":15,"Sales":18220.5,"UnitsSold":"1302","Year":"2018"},{"COGS":16940,"Country":"Brazil","Date":"2019-11-01","Discounts":3049.2,"GrossSales":30720,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":10730.8,"SalePrice":20,"Sales":27670.8,"UnitsSold":"1536","Year":"2019"},{"COGS":6630,"Country":"India","Date":"2019-05-01","Discounts":1193.4,"GrossSales":25820,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":17996.6,"SalePrice":20,"Sales":24626.6,"UnitsSold":"1291","Year":"2019"},{"COGS":4095,"Country":"Japan","Date":"2019-07-01","Discounts":515.97,"GrossSales":8491,"ManufacturingPrice":3,"MonthName":"July","Product":"Kensington","Profit":3880.03,"SalePrice":7,"Sales":7975.03,"UnitsSold":"1213","Year":"2019"},{"COGS":4740,"Country":"India","Date":"2019-09-01","Discounts":1706.4,"GrossSales":28440,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":21993.6,"SalePrice":12,"Sales":26733.6,"UnitsSold":"2370","Year":"2019"},{"COGS":2605,"Country":"Brazil","Date":"2019-12-01","Discounts":328.23,"GrossSales":13853,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":10919.77,"SalePrice":7,"Sales":13524.77,"UnitsSold":"1979","Year":"2019"},{"COGS":9730,"Country":"USA","Date":"2019-03-01","Discounts":1751.4,"GrossSales":57580,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":46098.6,"SalePrice":20,"Sales":55828.6,"UnitsSold":"2879","Year":"2019"},{"COGS":10380,"Country":"Brazil","Date":"2019-06-01","Discounts":1868.4,"GrossSales":34140,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":21891.6,"SalePrice":20,"Sales":32271.6,"UnitsSold":"1707","Year":"2019"},{"COGS":1800,"Country":"India","Date":"2019-10-01","Discounts":226.8,"GrossSales":20531,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":18504.2,"SalePrice":7,"Sales":20304.2,"UnitsSold":"2933","Year":"2019"},{"COGS":5901,"Country":"UK","Date":"2019-03-01","Discounts":2124.36,"GrossSales":12168,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":4142.64,"SalePrice":12,"Sales":10043.64,"UnitsSold":"1014","Year":"2019"},{"COGS":26280,"Country":"Brazil","Date":"2019-04-01","Discounts":3547.8,"GrossSales":10395,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":19432.8,"SalePrice":15,"Sales":6847.2,"UnitsSold":"693","Year":"2019"},{"COGS":1800,"Country":"India","Date":"2019-10-01","Discounts":226.8,"GrossSales":26187,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":24160.2,"SalePrice":7,"Sales":25960.2,"UnitsSold":"3741","Year":"2019"},{"COGS":26820,"Country":"UK","Date":"2018-11-01","Discounts":4827.6,"GrossSales":62320,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":30672.4,"SalePrice":20,"Sales":57492.4,"UnitsSold":"3116","Year":"2018"},{"COGS":2605,"Country":"Brazil","Date":"2019-12-01","Discounts":328.23,"GrossSales":27965,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":25031.77,"SalePrice":7,"Sales":27636.77,"UnitsSold":"3995","Year":"2019"},{"COGS":10380,"Country":"Brazil","Date":"2019-06-01","Discounts":1868.4,"GrossSales":19060,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":6811.6,"SalePrice":20,"Sales":17191.6,"UnitsSold":"953","Year":"2019"},{"COGS":16305,"Country":"Japan","Date":"2019-07-01","Discounts":2201.18,"GrossSales":37950,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":19443.82,"SalePrice":15,"Sales":35748.82,"UnitsSold":"2530","Year":"2019"},{"COGS":918,"Country":"UK","Date":"2018-12-01","Discounts":330.48,"GrossSales":30780,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":29531.52,"SalePrice":12,"Sales":30449.52,"UnitsSold":"2565","Year":"2018"},{"COGS":1158,"Country":"USA","Date":"2018-10-01","Discounts":463.2,"GrossSales":51564,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":49942.8,"SalePrice":12,"Sales":51100.8,"UnitsSold":"4297","Year":"2018"},{"COGS":11640,"Country":"USA","Date":"2019-09-01","Discounts":1629.6,"GrossSales":20097,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":6827.4,"SalePrice":7,"Sales":18467.4,"UnitsSold":"2871","Year":"2019"},{"COGS":1158,"Country":"USA","Date":"2018-10-01","Discounts":463.2,"GrossSales":42444,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":40822.8,"SalePrice":12,"Sales":41980.8,"UnitsSold":"3537","Year":"2018"},{"COGS":413460,"Country":"USA","Date":"2019-04-01","Discounts":43068.75,"GrossSales":199750,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":256778.75,"SalePrice":125,"Sales":156681.25,"UnitsSold":"1598","Year":"2019"},{"COGS":177840,"Country":"UK","Date":"2018-12-01","Discounts":18525,"GrossSales":327000,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":130635,"SalePrice":125,"Sales":308475,"UnitsSold":"2616","Year":"2018"},{"COGS":601380,"Country":"USA","Date":"2019-05-01","Discounts":80955,"GrossSales":992600,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":310265,"SalePrice":350,"Sales":911645,"UnitsSold":"2836","Year":"2019"},{"COGS":216480,"Country":"USA","Date":"2018-11-01","Discounts":22550,"GrossSales":502875,"ManufacturingPrice":5,"MonthName":"November","Product":"Royal Oak","Profit":263845,"SalePrice":125,"Sales":480325,"UnitsSold":"4023","Year":"2018"},{"COGS":20720,"Country":"UK","Date":"2019-12-01","Discounts":3108,"GrossSales":59910,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":36082,"SalePrice":15,"Sales":56802,"UnitsSold":"3994","Year":"2019"},{"COGS":19540,"Country":"UK","Date":"2019-03-01","Discounts":3908,"GrossSales":58560,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":35112,"SalePrice":20,"Sales":54652,"UnitsSold":"2928","Year":"2019"},{"COGS":147750,"Country":"Brazil","Date":"2019-05-01","Discounts":17730,"GrossSales":873600,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":708120,"SalePrice":300,"Sales":855870,"UnitsSold":"2912","Year":"2019"},{"COGS":21670,"Country":"UK","Date":"2018-10-01","Discounts":3250.5,"GrossSales":55065,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":30144.5,"SalePrice":15,"Sales":51814.5,"UnitsSold":"3671","Year":"2018"},{"COGS":2410,"Country":"India","Date":"2019-10-01","Discounts":482,"GrossSales":55560,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":52668,"SalePrice":20,"Sales":55078,"UnitsSold":"2778","Year":"2019"},{"COGS":6810,"Country":"India","Date":"2019-01-01","Discounts":1021.5,"GrossSales":6075,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":1756.5,"SalePrice":15,"Sales":5053.5,"UnitsSold":"405","Year":"2019"},{"COGS":5100,"Country":"India","Date":"2019-04-01","Discounts":765,"GrossSales":30195,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":24330,"SalePrice":15,"Sales":29430,"UnitsSold":"2013","Year":"2019"},{"COGS":7900,"Country":"USA","Date":"2019-05-01","Discounts":1185,"GrossSales":39510,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":30425,"SalePrice":15,"Sales":38325,"UnitsSold":"2634","Year":"2019"},{"COGS":166140,"Country":"UK","Date":"2019-07-01","Discounts":22365,"GrossSales":1458100,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":1269595,"SalePrice":350,"Sales":1435735,"UnitsSold":"4166","Year":"2019"},{"COGS":191520,"Country":"USA","Date":"2019-09-01","Discounts":19950,"GrossSales":44375,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":167095,"SalePrice":125,"Sales":24425,"UnitsSold":"355","Year":"2019"},{"COGS":573500,"Country":"USA","Date":"2018-10-01","Discounts":68820,"GrossSales":714600,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":72280,"SalePrice":300,"Sales":645780,"UnitsSold":"2382","Year":"2018"},{"COGS":2410,"Country":"India","Date":"2019-10-01","Discounts":482,"GrossSales":83400,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":80508,"SalePrice":20,"Sales":82918,"UnitsSold":"4170","Year":"2019"},{"COGS":13325,"Country":"India","Date":"2019-11-01","Discounts":1865.5,"GrossSales":6244,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":8946.5,"SalePrice":7,"Sales":4378.5,"UnitsSold":"892","Year":"2019"},{"COGS":229920,"Country":"Japan","Date":"2018-12-01","Discounts":23950,"GrossSales":275000,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":21130,"SalePrice":125,"Sales":251050,"UnitsSold":"2200","Year":"2018"},{"COGS":213250,"Country":"UK","Date":"2019-12-01","Discounts":25590,"GrossSales":1016700,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":777860,"SalePrice":300,"Sales":991110,"UnitsSold":"3389","Year":"2019"},{"COGS":40920,"Country":"Brazil","Date":"2019-05-01","Discounts":4262.5,"GrossSales":373750,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":328567.5,"SalePrice":125,"Sales":369487.5,"UnitsSold":"2990","Year":"2019"},{"COGS":6410,"Country":"Brazil","Date":"2019-07-01","Discounts":961.5,"GrossSales":60195,"ManufacturingPrice":250,"MonthName":"July","Product":"Mandarin","Profit":52823.5,"SalePrice":15,"Sales":59233.5,"UnitsSold":"4013","Year":"2019"},{"COGS":729820,"Country":"USA","Date":"2019-08-01","Discounts":98245,"GrossSales":258650,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":569415,"SalePrice":350,"Sales":160405,"UnitsSold":"739","Year":"2019"},{"COGS":108000,"Country":"Brazil","Date":"2019-09-01","Discounts":12960,"GrossSales":596700,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":475740,"SalePrice":300,"Sales":583740,"UnitsSold":"1989","Year":"2019"},{"COGS":573500,"Country":"USA","Date":"2018-10-01","Discounts":68820,"GrossSales":897300,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":254980,"SalePrice":300,"Sales":828480,"UnitsSold":"2991","Year":"2018"},{"COGS":21670,"Country":"UK","Date":"2018-10-01","Discounts":3250.5,"GrossSales":63555,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":38634.5,"SalePrice":15,"Sales":60304.5,"UnitsSold":"4237","Year":"2018"},{"COGS":303480,"Country":"Japan","Date":"2019-11-01","Discounts":31612.5,"GrossSales":180250,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":154842.5,"SalePrice":125,"Sales":148637.5,"UnitsSold":"1442","Year":"2019"},{"COGS":486200,"Country":"India","Date":"2018-12-01","Discounts":65450,"GrossSales":949200,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":397550,"SalePrice":350,"Sales":883750,"UnitsSold":"2712","Year":"2018"},{"COGS":69480,"Country":"USA","Date":"2019-01-01","Discounts":7237.5,"GrossSales":188500,"ManufacturingPrice":260,"MonthName":"January","Product":"Luxe","Profit":111782.5,"SalePrice":125,"Sales":181262.5,"UnitsSold":"1508","Year":"2019"},{"COGS":582400,"Country":"Japan","Date":"2019-02-01","Discounts":78400,"GrossSales":1485750,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":824950,"SalePrice":350,"Sales":1407350,"UnitsSold":"4245","Year":"2019"},{"COGS":748250,"Country":"USA","Date":"2019-03-01","Discounts":89790,"GrossSales":789000,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":49040,"SalePrice":300,"Sales":699210,"UnitsSold":"2630","Year":"2019"},{"COGS":10561.5,"Country":"Japan","Date":"2019-04-01","Discounts":4224.6,"GrossSales":14184,"ManufacturingPrice":260,"MonthName":"April","Product":"Luxe","Profit":602.1,"SalePrice":12,"Sales":9959.4,"UnitsSold":"1182","Year":"2019"},{"COGS":20390,"Country":"Brazil","Date":"2019-05-01","Discounts":4078,"GrossSales":24420,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":48,"SalePrice":20,"Sales":20342,"UnitsSold":"1221","Year":"2019"},{"COGS":7722,"Country":"India","Date":"2019-08-01","Discounts":3088.8,"GrossSales":11556,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":745.2,"SalePrice":12,"Sales":8467.2,"UnitsSold":"963","Year":"2019"},{"COGS":183820,"Country":"Japan","Date":"2019-09-01","Discounts":24745,"GrossSales":1135050,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":926485,"SalePrice":350,"Sales":1110305,"UnitsSold":"3243","Year":"2019"},{"COGS":20720,"Country":"UK","Date":"2019-12-01","Discounts":3108,"GrossSales":16800,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":7028,"SalePrice":15,"Sales":13692,"UnitsSold":"1120","Year":"2019"},{"COGS":213250,"Country":"UK","Date":"2019-12-01","Discounts":25590,"GrossSales":352200,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":113360,"SalePrice":300,"Sales":326610,"UnitsSold":"1174","Year":"2019"},{"COGS":3594,"Country":"UK","Date":"2018-10-01","Discounts":1581.36,"GrossSales":30492,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":25316.64,"SalePrice":12,"Sales":28910.64,"UnitsSold":"2541","Year":"2018"},{"COGS":12660,"Country":"UK","Date":"2019-04-01","Discounts":1949.64,"GrossSales":22722,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":8112.36,"SalePrice":7,"Sales":20772.36,"UnitsSold":"3246","Year":"2019"},{"COGS":3594,"Country":"UK","Date":"2018-10-01","Discounts":1581.36,"GrossSales":18372,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":13196.64,"SalePrice":12,"Sales":16790.64,"UnitsSold":"1531","Year":"2018"},{"COGS":3840,"Country":"Japan","Date":"2019-01-01","Discounts":633.6,"GrossSales":37890,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":33416.4,"SalePrice":15,"Sales":37256.4,"UnitsSold":"2526","Year":"2019"},{"COGS":1416,"Country":"India","Date":"2019-10-01","Discounts":623.04,"GrossSales":13632,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":11592.96,"SalePrice":12,"Sales":13008.96,"UnitsSold":"1136","Year":"2019"},{"COGS":7895,"Country":"USA","Date":"2019-03-01","Discounts":1215.83,"GrossSales":13881,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":4770.17,"SalePrice":7,"Sales":12665.17,"UnitsSold":"1983","Year":"2019"},{"COGS":3015,"Country":"Brazil","Date":"2018-09-01","Discounts":1326.6,"GrossSales":39108,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":34766.4,"SalePrice":12,"Sales":37781.4,"UnitsSold":"3259","Year":"2018"},{"COGS":31995,"Country":"USA","Date":"2019-07-01","Discounts":5279.17,"GrossSales":49005,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":11730.82,"SalePrice":15,"Sales":43725.82,"UnitsSold":"3267","Year":"2019"},{"COGS":1416,"Country":"India","Date":"2019-10-01","Discounts":623.04,"GrossSales":29448,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":27408.96,"SalePrice":12,"Sales":28824.96,"UnitsSold":"2454","Year":"2019"},{"COGS":5811,"Country":"Japan","Date":"2019-02-01","Discounts":2556.84,"GrossSales":31716,"ManufacturingPrice":3,"MonthName":"February","Product":"Kensington","Profit":23348.16,"SalePrice":12,"Sales":29159.16,"UnitsSold":"2643","Year":"2019"},{"COGS":205920,"Country":"India","Date":"2019-03-01","Discounts":30492,"GrossSales":134050,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":102362,"SalePrice":350,"Sales":103558,"UnitsSold":"383","Year":"2019"},{"COGS":702750,"Country":"India","Date":"2019-07-01","Discounts":92763,"GrossSales":840300,"ManufacturingPrice":3,"MonthName":"July","Product":"Kensington","Profit":44787,"SalePrice":300,"Sales":747537,"UnitsSold":"2801","Year":"2019"},{"COGS":292920,"Country":"UK","Date":"2019-10-01","Discounts":33563.75,"GrossSales":208375,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":118108.75,"SalePrice":125,"Sales":174811.25,"UnitsSold":"1667","Year":"2019"},{"COGS":15600,"Country":"Japan","Date":"2018-11-01","Discounts":2574,"GrossSales":53085,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":34911,"SalePrice":15,"Sales":50511,"UnitsSold":"3539","Year":"2018"},{"COGS":13530,"Country":"Brazil","Date":"2018-11-01","Discounts":2083.62,"GrossSales":29582,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":13968.38,"SalePrice":7,"Sales":27498.38,"UnitsSold":"4226","Year":"2018"},{"COGS":199160,"Country":"India","Date":"2019-01-01","Discounts":29491,"GrossSales":777000,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":548349,"SalePrice":350,"Sales":747509,"UnitsSold":"2220","Year":"2019"},{"COGS":29920,"Country":"India","Date":"2018-10-01","Discounts":6582.4,"GrossSales":15520,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":20982.4,"SalePrice":20,"Sales":8937.6,"UnitsSold":"776","Year":"2018"},{"COGS":21570,"Country":"Brazil","Date":"2019-12-01","Discounts":3559.05,"GrossSales":8295,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":16834.05,"SalePrice":15,"Sales":4735.95,"UnitsSold":"553","Year":"2019"},{"COGS":218250,"Country":"Japan","Date":"2019-01-01","Discounts":28809,"GrossSales":632100,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":385041,"SalePrice":300,"Sales":603291,"UnitsSold":"2107","Year":"2019"},{"COGS":11220,"Country":"Brazil","Date":"2019-03-01","Discounts":2468.4,"GrossSales":49360,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":35671.6,"SalePrice":20,"Sales":46891.6,"UnitsSold":"2468","Year":"2019"},{"COGS":547170,"Country":"Japan","Date":"2019-07-01","Discounts":81023.25,"GrossSales":666750,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":38556.75,"SalePrice":350,"Sales":585726.75,"UnitsSold":"1905","Year":"2019"},{"COGS":12078,"Country":"Japan","Date":"2019-07-01","Discounts":5314.32,"GrossSales":43896,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":26503.68,"SalePrice":12,"Sales":38581.68,"UnitsSold":"3658","Year":"2019"},{"COGS":7276.5,"Country":"UK","Date":"2019-07-01","Discounts":3201.66,"GrossSales":51612,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":41133.84,"SalePrice":12,"Sales":48410.34,"UnitsSold":"4301","Year":"2019"},{"COGS":23940,"Country":"Japan","Date":"2019-08-01","Discounts":5266.8,"GrossSales":48920,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":19713.2,"SalePrice":20,"Sales":43653.2,"UnitsSold":"2446","Year":"2019"},{"COGS":19840,"Country":"Brazil","Date":"2019-08-01","Discounts":3273.6,"GrossSales":63135,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":40021.4,"SalePrice":15,"Sales":59861.4,"UnitsSold":"4209","Year":"2019"},{"COGS":292920,"Country":"UK","Date":"2019-10-01","Discounts":33563.75,"GrossSales":419125,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":92641.25,"SalePrice":125,"Sales":385561.25,"UnitsSold":"3353","Year":"2019"},{"COGS":29920,"Country":"India","Date":"2018-10-01","Discounts":6582.4,"GrossSales":28020,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":8482.4,"SalePrice":20,"Sales":21437.6,"UnitsSold":"1401","Year":"2018"},{"COGS":341500,"Country":"Japan","Date":"2019-11-01","Discounts":45078,"GrossSales":559500,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":172922,"SalePrice":300,"Sales":514422,"UnitsSold":"1865","Year":"2019"},{"COGS":28050,"Country":"UK","Date":"2018-09-01","Discounts":6171,"GrossSales":9260,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":24961,"SalePrice":20,"Sales":3089,"UnitsSold":"463","Year":"2018"},{"COGS":6550,"Country":"Brazil","Date":"2018-09-01","Discounts":1080.75,"GrossSales":62655,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":55024.25,"SalePrice":15,"Sales":61574.25,"UnitsSold":"4177","Year":"2018"},{"COGS":89440,"Country":"Brazil","Date":"2018-10-01","Discounts":13244,"GrossSales":883050,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":780366,"SalePrice":350,"Sales":869806,"UnitsSold":"2523","Year":"2018"},{"COGS":9040,"Country":"Japan","Date":"2019-11-01","Discounts":1392.16,"GrossSales":13510,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":3077.84,"SalePrice":7,"Sales":12117.84,"UnitsSold":"1930","Year":"2019"},{"COGS":5202,"Country":"UK","Date":"2019-01-01","Discounts":2288.88,"GrossSales":15612,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":8121.12,"SalePrice":12,"Sales":13323.12,"UnitsSold":"1301","Year":"2019"},{"COGS":66480,"Country":"Brazil","Date":"2019-01-01","Discounts":7617.5,"GrossSales":515625,"ManufacturingPrice":250,"MonthName":"January","Product":"Mandarin","Profit":441527.5,"SalePrice":125,"Sales":508007.5,"UnitsSold":"4125","Year":"2019"},{"COGS":29350,"Country":"Japan","Date":"2018-11-01","Discounts":6457,"GrossSales":12140,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":23667,"SalePrice":20,"Sales":5683,"UnitsSold":"607","Year":"2018"},{"COGS":379800,"Country":"India","Date":"2019-01-01","Discounts":43518.75,"GrossSales":59750,"ManufacturingPrice":260,"MonthName":"January","Product":"Luxe","Profit":363568.75,"SalePrice":125,"Sales":16231.25,"UnitsSold":"478","Year":"2019"},{"COGS":26290,"Country":"Brazil","Date":"2019-01-01","Discounts":5783.8,"GrossSales":89780,"ManufacturingPrice":260,"MonthName":"January","Product":"Luxe","Profit":57706.2,"SalePrice":20,"Sales":83996.2,"UnitsSold":"4489","Year":"2019"},{"COGS":171960,"Country":"UK","Date":"2019-05-01","Discounts":19703.75,"GrossSales":188000,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":3663.75,"SalePrice":125,"Sales":168296.25,"UnitsSold":"1504","Year":"2019"},{"COGS":113640,"Country":"Brazil","Date":"2018-09-01","Discounts":13021.25,"GrossSales":470375,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":343713.75,"SalePrice":125,"Sales":457353.75,"UnitsSold":"3763","Year":"2018"},{"COGS":89440,"Country":"Brazil","Date":"2018-10-01","Discounts":13244,"GrossSales":844200,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":741516,"SalePrice":350,"Sales":830956,"UnitsSold":"2412","Year":"2018"},{"COGS":21570,"Country":"Brazil","Date":"2019-12-01","Discounts":3559.05,"GrossSales":35130,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":10000.95,"SalePrice":15,"Sales":31570.95,"UnitsSold":"2342","Year":"2019"},{"COGS":1900,"Country":"USA","Date":"2018-09-01","Discounts":292.6,"GrossSales":31157,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":28964.4,"SalePrice":7,"Sales":30864.4,"UnitsSold":"4451","Year":"2018"},{"COGS":230360,"Country":"Brazil","Date":"2019-06-01","Discounts":37212,"GrossSales":1328600,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":1061028,"SalePrice":350,"Sales":1291388,"UnitsSold":"3796","Year":"2019"},{"COGS":289920,"Country":"Japan","Date":"2018-09-01","Discounts":36240,"GrossSales":285750,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":40410,"SalePrice":125,"Sales":249510,"UnitsSold":"2286","Year":"2018"},{"COGS":258720,"Country":"Brazil","Date":"2019-10-01","Discounts":32340,"GrossSales":451750,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":160690,"SalePrice":125,"Sales":419410,"UnitsSold":"3614","Year":"2019"},{"COGS":26890,"Country":"Japan","Date":"2019-11-01","Discounts":4840.2,"GrossSales":25740,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":5990.2,"SalePrice":15,"Sales":20899.8,"UnitsSold":"1716","Year":"2019"},{"COGS":6770,"Country":"USA","Date":"2019-03-01","Discounts":1218.6,"GrossSales":19515,"ManufacturingPrice":5,"MonthName":"March","Product":"Royal Oak","Profit":11526.4,"SalePrice":15,"Sales":18296.4,"UnitsSold":"1301","Year":"2019"},{"COGS":443250,"Country":"UK","Date":"2019-04-01","Discounts":63828,"GrossSales":1252500,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":745422,"SalePrice":300,"Sales":1188672,"UnitsSold":"4175","Year":"2019"},{"COGS":12100,"Country":"Brazil","Date":"2019-09-01","Discounts":2032.8,"GrossSales":6825,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":7307.8,"SalePrice":7,"Sales":4792.2,"UnitsSold":"975","Year":"2019"},{"COGS":13670,"Country":"Japan","Date":"2019-10-01","Discounts":2296.56,"GrossSales":8078,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":7888.56,"SalePrice":7,"Sales":5781.44,"UnitsSold":"1154","Year":"2019"},{"COGS":17150,"Country":"Brazil","Date":"2018-10-01","Discounts":4116,"GrossSales":37460,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":16194,"SalePrice":20,"Sales":33344,"UnitsSold":"1873","Year":"2018"},{"COGS":296500,"Country":"UK","Date":"2018-12-01","Discounts":42696,"GrossSales":1129800,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":790604,"SalePrice":300,"Sales":1087104,"UnitsSold":"3766","Year":"2018"},{"COGS":873750,"Country":"USA","Date":"2019-01-01","Discounts":125820,"GrossSales":1067400,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":67830,"SalePrice":300,"Sales":941580,"UnitsSold":"3558","Year":"2019"},{"COGS":230360,"Country":"Brazil","Date":"2019-06-01","Discounts":37212,"GrossSales":1104600,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":837028,"SalePrice":350,"Sales":1067388,"UnitsSold":"3156","Year":"2019"},{"COGS":258720,"Country":"Brazil","Date":"2019-10-01","Discounts":32340,"GrossSales":374250,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":83190,"SalePrice":125,"Sales":341910,"UnitsSold":"2994","Year":"2019"},{"COGS":9050,"Country":"Brazil","Date":"2019-10-01","Discounts":2172,"GrossSales":41740,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":30518,"SalePrice":20,"Sales":39568,"UnitsSold":"2087","Year":"2019"},{"COGS":17150,"Country":"Brazil","Date":"2018-10-01","Discounts":4116,"GrossSales":21120,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":146,"SalePrice":20,"Sales":17004,"UnitsSold":"1056","Year":"2018"},{"COGS":414440,"Country":"UK","Date":"2019-11-01","Discounts":66948,"GrossSales":473550,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":7838,"SalePrice":350,"Sales":406602,"UnitsSold":"1353","Year":"2019"},{"COGS":339750,"Country":"India","Date":"2019-11-01","Discounts":48924,"GrossSales":124800,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":263874,"SalePrice":300,"Sales":75876,"UnitsSold":"416","Year":"2019"},{"COGS":537500,"Country":"Brazil","Date":"2019-11-01","Discounts":77400,"GrossSales":1164000,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":549100,"SalePrice":300,"Sales":1086600,"UnitsSold":"3880","Year":"2019"},{"COGS":311220,"Country":"Brazil","Date":"2019-11-01","Discounts":50274,"GrossSales":283150,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":78344,"SalePrice":350,"Sales":232876,"UnitsSold":"809","Year":"2019"},{"COGS":3800,"Country":"Brazil","Date":"2018-12-01","Discounts":684,"GrossSales":28380,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":23896,"SalePrice":15,"Sales":27696,"UnitsSold":"1892","Year":"2018"},{"COGS":12330,"Country":"Brazil","Date":"2019-12-01","Discounts":2959.2,"GrossSales":41440,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":26150.8,"SalePrice":20,"Sales":38480.8,"UnitsSold":"2072","Year":"2019"},{"COGS":362700,"Country":"Brazil","Date":"2019-07-01","Discounts":58590,"GrossSales":1068200,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":646910,"SalePrice":350,"Sales":1009610,"UnitsSold":"3052","Year":"2019"},{"COGS":256360,"Country":"USA","Date":"2019-10-01","Discounts":41412,"GrossSales":1092350,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":794578,"SalePrice":350,"Sales":1050938,"UnitsSold":"3121","Year":"2019"},{"COGS":9050,"Country":"Brazil","Date":"2019-10-01","Discounts":2172,"GrossSales":41180,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":29958,"SalePrice":20,"Sales":39008,"UnitsSold":"2059","Year":"2019"},{"COGS":6327,"Country":"Japan","Date":"2019-05-01","Discounts":3036.96,"GrossSales":51048,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":41684.04,"SalePrice":12,"Sales":48011.04,"UnitsSold":"4254","Year":"2019"},{"COGS":38745,"Country":"UK","Date":"2019-07-01","Discounts":6974.1,"GrossSales":19395,"ManufacturingPrice":250,"MonthName":"July","Product":"Mandarin","Profit":26324.1,"SalePrice":15,"Sales":12420.9,"UnitsSold":"1293","Year":"2019"},{"COGS":161980,"Country":"Japan","Date":"2018-09-01","Discounts":26166,"GrossSales":452550,"ManufacturingPrice":250,"MonthName":"September","Product":"Mandarin","Profit":264404,"SalePrice":350,"Sales":426384,"UnitsSold":"1293","Year":"2018"},{"COGS":256360,"Country":"USA","Date":"2019-10-01","Discounts":41412,"GrossSales":80500,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":217272,"SalePrice":350,"Sales":39088,"UnitsSold":"230","Year":"2019"},{"COGS":286440,"Country":"USA","Date":"2019-11-01","Discounts":35805,"GrossSales":215375,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":106870,"SalePrice":125,"Sales":179570,"UnitsSold":"1723","Year":"2019"},{"COGS":12330,"Country":"Brazil","Date":"2019-12-01","Discounts":2959.2,"GrossSales":4800,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":10489.2,"SalePrice":20,"Sales":1840.8,"UnitsSold":"240","Year":"2019"},{"COGS":70200,"Country":"USA","Date":"2019-02-01","Discounts":11340,"GrossSales":899850,"ManufacturingPrice":260,"MonthName":"February","Product":"Luxe","Profit":818310,"SalePrice":350,"Sales":888510,"UnitsSold":"2571","Year":"2019"},{"COGS":17107.5,"Country":"UK","Date":"2019-07-01","Discounts":2874.06,"GrossSales":11627,"ManufacturingPrice":260,"MonthName":"July","Product":"Luxe","Profit":8354.56,"SalePrice":7,"Sales":8752.94,"UnitsSold":"1661","Year":"2019"},{"COGS":13670,"Country":"Japan","Date":"2019-10-01","Discounts":2296.56,"GrossSales":31318,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":15351.44,"SalePrice":7,"Sales":29021.44,"UnitsSold":"4474","Year":"2019"},{"COGS":25480,"Country":"USA","Date":"2018-11-01","Discounts":4586.4,"GrossSales":12495,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":17571.4,"SalePrice":15,"Sales":7908.6,"UnitsSold":"833","Year":"2018"},{"COGS":25215,"Country":"UK","Date":"2019-01-01","Discounts":6051.6,"GrossSales":13480,"ManufacturingPrice":3,"MonthName":"January","Product":"Kensington","Profit":17786.6,"SalePrice":20,"Sales":7428.4,"UnitsSold":"674","Year":"2019"},{"COGS":7983,"Country":"Brazil","Date":"2019-05-01","Discounts":3831.84,"GrossSales":9336,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":2478.84,"SalePrice":12,"Sales":5504.16,"UnitsSold":"778","Year":"2019"},{"COGS":15310,"Country":"India","Date":"2019-12-01","Discounts":3674.4,"GrossSales":29140,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":10155.6,"SalePrice":20,"Sales":25465.6,"UnitsSold":"1457","Year":"2019"},{"COGS":7455,"Country":"UK","Date":"2019-03-01","Discounts":1252.44,"GrossSales":22106,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":13398.56,"SalePrice":7,"Sales":20853.56,"UnitsSold":"3158","Year":"2019"},{"COGS":15310,"Country":"India","Date":"2019-12-01","Discounts":3674.4,"GrossSales":81900,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":62915.6,"SalePrice":20,"Sales":78225.6,"UnitsSold":"4095","Year":"2019"},{"COGS":8283,"Country":"Japan","Date":"2018-09-01","Discounts":3975.84,"GrossSales":38040,"ManufacturingPrice":260,"MonthName":"September","Product":"Luxe","Profit":25781.16,"SalePrice":12,"Sales":34064.16,"UnitsSold":"3170","Year":"2018"},{"COGS":25670,"Country":"USA","Date":"2019-06-01","Discounts":5005.65,"GrossSales":7395,"ManufacturingPrice":3,"MonthName":"June","Product":"Kensington","Profit":23280.65,"SalePrice":15,"Sales":2389.35,"UnitsSold":"493","Year":"2019"},{"COGS":25670,"Country":"USA","Date":"2019-06-01","Discounts":5005.65,"GrossSales":49290,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":18614.35,"SalePrice":15,"Sales":44284.35,"UnitsSold":"3286","Year":"2019"},{"COGS":239980,"Country":"Japan","Date":"2019-03-01","Discounts":41996.5,"GrossSales":1247050,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":965073.5,"SalePrice":350,"Sales":1205053.5,"UnitsSold":"3563","Year":"2019"},{"COGS":465400,"Country":"UK","Date":"2019-03-01","Discounts":81445,"GrossSales":1438150,"ManufacturingPrice":3,"MonthName":"March","Product":"Kensington","Profit":891305,"SalePrice":350,"Sales":1356705,"UnitsSold":"4109","Year":"2019"},{"COGS":4420,"Country":"India","Date":"2018-09-01","Discounts":1149.2,"GrossSales":73060,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":67490.8,"SalePrice":20,"Sales":71910.8,"UnitsSold":"3653","Year":"2018"},{"COGS":255450,"Country":"USA","Date":"2019-01-01","Discounts":44703.75,"GrossSales":771050,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":470896.25,"SalePrice":350,"Sales":726346.25,"UnitsSold":"2203","Year":"2019"},{"COGS":6490,"Country":"USA","Date":"2019-02-01","Discounts":1181.18,"GrossSales":20468,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":12796.82,"SalePrice":7,"Sales":19286.82,"UnitsSold":"2924","Year":"2019"},{"COGS":1812,"Country":"Brazil","Date":"2019-06-01","Discounts":942.24,"GrossSales":31800,"ManufacturingPrice":5,"MonthName":"June","Product":"Royal Oak","Profit":29045.76,"SalePrice":12,"Sales":30857.76,"UnitsSold":"2650","Year":"2019"},{"COGS":22550,"Country":"Brazil","Date":"2019-07-01","Discounts":5863,"GrossSales":23880,"ManufacturingPrice":5,"MonthName":"July","Product":"Royal Oak","Profit":4533,"SalePrice":20,"Sales":18017,"UnitsSold":"1194","Year":"2019"},{"COGS":12490,"Country":"Japan","Date":"2019-10-01","Discounts":3247.4,"GrossSales":67320,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":51582.6,"SalePrice":20,"Sales":64072.6,"UnitsSold":"3366","Year":"2019"},{"COGS":7192.5,"Country":"USA","Date":"2019-01-01","Discounts":1309.04,"GrossSales":9275,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":773.47,"SalePrice":7,"Sales":7965.97,"UnitsSold":"1325","Year":"2019"},{"COGS":201750,"Country":"India","Date":"2019-01-01","Discounts":31473,"GrossSales":1272900,"ManufacturingPrice":10,"MonthName":"January","Product":"Vermont","Profit":1039677,"SalePrice":300,"Sales":1241427,"UnitsSold":"4243","Year":"2019"},{"COGS":26410,"Country":"USA","Date":"2019-02-01","Discounts":6866.6,"GrossSales":57740,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":24463.4,"SalePrice":20,"Sales":50873.4,"UnitsSold":"2887","Year":"2019"},{"COGS":27080,"Country":"India","Date":"2019-02-01","Discounts":7040.8,"GrossSales":76780,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":42659.2,"SalePrice":20,"Sales":69739.2,"UnitsSold":"3839","Year":"2019"},{"COGS":684320,"Country":"Japan","Date":"2019-06-01","Discounts":119756,"GrossSales":652050,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":152026,"SalePrice":350,"Sales":532294,"UnitsSold":"1863","Year":"2019"},{"COGS":189960,"Country":"Japan","Date":"2019-06-01","Discounts":25723.75,"GrossSales":357250,"ManufacturingPrice":10,"MonthName":"June","Product":"Vermont","Profit":141566.25,"SalePrice":125,"Sales":331526.25,"UnitsSold":"2858","Year":"2019"},{"COGS":1713,"Country":"Brazil","Date":"2019-07-01","Discounts":890.76,"GrossSales":34416,"ManufacturingPrice":10,"MonthName":"July","Product":"Vermont","Profit":31812.24,"SalePrice":12,"Sales":33525.24,"UnitsSold":"2868","Year":"2019"},{"COGS":13480,"Country":"UK","Date":"2019-08-01","Discounts":2453.36,"GrossSales":26635,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":10701.64,"SalePrice":7,"Sales":24181.64,"UnitsSold":"3805","Year":"2019"},{"COGS":15650,"Country":"Japan","Date":"2019-10-01","Discounts":3051.75,"GrossSales":58710,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":40008.25,"SalePrice":15,"Sales":55658.25,"UnitsSold":"3914","Year":"2019"},{"COGS":12490,"Country":"Japan","Date":"2019-10-01","Discounts":3247.4,"GrossSales":10480,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":5257.4,"SalePrice":20,"Sales":7232.6,"UnitsSold":"524","Year":"2019"},{"COGS":92820,"Country":"India","Date":"2019-11-01","Discounts":16243.5,"GrossSales":1083250,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":974186.5,"SalePrice":350,"Sales":1067006.5,"UnitsSold":"3095","Year":"2019"},{"COGS":3039,"Country":"India","Date":"2019-12-01","Discounts":1580.28,"GrossSales":28920,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":24300.72,"SalePrice":12,"Sales":27339.72,"UnitsSold":"2410","Year":"2019"},{"COGS":39975,"Country":"UK","Date":"2019-01-01","Discounts":7795.13,"GrossSales":63945,"ManufacturingPrice":120,"MonthName":"January","Product":"Burlington","Profit":16174.88,"SalePrice":15,"Sales":56149.88,"UnitsSold":"4263","Year":"2019"},{"COGS":684320,"Country":"Japan","Date":"2019-06-01","Discounts":119756,"GrossSales":783650,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":20426,"SalePrice":350,"Sales":663894,"UnitsSold":"2239","Year":"2019"},{"COGS":5950,"Country":"UK","Date":"2019-06-01","Discounts":1082.9,"GrossSales":3983,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":3049.9,"SalePrice":7,"Sales":2900.1,"UnitsSold":"569","Year":"2019"},{"COGS":1812,"Country":"Brazil","Date":"2019-06-01","Discounts":942.24,"GrossSales":46668,"ManufacturingPrice":120,"MonthName":"June","Product":"Burlington","Profit":43913.76,"SalePrice":12,"Sales":45725.76,"UnitsSold":"3889","Year":"2019"},{"COGS":6600,"Country":"India","Date":"2018-09-01","Discounts":1287,"GrossSales":20670,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":12783,"SalePrice":15,"Sales":19383,"UnitsSold":"1378","Year":"2018"},{"COGS":1230,"Country":"Brazil","Date":"2019-10-01","Discounts":639.6,"GrossSales":27036,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":25166.4,"SalePrice":12,"Sales":26396.4,"UnitsSold":"2253","Year":"2019"},{"COGS":651250,"Country":"Brazil","Date":"2018-11-01","Discounts":101595,"GrossSales":960600,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":207755,"SalePrice":300,"Sales":859005,"UnitsSold":"3202","Year":"2018"},{"COGS":3039,"Country":"India","Date":"2019-12-01","Discounts":1580.28,"GrossSales":46020,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":41400.72,"SalePrice":12,"Sales":44439.72,"UnitsSold":"3835","Year":"2019"},{"COGS":189960,"Country":"Japan","Date":"2019-06-01","Discounts":25723.75,"GrossSales":310875,"ManufacturingPrice":250,"MonthName":"June","Product":"Mandarin","Profit":95191.25,"SalePrice":125,"Sales":285151.25,"UnitsSold":"2487","Year":"2019"},{"COGS":15650,"Country":"Japan","Date":"2019-10-01","Discounts":3051.75,"GrossSales":66420,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":47718.25,"SalePrice":15,"Sales":63368.25,"UnitsSold":"4428","Year":"2019"},{"COGS":199080,"Country":"Japan","Date":"2019-01-01","Discounts":26958.75,"GrossSales":150000,"ManufacturingPrice":260,"MonthName":"January","Product":"Luxe","Profit":76038.75,"SalePrice":125,"Sales":123041.25,"UnitsSold":"1200","Year":"2019"},{"COGS":5950,"Country":"UK","Date":"2019-06-01","Discounts":1082.9,"GrossSales":20671,"ManufacturingPrice":260,"MonthName":"June","Product":"Luxe","Profit":13638.1,"SalePrice":7,"Sales":19588.1,"UnitsSold":"2953","Year":"2019"},{"COGS":1230,"Country":"Brazil","Date":"2019-10-01","Discounts":639.6,"GrossSales":17436,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":15566.4,"SalePrice":12,"Sales":16796.4,"UnitsSold":"1453","Year":"2019"},{"COGS":5310,"Country":"India","Date":"2018-12-01","Discounts":2761.2,"GrossSales":10380,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":2308.8,"SalePrice":12,"Sales":7618.8,"UnitsSold":"865","Year":"2018"},{"COGS":25790,"Country":"Brazil","Date":"2019-04-01","Discounts":7221.2,"GrossSales":21440,"ManufacturingPrice":3,"MonthName":"April","Product":"Kensington","Profit":11571.2,"SalePrice":20,"Sales":14218.8,"UnitsSold":"1072","Year":"2019"},{"COGS":17430,"Country":"USA","Date":"2019-05-01","Discounts":4880.4,"GrossSales":34740,"ManufacturingPrice":3,"MonthName":"May","Product":"Kensington","Profit":12429.6,"SalePrice":20,"Sales":29859.6,"UnitsSold":"1737","Year":"2019"},{"COGS":14980,"Country":"USA","Date":"2018-10-01","Discounts":2936.08,"GrossSales":10745,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":7171.08,"SalePrice":7,"Sales":7808.92,"UnitsSold":"1535","Year":"2018"},{"COGS":1400,"Country":"India","Date":"2019-12-01","Discounts":274.4,"GrossSales":17724,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":16049.6,"SalePrice":7,"Sales":17449.6,"UnitsSold":"2532","Year":"2019"},{"COGS":1465,"Country":"UK","Date":"2019-02-01","Discounts":287.14,"GrossSales":12355,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":10602.86,"SalePrice":7,"Sales":12067.86,"UnitsSold":"1765","Year":"2019"},{"COGS":14980,"Country":"USA","Date":"2018-10-01","Discounts":2936.08,"GrossSales":10969,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":6947.08,"SalePrice":7,"Sales":8032.92,"UnitsSold":"1567","Year":"2018"},{"COGS":2780,"Country":"India","Date":"2019-02-01","Discounts":583.8,"GrossSales":39600,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":36236.2,"SalePrice":15,"Sales":39016.2,"UnitsSold":"2640","Year":"2019"},{"COGS":24280,"Country":"Japan","Date":"2019-03-01","Discounts":6798.4,"GrossSales":61580,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":30501.6,"SalePrice":20,"Sales":54781.6,"UnitsSold":"3079","Year":"2019"},{"COGS":17670,"Country":"USA","Date":"2019-09-01","Discounts":3710.7,"GrossSales":61950,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":40569.3,"SalePrice":15,"Sales":58239.3,"UnitsSold":"4130","Year":"2019"},{"COGS":4179,"Country":"UK","Date":"2019-10-01","Discounts":2340.24,"GrossSales":35256,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":28736.76,"SalePrice":12,"Sales":32915.76,"UnitsSold":"2938","Year":"2019"},{"COGS":1400,"Country":"India","Date":"2019-12-01","Discounts":274.4,"GrossSales":21560,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":19885.6,"SalePrice":7,"Sales":21285.6,"UnitsSold":"3080","Year":"2019"},{"COGS":4179,"Country":"UK","Date":"2019-10-01","Discounts":2340.24,"GrossSales":18360,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":11840.76,"SalePrice":12,"Sales":16019.76,"UnitsSold":"1530","Year":"2019"},{"COGS":6045,"Country":"USA","Date":"2018-12-01","Discounts":3385.2,"GrossSales":42444,"ManufacturingPrice":260,"MonthName":"December","Product":"Luxe","Profit":33013.8,"SalePrice":12,"Sales":39058.8,"UnitsSold":"3537","Year":"2018"},{"COGS":200250,"Country":"Brazil","Date":"2019-07-01","Discounts":33642,"GrossSales":606300,"ManufacturingPrice":3,"MonthName":"July","Product":"Kensington","Profit":372408,"SalePrice":300,"Sales":572658,"UnitsSold":"2021","Year":"2019"},{"COGS":122760,"Country":"UK","Date":"2018-09-01","Discounts":17902.5,"GrossSales":225500,"ManufacturingPrice":3,"MonthName":"September","Product":"Kensington","Profit":84837.5,"SalePrice":125,"Sales":207597.5,"UnitsSold":"1804","Year":"2018"},{"COGS":374000,"Country":"Japan","Date":"2019-10-01","Discounts":62832,"GrossSales":304200,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":132632,"SalePrice":300,"Sales":241368,"UnitsSold":"1014","Year":"2019"},{"COGS":252500,"Country":"USA","Date":"2019-10-01","Discounts":42420,"GrossSales":873900,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":578980,"SalePrice":300,"Sales":831480,"UnitsSold":"2913","Year":"2019"},{"COGS":15130,"Country":"India","Date":"2019-11-01","Discounts":3177.3,"GrossSales":11445,"ManufacturingPrice":3,"MonthName":"November","Product":"Kensington","Profit":6862.3,"SalePrice":15,"Sales":8267.7,"UnitsSold":"763","Year":"2019"},{"COGS":23000,"Country":"Japan","Date":"2019-12-01","Discounts":4830,"GrossSales":21375,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":6455,"SalePrice":15,"Sales":16545,"UnitsSold":"1425","Year":"2019"},{"COGS":338520,"Country":"Brazil","Date":"2018-12-01","Discounts":49367.5,"GrossSales":544625,"ManufacturingPrice":3,"MonthName":"December","Product":"Kensington","Profit":156737.5,"SalePrice":125,"Sales":495257.5,"UnitsSold":"4357","Year":"2018"},{"COGS":579150,"Country":"Japan","Date":"2019-01-01","Discounts":109147.5,"GrossSales":748300,"ManufacturingPrice":5,"MonthName":"January","Product":"Royal Oak","Profit":60002.5,"SalePrice":350,"Sales":639152.5,"UnitsSold":"2138","Year":"2019"},{"COGS":311740,"Country":"India","Date":"2019-04-01","Discounts":58751,"GrossSales":1338750,"ManufacturingPrice":5,"MonthName":"April","Product":"Royal Oak","Profit":968259,"SalePrice":350,"Sales":1279999,"UnitsSold":"3825","Year":"2019"},{"COGS":52000,"Country":"Japan","Date":"2019-05-01","Discounts":9800,"GrossSales":1187550,"ManufacturingPrice":5,"MonthName":"May","Product":"Royal Oak","Profit":1125750,"SalePrice":350,"Sales":1177750,"UnitsSold":"3393","Year":"2019"},{"COGS":1940,"Country":"Japan","Date":"2019-09-01","Discounts":380.24,"GrossSales":15505,"ManufacturingPrice":5,"MonthName":"September","Product":"Royal Oak","Profit":13184.76,"SalePrice":7,"Sales":15124.76,"UnitsSold":"2215","Year":"2019"},{"COGS":8635,"Country":"Brazil","Date":"2018-10-01","Discounts":1692.46,"GrossSales":15946,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":5618.54,"SalePrice":7,"Sales":14253.54,"UnitsSold":"2278","Year":"2018"},{"COGS":23000,"Country":"Japan","Date":"2019-12-01","Discounts":4830,"GrossSales":6045,"ManufacturingPrice":5,"MonthName":"December","Product":"Royal Oak","Profit":21785,"SalePrice":15,"Sales":1215,"UnitsSold":"403","Year":"2019"},{"COGS":2600,"Country":"Brazil","Date":"2019-02-01","Discounts":728,"GrossSales":5780,"ManufacturingPrice":10,"MonthName":"February","Product":"Vermont","Profit":2452,"SalePrice":20,"Sales":5052,"UnitsSold":"289","Year":"2019"},{"COGS":24700,"Country":"Japan","Date":"2018-09-01","Discounts":5187,"GrossSales":11235,"ManufacturingPrice":10,"MonthName":"September","Product":"Vermont","Profit":18652,"SalePrice":15,"Sales":6048,"UnitsSold":"749","Year":"2018"},{"COGS":17430,"Country":"Japan","Date":"2018-10-01","Discounts":3660.3,"GrossSales":5580,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":15510.3,"SalePrice":15,"Sales":1919.7,"UnitsSold":"372","Year":"2018"},{"COGS":8742,"Country":"USA","Date":"2019-10-01","Discounts":4895.52,"GrossSales":45372,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":31734.48,"SalePrice":12,"Sales":40476.48,"UnitsSold":"3781","Year":"2019"},{"COGS":8655,"Country":"UK","Date":"2019-10-01","Discounts":1696.38,"GrossSales":12495,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":2143.62,"SalePrice":7,"Sales":10798.62,"UnitsSold":"1785","Year":"2019"},{"COGS":182000,"Country":"Japan","Date":"2019-11-01","Discounts":34300,"GrossSales":1410150,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":1193850,"SalePrice":350,"Sales":1375850,"UnitsSold":"4029","Year":"2019"},{"COGS":6666,"Country":"Japan","Date":"2018-11-01","Discounts":3732.96,"GrossSales":33756,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":23357.04,"SalePrice":12,"Sales":30023.04,"UnitsSold":"2813","Year":"2018"},{"COGS":306020,"Country":"USA","Date":"2019-11-01","Discounts":57673,"GrossSales":752500,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":388807,"SalePrice":350,"Sales":694827,"UnitsSold":"2150","Year":"2019"},{"COGS":499720,"Country":"UK","Date":"2018-11-01","Discounts":94178,"GrossSales":732550,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":138652,"SalePrice":350,"Sales":638372,"UnitsSold":"2093","Year":"2018"},{"COGS":189000,"Country":"Brazil","Date":"2019-02-01","Discounts":27562.5,"GrossSales":548875,"ManufacturingPrice":120,"MonthName":"February","Product":"Burlington","Profit":332312.5,"SalePrice":125,"Sales":521312.5,"UnitsSold":"4391","Year":"2019"},{"COGS":6060,"Country":"USA","Date":"2019-04-01","Discounts":1696.8,"GrossSales":53900,"ManufacturingPrice":120,"MonthName":"April","Product":"Burlington","Profit":46143.2,"SalePrice":20,"Sales":52203.2,"UnitsSold":"2695","Year":"2019"},{"COGS":615000,"Country":"USA","Date":"2019-07-01","Discounts":103320,"GrossSales":401100,"ManufacturingPrice":120,"MonthName":"July","Product":"Burlington","Profit":317220,"SalePrice":300,"Sales":297780,"UnitsSold":"1337","Year":"2019"},{"COGS":67250,"Country":"Japan","Date":"2018-10-01","Discounts":11298,"GrossSales":786300,"ManufacturingPrice":120,"MonthName":"October","Product":"Burlington","Profit":707752,"SalePrice":300,"Sales":775002,"UnitsSold":"2621","Year":"2018"},{"COGS":634000,"Country":"India","Date":"2018-11-01","Discounts":106512,"GrossSales":1120500,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":379988,"SalePrice":300,"Sales":1013988,"UnitsSold":"3735","Year":"2018"},{"COGS":14515,"Country":"Brazil","Date":"2019-03-01","Discounts":2844.94,"GrossSales":30240,"ManufacturingPrice":250,"MonthName":"March","Product":"Mandarin","Profit":12880.06,"SalePrice":7,"Sales":27395.06,"UnitsSold":"4320","Year":"2019"},{"COGS":635250,"Country":"USA","Date":"2019-08-01","Discounts":106722,"GrossSales":848400,"ManufacturingPrice":250,"MonthName":"August","Product":"Mandarin","Profit":106428,"SalePrice":300,"Sales":741678,"UnitsSold":"2828","Year":"2019"},{"COGS":67250,"Country":"Japan","Date":"2018-10-01","Discounts":11298,"GrossSales":775800,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":697252,"SalePrice":300,"Sales":764502,"UnitsSold":"2586","Year":"2018"},{"COGS":374000,"Country":"Japan","Date":"2019-10-01","Discounts":62832,"GrossSales":374400,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":62432,"SalePrice":300,"Sales":311568,"UnitsSold":"1248","Year":"2019"},{"COGS":252500,"Country":"USA","Date":"2019-10-01","Discounts":42420,"GrossSales":1210500,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":915580,"SalePrice":300,"Sales":1168080,"UnitsSold":"4035","Year":"2019"},{"COGS":333060,"Country":"UK","Date":"2018-12-01","Discounts":62769,"GrossSales":125650,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":270179,"SalePrice":350,"Sales":62881,"UnitsSold":"359","Year":"2018"},{"COGS":222000,"Country":"Japan","Date":"2019-03-01","Discounts":37296,"GrossSales":1177800,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":918504,"SalePrice":300,"Sales":1140504,"UnitsSold":"3926","Year":"2019"},{"COGS":341280,"Country":"USA","Date":"2019-05-01","Discounts":49770,"GrossSales":530875,"ManufacturingPrice":260,"MonthName":"May","Product":"Luxe","Profit":139825,"SalePrice":125,"Sales":481105,"UnitsSold":"4247","Year":"2019"},{"COGS":7425,"Country":"UK","Date":"2019-08-01","Discounts":4158,"GrossSales":32340,"ManufacturingPrice":260,"MonthName":"August","Product":"Luxe","Profit":20757,"SalePrice":12,"Sales":28182,"UnitsSold":"2695","Year":"2019"},{"COGS":17430,"Country":"Japan","Date":"2018-10-01","Discounts":3660.3,"GrossSales":16560,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":4530.3,"SalePrice":15,"Sales":12899.7,"UnitsSold":"1104","Year":"2018"},{"COGS":8742,"Country":"USA","Date":"2019-10-01","Discounts":4895.52,"GrossSales":17388,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":3750.48,"SalePrice":12,"Sales":12492.48,"UnitsSold":"1449","Year":"2019"},{"COGS":8655,"Country":"UK","Date":"2019-10-01","Discounts":1696.38,"GrossSales":7917,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":2434.38,"SalePrice":7,"Sales":6220.62,"UnitsSold":"1131","Year":"2019"},{"COGS":8635,"Country":"Brazil","Date":"2018-10-01","Discounts":1692.46,"GrossSales":10276,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":51.46,"SalePrice":7,"Sales":8583.54,"UnitsSold":"1468","Year":"2018"},{"COGS":18700,"Country":"Brazil","Date":"2018-11-01","Discounts":3927,"GrossSales":19080,"ManufacturingPrice":260,"MonthName":"November","Product":"Luxe","Profit":3547,"SalePrice":15,"Sales":15153,"UnitsSold":"1272","Year":"2018"},{"COGS":140880,"Country":"UK","Date":"2019-08-01","Discounts":22012.5,"GrossSales":175375,"ManufacturingPrice":3,"MonthName":"August","Product":"Kensington","Profit":12482.5,"SalePrice":125,"Sales":153362.5,"UnitsSold":"1403","Year":"2019"},{"COGS":332040,"Country":"India","Date":"2019-08-01","Discounts":51881.25,"GrossSales":270125,"ManufacturingPrice":3,"MonthName":"August","Product":"Kensington","Profit":113796.25,"SalePrice":125,"Sales":218243.75,"UnitsSold":"2161","Year":"2019"},{"COGS":130200,"Country":"India","Date":"2019-10-01","Discounts":20343.75,"GrossSales":242125,"ManufacturingPrice":3,"MonthName":"October","Product":"Kensington","Profit":91581.25,"SalePrice":125,"Sales":221781.25,"UnitsSold":"1937","Year":"2019"},{"COGS":136500,"Country":"Brazil","Date":"2019-10-01","Discounts":24570,"GrossSales":863700,"ManufacturingPrice":5,"MonthName":"October","Product":"Royal Oak","Profit":702630,"SalePrice":300,"Sales":839130,"UnitsSold":"2879","Year":"2019"},{"COGS":11580,"Country":"India","Date":"2019-03-01","Discounts":3474,"GrossSales":26600,"ManufacturingPrice":10,"MonthName":"March","Product":"Vermont","Profit":11546,"SalePrice":20,"Sales":23126,"UnitsSold":"1330","Year":"2019"},{"COGS":16140,"Country":"Japan","Date":"2019-04-01","Discounts":3631.5,"GrossSales":36390,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":16618.5,"SalePrice":15,"Sales":32758.5,"UnitsSold":"2426","Year":"2019"},{"COGS":12675,"Country":"Brazil","Date":"2019-04-01","Discounts":2661.75,"GrossSales":14231,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":1105.75,"SalePrice":7,"Sales":11569.25,"UnitsSold":"2033","Year":"2019"},{"COGS":741260,"Country":"Brazil","Date":"2019-05-01","Discounts":149677.5,"GrossSales":710150,"ManufacturingPrice":10,"MonthName":"May","Product":"Vermont","Profit":180787.5,"SalePrice":350,"Sales":560472.5,"UnitsSold":"2029","Year":"2019"},{"COGS":25590,"Country":"Japan","Date":"2019-08-01","Discounts":5757.75,"GrossSales":15735,"ManufacturingPrice":10,"MonthName":"August","Product":"Vermont","Profit":15612.75,"SalePrice":15,"Sales":9977.25,"UnitsSold":"1049","Year":"2019"},{"COGS":2670,"Country":"USA","Date":"2018-10-01","Discounts":801,"GrossSales":21240,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":17769,"SalePrice":20,"Sales":20439,"UnitsSold":"1062","Year":"2018"},{"COGS":130200,"Country":"India","Date":"2019-10-01","Discounts":20343.75,"GrossSales":313625,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":163081.25,"SalePrice":125,"Sales":293281.25,"UnitsSold":"2509","Year":"2019"},{"COGS":11750,"Country":"India","Date":"2019-10-01","Discounts":2643.75,"GrossSales":26145,"ManufacturingPrice":10,"MonthName":"October","Product":"Vermont","Profit":11751.25,"SalePrice":15,"Sales":23501.25,"UnitsSold":"1743","Year":"2019"},{"COGS":521820,"Country":"USA","Date":"2018-11-01","Discounts":105367.5,"GrossSales":1196300,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":569112.5,"SalePrice":350,"Sales":1090932.5,"UnitsSold":"3418","Year":"2018"},{"COGS":559260,"Country":"Brazil","Date":"2018-11-01","Discounts":112927.5,"GrossSales":612850,"ManufacturingPrice":10,"MonthName":"November","Product":"Vermont","Profit":59337.5,"SalePrice":350,"Sales":499922.5,"UnitsSold":"1751","Year":"2018"},{"COGS":2742,"Country":"USA","Date":"2019-12-01","Discounts":1645.2,"GrossSales":38736,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":34348.8,"SalePrice":12,"Sales":37090.8,"UnitsSold":"3228","Year":"2019"},{"COGS":2930,"Country":"UK","Date":"2019-12-01","Discounts":879,"GrossSales":22100,"ManufacturingPrice":10,"MonthName":"December","Product":"Vermont","Profit":18291,"SalePrice":20,"Sales":21221,"UnitsSold":"1105","Year":"2019"},{"COGS":1500,"Country":"Brazil","Date":"2019-03-01","Discounts":900,"GrossSales":33336,"ManufacturingPrice":120,"MonthName":"March","Product":"Burlington","Profit":30936,"SalePrice":12,"Sales":32436,"UnitsSold":"2778","Year":"2019"},{"COGS":28260,"Country":"UK","Date":"2019-05-01","Discounts":6358.5,"GrossSales":17595,"ManufacturingPrice":120,"MonthName":"May","Product":"Burlington","Profit":17023.5,"SalePrice":15,"Sales":11236.5,"UnitsSold":"1173","Year":"2019"},{"COGS":79560,"Country":"UK","Date":"2019-09-01","Discounts":12431.25,"GrossSales":395000,"ManufacturingPrice":120,"MonthName":"September","Product":"Burlington","Profit":303008.75,"SalePrice":125,"Sales":382568.75,"UnitsSold":"3160","Year":"2019"},{"COGS":643500,"Country":"USA","Date":"2018-11-01","Discounts":115830,"GrossSales":1296600,"ManufacturingPrice":120,"MonthName":"November","Product":"Burlington","Profit":537270,"SalePrice":300,"Sales":1180770,"UnitsSold":"4322","Year":"2018"},{"COGS":292560,"Country":"USA","Date":"2018-12-01","Discounts":45712.5,"GrossSales":237625,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":100647.5,"SalePrice":125,"Sales":191912.5,"UnitsSold":"1901","Year":"2018"},{"COGS":2742,"Country":"USA","Date":"2019-12-01","Discounts":1645.2,"GrossSales":35760,"ManufacturingPrice":120,"MonthName":"December","Product":"Burlington","Profit":31372.8,"SalePrice":12,"Sales":34114.8,"UnitsSold":"2980","Year":"2019"},{"COGS":8655,"Country":"Japan","Date":"2019-07-01","Discounts":2596.5,"GrossSales":81360,"ManufacturingPrice":250,"MonthName":"July","Product":"Mandarin","Profit":70108.5,"SalePrice":20,"Sales":78763.5,"UnitsSold":"4068","Year":"2019"},{"COGS":4920,"Country":"India","Date":"2019-07-01","Discounts":1107,"GrossSales":31575,"ManufacturingPrice":250,"MonthName":"July","Product":"Mandarin","Profit":25548,"SalePrice":15,"Sales":30468,"UnitsSold":"2105","Year":"2019"},{"COGS":2670,"Country":"USA","Date":"2018-10-01","Discounts":801,"GrossSales":32940,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":29469,"SalePrice":20,"Sales":32139,"UnitsSold":"1647","Year":"2018"},{"COGS":11750,"Country":"India","Date":"2019-10-01","Discounts":2643.75,"GrossSales":3525,"ManufacturingPrice":250,"MonthName":"October","Product":"Mandarin","Profit":10868.75,"SalePrice":15,"Sales":881.25,"UnitsSold":"235","Year":"2019"},{"COGS":354480,"Country":"Japan","Date":"2018-11-01","Discounts":55387.5,"GrossSales":452125,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":42257.5,"SalePrice":125,"Sales":396737.5,"UnitsSold":"3617","Year":"2018"},{"COGS":66240,"Country":"India","Date":"2019-11-01","Discounts":10350,"GrossSales":263250,"ManufacturingPrice":250,"MonthName":"November","Product":"Mandarin","Profit":186660,"SalePrice":125,"Sales":252900,"UnitsSold":"2106","Year":"2019"},{"COGS":2930,"Country":"UK","Date":"2019-12-01","Discounts":879,"GrossSales":47020,"ManufacturingPrice":250,"MonthName":"December","Product":"Mandarin","Profit":43211,"SalePrice":20,"Sales":46141,"UnitsSold":"2351","Year":"2019"},{"COGS":618750,"Country":"UK","Date":"2019-03-01","Discounts":111375,"GrossSales":569100,"ManufacturingPrice":260,"MonthName":"March","Product":"Luxe","Profit":161025,"SalePrice":300,"Sales":457725,"UnitsSold":"1897","Year":"2019"},{"COGS":136500,"Country":"Brazil","Date":"2019-10-01","Discounts":24570,"GrossSales":194100,"ManufacturingPrice":260,"MonthName":"October","Product":"Luxe","Profit":33030,"SalePrice":300,"Sales":169530,"UnitsSold":"647","Year":"2019"},{"COGS":6840,"Country":"Brazil","Date":"2019-02-01","Discounts":1436.4,"GrossSales":25347,"ManufacturingPrice":5,"MonthName":"February","Product":"Royal Oak","Profit":17070.6,"SalePrice":7,"Sales":23910.6,"UnitsSold":"3621","Year":"2019"},{"COGS":3615,"Country":"Japan","Date":"2019-04-01","Discounts":759.15,"GrossSales":22547,"ManufacturingPrice":10,"MonthName":"April","Product":"Vermont","Profit":18172.85,"SalePrice":7,"Sales":21787.85,"UnitsSold":"3221","Year":"2019"},{"COGS":5418,"Country":"USA","Date":"2019-05-01","Discounts":3250.8,"GrossSales":5916,"ManufacturingPrice":250,"MonthName":"May","Product":"Mandarin","Profit":2752.8,"SalePrice":12,"Sales":2665.2,"UnitsSold":"493","Year":"2019"}] \ No newline at end of file diff --git a/public/web.config b/public/web.config new file mode 100644 index 0000000..74a113b --- /dev/null +++ b/public/web.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/app/app-routes.tsx b/src/app/app-routes.tsx index 9dc2b74..cb47a96 100644 --- a/src/app/app-routes.tsx +++ b/src/app/app-routes.tsx @@ -1,15 +1,26 @@ -import { redirect } from 'react-router-dom'; -import ERPInventory from './erpinventory/erpinventory'; -import OrgChartHRPortal from './org-chart-hr-portal/org-chart-hr-portal'; -import FinancialPortfolio from './financial-portfolio/financial-portfolio'; -import SalesDashboard from './sales-dashboard/sales-dashboard'; -import FleetManagement from './fleet-management/fleet-management'; +import { redirect, RouteObject } from 'react-router-dom'; +import ERPHGridView from './views/erp-hgrid/erp-hgrid-view'; +import HRPortalView from './views/hr-portal/hr-portal-view'; +import FinanceView from './views/finance/finance-view'; +import SalesView from './views/sales/sales-view'; +import FleetManagementView from './views/fleet-management/fleet-management-view'; +import HomeView from './views/home/home-view'; -export const routes = [ - { index: true, loader: () => redirect('erpinventory') }, - { path: 'erpinventory', element: , text: 'ERPInventory' }, - { path: 'org-chart-hr-portal', element: , text: 'Org ChartHR Portal' }, - { path: 'financial-portfolio', element: , text: 'Financial Portfolio' }, - { path: 'sales-dashboard', element: , text: 'Sales Dashboard' }, - { path: 'fleet-management', element: , text: 'Fleet Management' } +export const routes: RouteObject[] = [ + { index: true, loader: () => redirect('home') }, + { path: 'home', element: , + children: [ + { index: true, loader: () => redirect('inventory') }, + { path: 'inventory', element: }, + { path: 'hr-portal', element: }, + { path: 'finance', element: }, + { path: 'sales', element: }, + { path: 'fleet', element: }, + ] + }, + { path: 'inventory', element: }, + { path: 'hr-portal', element: }, + { path: 'finance', element: }, + { path: 'sales', element: }, + { path: 'fleet', element: }, ]; diff --git a/src/app/app.module.css b/src/app/app.module.css index d3a59cb..e69de29 100644 --- a/src/app/app.module.css +++ b/src/app/app.module.css @@ -1,78 +0,0 @@ -.column-layout { - display: flex; - flex-direction: column; -} -.master-view-container { - justify-content: flex-start; - align-items: stretch; - align-content: flex-start; - height: 100%; -} -.row-layout { - display: flex; -} -.group { - justify-content: flex-start; - align-items: stretch; - align-content: flex-start; - position: relative; - flex-shrink: 0; -} -.group_1 { - justify-content: flex-start; - align-items: stretch; - align-content: flex-start; - position: relative; - padding: 16px; - min-width: 50px; - min-height: 50px; - flex-grow: 1; - flex-basis: 0; -} -.group_2 { - justify-content: flex-start; - align-items: stretch; - align-content: flex-start; - position: relative; -} -.group_3 { - justify-content: space-between; - align-items: stretch; - align-content: flex-start; - gap: 0; - position: relative; - align-self: stretch; -} -.group_4 { - justify-content: flex-start; - align-items: stretch; - align-content: flex-start; - position: relative; - padding: 16px; - min-width: 50px; - min-height: 50px; - flex-grow: 1; - flex-shrink: 0; -} -.content { - height: max-content; - min-width: min-content; -} -.chip { - width: max-content; - height: max-content; -} -.hyperlink { - color: var(--ig-info-500); - cursor: pointer; - height: max-content; - min-width: min-content; - flex-shrink: 0; -} -.view-container { - overflow: auto; - position: relative; - min-width: 0; - min-height: 0; - flex-grow: 1; -} diff --git a/src/app/app.test.tsx b/src/app/app.test.tsx deleted file mode 100644 index dcc85c9..0000000 --- a/src/app/app.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { expect, test } from 'vitest'; -import { MemoryRouter } from 'react-router-dom'; -import { render } from '@testing-library/react'; -import App from './app'; -import 'element-internals-polyfill'; - -test('renders App component', () => { - const wrapper = render(, { wrapper: MemoryRouter }); - expect(wrapper).toBeTruthy(); -}); \ No newline at end of file diff --git a/src/app/app.tsx b/src/app/app.tsx index 1be0cbe..094ddf5 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -1,158 +1,11 @@ -import { IgrChip, IgrChipModule, IgrIconButton, IgrIconButtonModule, IgrRipple, IgrRippleModule } from 'igniteui-react'; -import { Outlet, useNavigate } from 'react-router-dom'; -import styles from './app.module.css'; -import createClassTransformer from './style-utils'; - -IgrChipModule.register(); -IgrIconButtonModule.register(); -IgrRippleModule.register(); +import { Outlet } from 'react-router-dom'; +import './app.module.css'; export default function App() { - const classes = createClassTransformer(styles); - const uuid = () => crypto.randomUUID(); - const navigate = useNavigate(); return ( <> -
-
-
navigate(`/erpinventory`)} className={classes("column-layout group_1")}> -
-
- ERP/Inventory -
- - Material Light - -
-
-

- Tracking and managing quantity, location and details of products in stock. -

-
-
- - Learn more - - - - file_download - - - -
-
-
navigate(`/org-chart-hr-portal`)} className={classes("column-layout group_1")}> -
-
- Org Chart/HR Portal -
- - Fluent Light - -
-
-

- Displaying company's hierarchical structure and showing employees data. -

-
-
- - Learn more - - - - file_download - - - -
-
-
navigate(`/financial-portfolio`)} className={classes("column-layout group_1")}> -
-
- Financial Portfolio -
- - Bootstrap Light - -
-
-

- Asset tracking, profit and loss analysis, featuring interactive dynamic charts. -

-
-
- - Learn more - - - - file_download - - - -
-
-
navigate(`/sales-dashboard`)} className={classes("column-layout group_1")}> -
-
- Sales Dashboard -
- - Indigo Light - -
-
-

- For trend analysis, KPIs and viewing sales summaries by region, product, etc. -

-
-
- - Learn more - - - - file_download - - - -
-
-
navigate(`/fleet-management`)} className={classes("column-layout group_1")}> -
-
- Fleet Management -
- - Material Dark - -
-
-

- A master-detail grid for managing vehicle acquisition, operations, and maintenance. -

-
-
- - Learn more - - - - file_download - - - -
-
-
-
-
- -
-
-
+ ); } diff --git a/src/app/data/icons/file_download.svg b/src/app/data/icons/file_download.svg new file mode 100644 index 0000000..2bb823e --- /dev/null +++ b/src/app/data/icons/file_download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/erpinventory/erpinventory.test.tsx b/src/app/erpinventory/erpinventory.test.tsx deleted file mode 100644 index 5974be0..0000000 --- a/src/app/erpinventory/erpinventory.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { expect, test, vi } from 'vitest'; -import { render } from '@testing-library/react'; -import ERPInventory from './erpinventory'; -import 'element-internals-polyfill'; - -// Mock API response -const mockResponse = { - json: () => new Promise((resolve) => resolve({})) -}; -global.fetch = vi.fn().mockResolvedValue(mockResponse); - -test('renders ERPInventory component', () => { - const wrapper = render(); - expect(wrapper).toBeTruthy(); -}); \ No newline at end of file diff --git a/src/app/erpinventory/erpinventory.tsx b/src/app/erpinventory/erpinventory.tsx deleted file mode 100644 index d47db96..0000000 --- a/src/app/erpinventory/erpinventory.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { IgrCellTemplateContext, IgrColumn, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle, IgrHierarchicalGrid, IgrHierarchicalGridModule, IgrRowIsland } from 'igniteui-react-grids'; -import { IgrRating, IgrRatingModule } from 'igniteui-react'; -import { useGetTable1List as eRPProductsUseGetTable1List } from '../hooks/erpproducts-hooks'; -import 'igniteui-react-grids/grids/combined.js'; -import styles from './erpinventory.module.css'; -import createClassTransformer from '../style-utils'; - -IgrHierarchicalGridModule.register(); -IgrRatingModule.register(); - -export default function ERPInventory() { - const classes = createClassTransformer(styles); - const uuid = () => crypto.randomUUID(); - const { eRPProductsTable1 } = eRPProductsUseGetTable1List(); - - const columnBodyTemplate = (ctx: { dataContext: IgrCellTemplateContext }) => { - return ( - <> - - - ) - } - - return ( - <> -
- - - - - - - - - Inventory - - - - - - - - - - - - - - - - - -
- - ); -} diff --git a/src/app/financial-portfolio/financial-portfolio.test.tsx b/src/app/financial-portfolio/financial-portfolio.test.tsx deleted file mode 100644 index 2ee9d7a..0000000 --- a/src/app/financial-portfolio/financial-portfolio.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { expect, test, vi } from 'vitest'; -import { render } from '@testing-library/react'; -import FinancialPortfolio from './financial-portfolio'; -import 'element-internals-polyfill'; - -// Mock API response -const mockResponse = { - json: () => new Promise((resolve) => resolve({})) -}; -global.fetch = vi.fn().mockResolvedValue(mockResponse); - -test('renders FinancialPortfolio component', () => { - const wrapper = render(); - expect(wrapper).toBeTruthy(); -}); \ No newline at end of file diff --git a/src/app/financial-portfolio/financial-portfolio.tsx b/src/app/financial-portfolio/financial-portfolio.tsx deleted file mode 100644 index e37ff15..0000000 --- a/src/app/financial-portfolio/financial-portfolio.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { IgrAvatar, IgrAvatarModule } from 'igniteui-react'; -import { IgrCellTemplateContext, IgrColumn, IgrGrid, IgrGridModule, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle } from 'igniteui-react-grids'; -import { useGetTable1List as financeUseGetTable1List } from '../hooks/finance-hooks'; -import 'igniteui-react-grids/grids/combined.js'; -import styles from './financial-portfolio.module.css'; -import createClassTransformer from '../style-utils'; - -IgrAvatarModule.register(); -IgrGridModule.register(); - -export default function FinancialPortfolio() { - const classes = createClassTransformer(styles); - const uuid = () => crypto.randomUUID(); - const { financeTable1 } = financeUseGetTable1List(); - - const columnBodyTemplate = (ctx: { dataContext: IgrCellTemplateContext }) => { - return ( - <> - -

- {ctx.dataContext.cell.value} -

- - ) - } - - const columnBodyTemplate1 = (ctx: { dataContext: IgrCellTemplateContext }) => { - return ( - <> -

- {ctx.dataContext.cell.value} -

-

- days -

- - ) - } - - return ( - <> -
- - - - - - - - - Financial Portfolio - - - - - - - - - - - - - - -
- - ); -} diff --git a/src/app/fleet-management/fleet-management.test.tsx b/src/app/fleet-management/fleet-management.test.tsx deleted file mode 100644 index 116a266..0000000 --- a/src/app/fleet-management/fleet-management.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { expect, test, vi } from 'vitest'; -import { render } from '@testing-library/react'; -import FleetManagement from './fleet-management'; -import 'element-internals-polyfill'; - -// Mock API response -const mockResponse = { - json: () => new Promise((resolve) => resolve({})) -}; -global.fetch = vi.fn().mockResolvedValue(mockResponse); - -test('renders FleetManagement component', () => { - const wrapper = render(); - expect(wrapper).toBeTruthy(); -}); \ No newline at end of file diff --git a/src/app/fleet-management/fleet-management.tsx b/src/app/fleet-management/fleet-management.tsx deleted file mode 100644 index 392b800..0000000 --- a/src/app/fleet-management/fleet-management.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { IgrColumn, IgrGrid, IgrGridModule, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle } from 'igniteui-react-grids'; -import { useGetTable1List as vehiclesUseGetTable1List } from '../hooks/vehicles-hooks'; -import 'igniteui-react-grids/grids/combined.js'; -import styles from './fleet-management.module.css'; -import createClassTransformer from '../style-utils'; - -IgrGridModule.register(); - -export default function FleetManagement() { - const classes = createClassTransformer(styles); - const uuid = () => crypto.randomUUID(); - const { vehiclesTable1 } = vehiclesUseGetTable1List(); - - return ( - <> -
- - - - - - - - - Fleet Management - - - - - - - - - - - - -
- - ); -} diff --git a/src/app/hooks/financial-hooks.ts b/src/app/hooks/financial-hooks.ts deleted file mode 100644 index 1af5ef2..0000000 --- a/src/app/hooks/financial-hooks.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useCallback, useEffect, useState } from 'react'; -import { getSales } from '../services/financial'; -import { SalesType } from '../models/Financial/sales-type'; - -export const useGetSales = () => { - const [sales, setSales] = useState([]); - - const requestSales = useCallback(() => { - let ignore = false; - getSales() - .then((data) => { - if (!ignore) { - setSales(data); - } - }) - return () => { - ignore = true; - } - }, []); - - useEffect(() => { - requestSales(); - }, [requestSales]); - - return { requestFinancialSales: requestSales, financialSales: sales, setFinancialSales: setSales }; -} diff --git a/src/app/models/Financial/sales-type.ts b/src/app/models/Financial/sales-type.ts deleted file mode 100644 index 4ea24c7..0000000 --- a/src/app/models/Financial/sales-type.ts +++ /dev/null @@ -1,16 +0,0 @@ -export interface SalesType { - COGS: number; - Country: string; - Date: string; - Discounts: number; - GrossSales: number; - ManufacturingPrice: number; - MonthName: string; - Product: string; - Profit: number; - SalePrice: number; - Sales: number; - UnitsSold: string; - Year: string; - undefined: string; -} diff --git a/src/app/org-chart-hr-portal/org-chart-hr-portal.test.tsx b/src/app/org-chart-hr-portal/org-chart-hr-portal.test.tsx deleted file mode 100644 index 1abb4c6..0000000 --- a/src/app/org-chart-hr-portal/org-chart-hr-portal.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { expect, test, vi } from 'vitest'; -import { render } from '@testing-library/react'; -import OrgChartHRPortal from './org-chart-hr-portal'; -import 'element-internals-polyfill'; - -// Mock API response -const mockResponse = { - json: () => new Promise((resolve) => resolve({})) -}; -global.fetch = vi.fn().mockResolvedValue(mockResponse); - -test('renders OrgChartHRPortal component', () => { - const wrapper = render(); - expect(wrapper).toBeTruthy(); -}); \ No newline at end of file diff --git a/src/app/org-chart-hr-portal/org-chart-hr-portal.tsx b/src/app/org-chart-hr-portal/org-chart-hr-portal.tsx deleted file mode 100644 index 942b33a..0000000 --- a/src/app/org-chart-hr-portal/org-chart-hr-portal.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { IgrAvatar, IgrAvatarModule, IgrIconButton, IgrIconButtonModule, IgrRipple, IgrRippleModule } from 'igniteui-react'; -import { IgrCellTemplateContext, IgrColumn, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle, IgrTreeGrid, IgrTreeGridModule } from 'igniteui-react-grids'; -import { useGetTable1List as hRDataUseGetTable1List } from '../hooks/hrdata-hooks'; -import 'igniteui-react-grids/grids/combined.js'; -import styles from './org-chart-hr-portal.module.css'; -import createClassTransformer from '../style-utils'; - -IgrAvatarModule.register(); -IgrIconButtonModule.register(); -IgrRippleModule.register(); -IgrTreeGridModule.register(); - -export default function OrgChartHRPortal() { - const classes = createClassTransformer(styles); - const uuid = () => crypto.randomUUID(); - const { hRDataTable1 } = hRDataUseGetTable1List(); - - const columnBodyTemplate = (ctx: { dataContext: IgrCellTemplateContext }) => { - return ( - <> - -

- {ctx.dataContext.cell.value} -

- - ) - } - - const columnBodyTemplate1 = (ctx: { dataContext: IgrCellTemplateContext }) => { - return ( - <> -

- {ctx.dataContext.cell.value} -

-

- , -

-

- {ctx.dataContext.cell.row.data.Country} -

- - ) - } - - const columnBodyTemplate2 = () => { - return ( - <> - - - email - - - - - - phone - - - - - - - - - ) - } - - return ( - <> -
- - - - - - - - - HR Portal - - - - - - - - - - - -
- - ); -} diff --git a/src/app/sales-dashboard/sales-dashboard.module.css b/src/app/sales-dashboard/sales-dashboard.module.css deleted file mode 100644 index 7f3e8d5..0000000 --- a/src/app/sales-dashboard/sales-dashboard.module.css +++ /dev/null @@ -1,18 +0,0 @@ -.row-layout { - display: flex; -} -.sales-dashboard-container { - justify-content: flex-start; - align-items: stretch; - align-content: flex-start; - height: 100%; -} -.group { - width: 100%; - height: 100%; - flex-shrink: 0; -} -.pivot-grid { - min-width: 600px; - min-height: 300px; -} diff --git a/src/app/sales-dashboard/sales-dashboard.test.tsx b/src/app/sales-dashboard/sales-dashboard.test.tsx deleted file mode 100644 index ffe4769..0000000 --- a/src/app/sales-dashboard/sales-dashboard.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { expect, test, vi } from 'vitest'; -import { render } from '@testing-library/react'; -import SalesDashboard from './sales-dashboard'; -import 'element-internals-polyfill'; - -// Mock API response -const mockResponse = { - json: () => new Promise((resolve) => resolve({})) -}; -global.fetch = vi.fn().mockResolvedValue(mockResponse); - -test('renders SalesDashboard component', () => { - const wrapper = render(); - expect(wrapper).toBeTruthy(); -}); \ No newline at end of file diff --git a/src/app/sales-dashboard/sales-dashboard.tsx b/src/app/sales-dashboard/sales-dashboard.tsx deleted file mode 100644 index 52c0484..0000000 --- a/src/app/sales-dashboard/sales-dashboard.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { IgrPivotDataSelector, IgrPivotDataSelectorModule, IgrPivotDateDimension, IgrPivotDateDimensionOptions, IgrPivotGrid, IgrPivotGridModule } from 'igniteui-react-grids'; -import { useRef } from 'react'; -import { useGetSales } from '../hooks/financial-hooks'; -import 'igniteui-react-grids/grids/combined.js'; -import styles from './sales-dashboard.module.css'; -import createClassTransformer from '../style-utils'; - -IgrPivotDataSelectorModule.register(); -IgrPivotGridModule.register(); - -export default function SalesDashboard() { - const classes = createClassTransformer(styles); - const dateDimensionOptions = { years: true, months: false, quarters: true} as IgrPivotDateDimensionOptions; -const dateDimension = { memberName: 'Date', enabled: true, options: dateDimensionOptions } as IgrPivotDateDimension; - const pivotConfigHierarchy: any = { - columns: [ - { - memberName: 'Country', - enabled: true, - }, - { - memberName: 'Product', - enabled: true, - }, - ], - rows: [ - dateDimension, - ], - values: [ - { - member: 'Sales', - aggregate: { - aggregatorName: 'SUM', - key: 'Sum Of Sales', - label: 'Sum', - }, - enabled: false, - dataType: 'currency', - }, - { - member: 'Profit', - aggregate: { - aggregatorName: 'SUM', - key: 'Sum Of Profit', - label: 'Sum', - }, - enabled: true, - dataType: 'currency', - }, - ], - filters: [ - { - memberName: 'MonthName', - enabled: false, - }, - ], -}; - const pivotGrid = useRef(null); - const pivotDataSelector = useRef(null); - const { financialSales } = useGetSales(); - - return ( - <> -
-
- - -
-
- - ); -} diff --git a/src/app/services/financial.ts b/src/app/services/financial.ts deleted file mode 100644 index 4e66350..0000000 --- a/src/app/services/financial.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { SalesType } from '../models/Financial/sales-type'; - -export async function getSales(): Promise { - const response = await fetch('../../static-data/financial-sales-type.json'); - if (!response.ok) { - return Promise.resolve([]); - } - return response.json(); -} diff --git a/src/app/utils/form-utils.ts b/src/app/utils/form-utils.ts deleted file mode 100644 index f8db137..0000000 --- a/src/app/utils/form-utils.ts +++ /dev/null @@ -1,15 +0,0 @@ -interface IObject{ - [key:string] : FormDataEntryValue | IObject; -} -export function formDataToObject(form: HTMLFormElement): IObject { - return Array.from((new FormData(form)).entries()).reduce((obj:IObject , pair) => { - const [key, value] = pair; - const keys = key.split('.'); - const last = keys.pop(); - let target = obj; - // expand structure (if needed) and navigate to target: - keys.forEach((k) => { target[k] ??= {}; target = target[k] as IObject; }); - target[last!] = value; - return obj; - }, {}); -} \ No newline at end of file diff --git a/src/app/erpinventory/erpinventory.module.css b/src/app/views/erp-hgrid/erp-hgrid-view.module.css similarity index 100% rename from src/app/erpinventory/erpinventory.module.css rename to src/app/views/erp-hgrid/erp-hgrid-view.module.css diff --git a/src/app/views/erp-hgrid/erp-hgrid-view.tsx b/src/app/views/erp-hgrid/erp-hgrid-view.tsx new file mode 100644 index 0000000..c260f94 --- /dev/null +++ b/src/app/views/erp-hgrid/erp-hgrid-view.tsx @@ -0,0 +1,59 @@ +import { IgrCellTemplateContext, IgrColumn, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle, IgrHierarchicalGrid, IgrRowIsland } from 'igniteui-react-grids'; +import { IgrRating } from 'igniteui-react'; +import { useGetTable1List as eRPProductsUseGetTable1List } from '../../hooks/erpproducts-hooks'; + +import styles from './erp-hgrid-view.module.css'; +import createClassTransformer from '../../style-utils'; + +function ERPHGrid () { + const classes = createClassTransformer(styles); + const uuid = () => crypto.randomUUID(); + const { eRPProductsTable1 } = eRPProductsUseGetTable1List(); + + const columnBodyTemplate = (ctx: { dataContext: IgrCellTemplateContext }) => { + return ( + <> + + + ) + } + + return ( +
+ + + + + + + + + Inventory + + + + + + + + + + + + + + + + + +
+ ); +} + +export default function ERPHGridView() { + return ( + <> + + + ); +} diff --git a/src/app/financial-portfolio/financial-portfolio.module.css b/src/app/views/finance/finance-view.module.css similarity index 100% rename from src/app/financial-portfolio/financial-portfolio.module.css rename to src/app/views/finance/finance-view.module.css diff --git a/src/app/views/finance/finance-view.tsx b/src/app/views/finance/finance-view.tsx new file mode 100644 index 0000000..c5e55b5 --- /dev/null +++ b/src/app/views/finance/finance-view.tsx @@ -0,0 +1,76 @@ +import { IgrAvatar } from 'igniteui-react'; +import { IgrCellTemplateContext, IgrColumn, IgrGrid, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle } from 'igniteui-react-grids'; +import { useGetTable1List as financeUseGetTable1List } from '../../hooks/finance-hooks'; +import createClassTransformer from '../../style-utils'; + +import styles from './finance-view.module.css'; +import lightBootstrap from 'igniteui-react-grids/grids/themes/light/bootstrap.css?inline'; + +function FinanceGrid() { + const classes = createClassTransformer(styles); + const uuid = () => crypto.randomUUID(); + const { financeTable1 } = financeUseGetTable1List(); + + const columnBodyTemplate = (ctx: { dataContext: IgrCellTemplateContext }) => { + return ( + <> + +

+ {ctx.dataContext.cell.value} +

+ + ) + } + + const columnBodyTemplate1 = (ctx: { dataContext: IgrCellTemplateContext }) => { + return ( + <> +

+ {ctx.dataContext.cell.value} +

+

+ days +

+ + ) + } + + return ( +
+ + + + + + + + + Financial Portfolio + + + + + + + + + + + + + + +
+ ); +} + +export default function FinanceView() { + return ( + <> + + + + ); +} diff --git a/src/app/fleet-management/fleet-management.module.css b/src/app/views/fleet-management/fleet-management-view.module.css similarity index 100% rename from src/app/fleet-management/fleet-management.module.css rename to src/app/views/fleet-management/fleet-management-view.module.css diff --git a/src/app/views/fleet-management/fleet-management-view.tsx b/src/app/views/fleet-management/fleet-management-view.tsx new file mode 100644 index 0000000..34167b2 --- /dev/null +++ b/src/app/views/fleet-management/fleet-management-view.tsx @@ -0,0 +1,49 @@ +import { IgrColumn, IgrGrid, IgrGridToolbar, IgrGridToolbarActions, IgrGridToolbarExporter, IgrGridToolbarHiding, IgrGridToolbarPinning, IgrGridToolbarTitle } from 'igniteui-react-grids'; +import { useGetTable1List as vehiclesUseGetTable1List } from '../../hooks/vehicles-hooks'; +import createClassTransformer from '../../style-utils'; + +import styles from './fleet-management-view.module.css'; +import darkMaterial from 'igniteui-react-grids/grids/themes/dark/material.css?inline'; + +function FleetManagementGrid() { + const classes = createClassTransformer(styles); + const uuid = () => crypto.randomUUID(); + const { vehiclesTable1 } = vehiclesUseGetTable1List(); + + return ( +
+ + + + + + + + + Fleet Management + + + + + + + + + + + + +
+ ); +} + +export default function FleetManagementView() { + return ( + <> + + + + ); +} diff --git a/src/app/views/home/home-view.scss b/src/app/views/home/home-view.scss new file mode 100644 index 0000000..c3e569e --- /dev/null +++ b/src/app/views/home/home-view.scss @@ -0,0 +1,194 @@ +:host { + display: block; + width: 100%; + height: 100%; + & * { + box-sizing: border-box; + } +} + +.demo-container { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + align-items: stretch; + box-sizing: border-box; + igc-chip { + --ig-chip-hover-background: var(--ig-gray-300); + --ig-chip-focus-background: var(--ig-gray-300); + } +} + +.router-container { + width: 100%; + height: 100%; + overflow: hidden; +} + +.tab-container { + width: 100%; + min-height: 132px; + overflow: hidden; + flex-shrink: 0; + padding: 16px; + display: flex; + flex-direction: row; + justify-content: space-between; + background-color: var(--ig-surface-500); + box-sizing: border-box; + & a { + text-decoration: none; + display: block; + width: 100%; + height: 100%; + } +} + +.tab-item-container { + width: 100%; + height: 100%; + display: inline-flex; +} + +.tab-item { + height: 100%; + display: flex; + flex-grow: 1; + flex-basis: 0; + flex-direction: column; + justify-content: space-between; + gap: 8px; + padding: 12px; + cursor: pointer; + user-select: none; + border-bottom: 1px solid var(--ig-gray-300); + + &--selected { + border-bottom: 3px solid var(--ig-primary-500); + } + + &:hover { + background: hsl(from var(--ig-gray-100) h s l/0.5); + } +} + +.tab-header { + display: flex; + flex-direction: row; + gap: 8px; + color: var(--ig-gray-900); + font-size: 20px; + font-weight: 600; + line-height: 24px; + letter-spacing: 0.15px; + --ig-size: var(--ig-size-medium); + + &--disabled { + color: var(--ig-gray-700) !important; + } +} + +.tab-content { + display: flex; + flex-direction: column; + gap: 4px; + color: var(--ig-gray-900); + font-size: 14px; + font-weight: 400; + font-family: "aktiv-grotesk", sans-serif; + line-height: 20px; + letter-spacing: 0.25px; + + &--disabled { + color: var(--ig-gray-700) !important; + } +} + +.tab-actions { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + --ig-size: var(--ig-size-small); + --disabled-icon-color: #ffffff; + + igc-icon-button.button--disabled::part(base) { + background-color: var(--ig-gray-600); + color: #ffffff; + &:hover { + background-color: var(--ig-gray-800); + } + } + + igc-icon-button.button--enabled::part(base) { + background-color: #212121; + color: #ffffff; + &:hover { + background-color: var(--ig-gray-600); + } + } + + .learn-text { + text-decoration: none; + color: var(--ig-primary-500); + font-size: 14px; + font-weight: 700; + font-family: "aktiv-grotesk", sans-serif; + line-height: 20px; + + width: unset; + padding-bottom: 2px; + transition: background-size 350ms; + background: linear-gradient(0deg, var(--bg-color), var(--bg-color)) no-repeat right bottom / 0 var(--bg-h); + --bg-h: 2px; + --bg-color: var(--ig-primary-500); + + &:where(:hover, :focus-visible) { + background-size: 100% var(--bg-h); + background-position-x: left; + } + + &.link--disabled { + color: var(--ig-primary-200); + --bg-color: var(--ig-primary-200); + + &:hover { + color: var(--ig-primary-500); + --bg-color: var(--ig-primary-500); + } + } + } +} + +.tooltip { + position: relative; + display: inline-block; + + & .tooltip--text { + visibility: hidden; + background: #85888fe6; + box-shadow: rgba(36, 37, 44, 0.2) 0px 2px 2px 0px; + color: white; + padding: 4px 8px; + font-size: .625rem; + border-radius: 4px; + min-height: 24px; + top: 100%; + left: 50%; + width: 120px; + transform: translateX(-50%) translateY(5px); + text-align: center; + position: absolute; + z-index: 1; + font-family: var(--ig-font-family); + opacity: 0; + transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); + } + &:hover > .tooltip--text { + opacity: 1; + transform: translateX(-50%) translateY(0); + visibility: visible; + transition-delay: 1s; + } +} diff --git a/src/app/views/home/home-view.tsx b/src/app/views/home/home-view.tsx new file mode 100644 index 0000000..15ae827 --- /dev/null +++ b/src/app/views/home/home-view.tsx @@ -0,0 +1,142 @@ +import { useEffect, useState } from 'react'; +import { NavLink, useLocation } from 'react-router-dom'; +import { IgrChip, IgrIcon, IgrIconButton, IgrRipple, registerIcon } from 'igniteui-react'; +import 'igniteui-react-grids/grids/themes/light/material.css'; +import './home-view.scss'; + +import FILE_DOWNLOAD from '../../data/icons/file_download.svg'; + +export interface TabInfo { + title: string; + theme: string; + content: string; + moreLink: string; + downloadLink: string; +} + +interface TabItemProps { + isActive?: boolean, + tabInfo?: TabInfo, +} + +export function TabItem({isActive, tabInfo}: TabItemProps) { + + function onLinkClick(event: any) { + window.open(tabInfo?.moreLink, "_blank")?.focus(); + event.preventDefault(); + event.stopPropagation(); + } + + function onDownloadClick(event: any) { + const downloadLink = tabInfo?.downloadLink; + window.open(downloadLink, "_blank")?.focus(); + event.preventDefault(); + event.stopPropagation(); + } + + return ( +
+
+
+ {tabInfo?.title} + {tabInfo?.theme} +
+
+ {tabInfo?.content} +
+
+ Learn more +
+ + + + + Download sample. +
+
+
+
+ ); +}; + +export default function HomeView() { + const tabInfo = new Map([ + [ + "inventory", + { + title: "ERP/ Inventory", + theme: "Material Light", + content: "Tracking and managing quantity, location and details of products in stock.", + moreLink: "https://www.infragistics.com/products/ignite-ui-angular/angular/components/hierarchicalgrid/hierarchical-grid", + downloadLink: "https://www.infragistics.com/resources/sample-applications/erp-inventory-sample-app", + }, + ], + [ + "hr-portal", + { + title: "Org Chart/HR Portal", + theme: "Fluent Light", + content: "Displaying company's hierarchical structure and showing employees data.", + moreLink: "https://www.infragistics.com/products/ignite-ui-angular/angular/components/treegrid/tree-grid", + downloadLink: "https://www.infragistics.com/resources/sample-applications/org-charthr-portal-sample-app", + }, + ], + [ + "finance", + { + title: "Financial Portfolio", + theme: "Bootstrap Light", + content: "Asset tracking, profit and loss analysis, featuring interactive dynamic charts.", + moreLink: "https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/grid", + downloadLink: "https://www.infragistics.com/resources/sample-applications/financial-portfolio-sample-app", + }, + ], + [ + "sales", + { + title: "Sales Dashboard", + theme: "Indigo Light", + content: "For trend analysis, KPIs and viewing sales summaries by region, product, etc.", + moreLink: "https://www.infragistics.com/products/ignite-ui-angular/angular/components/pivotGrid/pivot-grid", + downloadLink: "https://www.infragistics.com/resources/sample-applications/sales-grid-sample-app", + }, + ], + [ + "fleet", + { + title: "Fleet Management", + theme: "Material Dark", + content: "A master-detail grid for managing vehicle acquisition, operations, and maintenance.", + moreLink: "https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/master-detail", + downloadLink: "https://www.infragistics.com/resources/sample-applications/fleet-management-sample-app", + }, + ], + ]); + const location = useLocation(); + const [gridView, setGridView] = useState("inventory"); + + useEffect(() => { + registerIcon("file_download", FILE_DOWNLOAD, "custom"); + }, []); + + useEffect(() => { + setGridView(location.pathname.replace("/home/", "")); + }, [location]); + + return ( +
+
+ {['inventory', 'hr-portal', 'finance', 'sales', 'fleet'].map(tabName => + + {({ isActive }) => ( + + )} + + )} +
+
+